ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|
Форум АНТИЧАТ
> ПРОГРАММИРОВАНИЕ
> С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
|
Начинаем программировать на C++, C#, ассемблере(win), Qt, Python, Java, AS3.
|
|
 |
|

10.01.2010, 17:06
|
|
Новичок
Регистрация: 09.01.2010
Сообщений: 20
Провел на форуме: 30549
Репутация:
2
|
|
А Visual C++ не слишком сложный, если в первый раз С++ изучаешь? Консольные приложения вроде сильно отличаются от приложений для Win
|
|
|

10.01.2010, 17:11
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Для начала надо выучить сам язык, а потом уже смотреть подо что писать. Что читать, чтобы выучить С++, написано в первом посте топика.
|
|
|

10.01.2010, 18:19
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Сообщение от Double2
А Visual C++ не слишком сложный, если в первый раз С++ изучаешь? Консольные приложения вроде сильно отличаются от приложений для Win
Visual C++, на мой взгляд, это то, что вообще стоит изучать. Есть бесплатная Visual C++ Express Edition, которой вполне достаточно для изучения.
Консольные приложения отличаются от Win32-приложений. Но не синтаксисом, а структурой и подходом. В любом случае для понимания языка желательно для начала писать консольные приложения, чтобы не отвлекаться на заморочки ООП.
|
|
|

10.01.2010, 18:32
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
желательно для начала писать консольные приложения, чтобы не отвлекаться на заморочки ООП.
Хм. И где тут связь? Мы на первом курсе в универе писали как раз консольные приложения для изучения ООП, чтобы не отвлекаться на работу с окнами(т.е. не связанное с ООП времятеряние). И учить с++ без ООП - верный путь писать программы на Си с приправкой из хреново спроектированных классов. Я уже писал про char*, itoa и прочую си шелуху в c++ программах. Сам такой путь прошел, поэтому и советую сразу писать в c++ материях. Консольные приложения для этого подходят идеально, благодаря cout и cin.
|
|
|

10.01.2010, 18:56
|
|
Новичок
Регистрация: 10.01.2010
Сообщений: 5
Провел на форуме: 31750
Репутация:
0
|
|
Хочешь начать программировать на ассемблере(под Windows)?
Тебе понадобится:
Компилятор.
MASM32 v 9. Скачать можно по ссылке:
http://wasm.ru/tools/7/masm32.zip
Среда программирования.
RadASM. Скачать можно по ссылке:
http://wasm.ru/tools/7/RadASM.zip
Отладчик.
OllyDbg 1.10. Скачать можно по ссылке:
http://wasm.ru/tools/9/odbg.zip
С компилятором все ясно, с отладчиком тоже. А в чем преимущество RadASM? Если там набирать только текст, то не лучше ли это делать, например, в notepad++?
Последний раз редактировалось Actor; 10.01.2010 в 19:09..
|
|
|

10.01.2010, 19:43
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Сообщение от Ra$cal
Хм. И где тут связь? Мы на первом курсе в универе писали как раз консольные приложения для изучения ООП, чтобы не отвлекаться на работу с окнами(т.е. не связанное с ООП времятеряние). И учить с++ без ООП - верный путь писать программы на Си с приправкой из хреново спроектированных классов. Я уже писал про char*, itoa и прочую си шелуху в c++ программах. Сам такой путь прошел, поэтому и советую сразу писать в c++ материях. Консольные приложения для этого подходят идеально, благодаря cout и cin.
Да, согласен. Насчёт окон - полностью согласен. Насчёт ООП - частично. Смотря как на это посмотреть. Ведь ООП - это не только С++. С таким же успехом можно и Delphi, и C#, и Java изучать. Это так и называется - изучать ООП. В независимости от языка. Но всё же С++ имеет свой синтаксис, свои отличия от остальных языков, которые он унаследовал прямиком от Си.
Поэтому в данном случае доля правды есть и у тебя, и у меня.
Я вот ООП стал изучать ещё в том время, когда школьником писал программы на паскале. Позже, опять же до университета, изучил Си. И только потом, в универе, взялся за С++. И нисколько не пожалел о том, что знаю о char*, itoa и прочую шелуху в С++-программах.
Последний раз редактировалось herfleisch; 10.01.2010 в 19:49..
|
|
|

10.01.2010, 20:26
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
Ведь ООП - это не только С++. С таким же успехом можно и Delphi, и C#, и Java изучать.
Верно, только в данном случае связь обратная : C++ -> ООП. Т.е. если учишь С++, учи программирование в ООП стиле.
Но всё же С++ имеет свой синтаксис, свои отличия от остальных языков, которые он унаследовал прямиком от Си.
Унаследовал не от лучшей жизни =) А чтобы быть совестимым с написанным кодом. Но это не значит, что человек должен писать на си, используя C++. Это очень важный момент, который часто путают. С++ и Си - совершенно разные языки. Общий только синтаксис да прямая работа с памятью.
И нисколько не пожалел о том, что знаю о char*, itoa и прочую шелуху в С++-программах.
Я не имею ничего против char* itoa итп. Но начинать учить C++ с них не стоит. Сначала стоит писать используя std::string, std::stringstream вместо sprintf и itoa. И когда освоишь C++ стайл - изучай си функции, которые потом можно использовать для оптимизации. Ибо если привыкнешь к itoa - переходить на другой стиль сложно. Проверено на себе. А смешивать си и с++ - плохо по определению(необоснованно смешивание. к оптимизации не относится)
|
|
|

10.01.2010, 20:49
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Сообщение от Ra$cal
Верно, только в данном случае связь обратная : C++ -> ООП. Т.е. если учишь С++, учи программирование в ООП стиле.
Т.е. выходит, если учишь С++ (не имея представления о Си), то напиши класс, создай объект, один из методов которого выводит строку "Hello, world!". Для остальных методов и свойств будь добр придумай применение, иначе не получится программа на С++? Ты же сам говорил несколькими постами выше о том, что все эти char* нужно выбросить во имя удобства разработки. Где тут удобство?
Сообщение от Ra$cal
Унаследовал не от лучшей жизни =) А чтобы быть совестимым с написанным кодом. Но это не значит, что человек должен писать на си, используя C++. Это очень важный момент, который часто путают. С++ и Си - совершенно разные языки. Общий только синтаксис да прямая работа с памятью.
Унаследовал не от лучшей жизни? Почему тогда C# и Java не унаследовали этот char*? Жить стали лучше?
Я и не оспариваю то, что С и С++ - совершенно разные языки. Это итак понятно. Но может быть не стоит забивать на основы языка только потому, что синтакис С++ идентичен синтаксису языка Си?
Сообщение от Ra$cal
Я не имею ничего против char* itoa итп.
Ещё бы... Это был бы полный маразм...
Сообщение от Ra$cal
Но начинать учить C++ с них не стоит.
А кто предложил начинать изучение с них?
Сообщение от Ra$cal
Сначала стоит писать используя std::string, std::stringstream вместо sprintf и itoa.
Извините, вы тут что-то напутали... Вставьте std::cout и char*
Сообщение от Ra$cal
И когда освоишь C++ стайл - изучай си функции, которые потом можно использовать для оптимизации. Ибо если привыкнешь к itoa - переходить на другой стиль сложно. Проверено на себе.
Ещё раз задаю вопрос: где я предложил начинать изучение с itoa ??? И раз уж на то пошло, что переходить с
Код:
int i;
int j = 0;
int k;
while (j <10000)
{
i = 1;
j++;
k = i+j;
}
ещё сложнее ))) "Проверено на себе" (С)
Если не понятен смысл - это я к постам про оптимизацию и время на разработку )))
Сообщение от Ra$cal
А смешивать си и с++ - плохо по определению(необоснованно смешивание. к оптимизации не относится)
Покажи мне определение, по которому плохо выделять эти языки в подгруппу Си-подобных. (Про Би, надеюсь, не будем вспоминать)
Дам понять напрямую ещё раз: нет смысла в этих спорах. Это всё равно, что размышлять что лучше: вилка или лошка.
Последний раз редактировалось herfleisch; 10.01.2010 в 20:54..
|
|
|

10.01.2010, 20:59
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Отклонюсь от споров и попрошу помощи.
Итак, среда разработки - Visual C# 2008 Express Edition, .NET Framework 3.5 SP1
ОС Windows Vista Home Premium SP2
По непонятным причинам при использовании элементов управления мерцают вкладки у TabControl. Мерцать стали с тех пор, как я привязал фоновый рисунок к форме, на которой расположен TabControl. Убираю фоновый рисунок (свойство BackgroundImage) - ничего не мерцает. Ставлю снова - начинает мерцать. Мерцает в режиме отладки, в откомпилированном виде и в режиме разработки интерфейса. Вобщем - всегда.
Кто что подскажет?
|
|
|

10.01.2010, 21:00
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
Вставьте std::cout и char*
Чтд. если есть std::cout, зачем юзать char*? Любое разумное обоснование? Чем лучше string'a ? Вот читаните на досуге.
http://www.research.att.com/~bs/new_learning.pdf
В Summary описывается то, что я пытаюсь втолковать.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|