Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > C++ не знаю какой учить


Автор: _Nexx 4.12.2007, 23:02
Решил изчать с++ и совсем запутался, как я понял есть несколько синтексисов для с++, для консоли(подобие доса) и оконные(для винды)
Что учить, что реально в будушем поможет при работе и т.д. что учить .что читать и каким кампиляторам пользоваться. пожалйста ответьте),

Автор: MAKCim 4.12.2007, 23:08
_Nexx
поищите сначала по форуму
подобные темы не раз поднимались

Автор: _Nexx 4.12.2007, 23:21
вот потому и открыл изначально поискал но сыщик из меня ни какой(( и потому написал пожалуйсто ответи

Автор: Random13 4.12.2007, 23:27
В опчем если учить С++ основательно то нужно двигаться в таком направлении
С, С++, Windows API, MFC.
Ну это как бы мой путь - все зависит от того какую ты цель ставишь. Можно всю жизнь неплохо проработать на Юниксе или реал тайме и никакие винды тебе на фик нужны не будут...

Автор: _Nexx 4.12.2007, 23:31
я имею ввиду именно с++, а проблема мою заключатеся в том что две  разновидности с++
1)- консольные программы, когда окошечко оля дос
2)- оконные приложения виндос(компилятор -Borland c++ 6.0) Вот как я знаю в них различный синтаксис, вот и встает вопроскакой учить и че читать

И как я в одной книге прочел, многие програмисты не рекоминдуют учить с чтоб потом выучить с++

Автор: likehood 4.12.2007, 23:36
Цитата(_Nexx @  4.12.2007,  23:31 Найти цитируемый пост)
оконные приложения виндос(компилятор -Borland c++ 6.0)

Этот компилятор действительно имеет нестандартные расширения синтаксиса, за что его многие и не любят. Но это не единственный компилятор/среда для написания оконных программ. Есть тот же Visual C++. В любом случае, начать нужно с изучения самого языка.

Автор: _Nexx 4.12.2007, 23:40
ну а есть такое весомое различие, ведь есть книжки и по с++ именно для оконных программ, тож для програмистов с нуля

Автор: Random13 4.12.2007, 23:43
С++ написан на С, так же как у MFC в основе WINDOWS API .
Можно учить и программировать сразу на МФС не зная ничего остального - пока идет все по шаблону и нет никаких отклонений. Смотря какую ты цель ставишь.
Просто С++ и С разные языки и у них философия разная, поэтому философия С может немного мешать при изучении С++. Но С++ написан на С, знание С помогает понимать как все на С++ устроено, что значит выделить память, что значит ее инициализировать, работа с битами и много чего другого - имплементация внутри методов и функций в С++ - это С.

Автор: JackYF 4.12.2007, 23:44
Цитата(_Nexx @  4.12.2007,  23:31 Найти цитируемый пост)
консольные программы, когда окошечко оля дос

консоль != DOS
распечатать и повесить на стенке.

---
Ты можешь пойти и другим путём. Учить прежде всего язык, семантику, идиомы С++. Писать консольные приложения. Полгода хотя бы. Затем (а лучше, позже smile) можно приниматься и за GUI - можно попробовать кроссплатформенные тулкиты - QT, GTK, wxWidgets. В будущем это отразится в меньшей завязке GUI на ОС.

Добавлено через 2 минуты и 27 секунд
Под консоль программирование не заканчивается HelloWorld, оно даже на этом не начинается. В консольных приложениях легче не отвлекаться не кнопочки и формошлёпство, а учить и оттачивать знание языка и алгоритмов.
Впрочем, это всё уже не десяток раз повторялось.

Одно из главных умений [будущего]программиста - искать информацию. В том числе и по форуму.

Автор: likehood 4.12.2007, 23:47
Цитата(Random13 @  4.12.2007,  23:43 Найти цитируемый пост)
С++ написан на С

не знаю, что ты понимаешь под словом "написан", но многие не согласятся с твоим утверждением

Цитата(_Nexx @  4.12.2007,  23:40 Найти цитируемый пост)
ну а есть такое весомое различие, ведь есть книжки и по с++ именно для оконных программ

обычно самому языку в таких книжках уделяется весьма поверхностное внимание, а часто предполагается, что читатель уже знает С++

Автор: JackYF 4.12.2007, 23:48
Цитата(_Nexx @  4.12.2007,  23:31 Найти цитируемый пост)
многие програмисты не рекоминдуют учить с 

верно. Не учи С. Учи сразу С++.

Автор: likehood 4.12.2007, 23:48
Цитата(JackYF @  4.12.2007,  23:44 Найти цитируемый пост)
Одно из главных умений [будущего]программиста - искать информацию. В том числе и по форуму.

хорошо сказано!

Автор: JackYF 4.12.2007, 23:49
Цитата(_Nexx @  4.12.2007,  23:40 Найти цитируемый пост)
ведь есть книжки и по с++ именно для оконных программ

как показывает практика, их c самого начала брать не очень стоит. Самому языку там, как правило, [почти] не учат. Бывают и исключения.

Автор: Random13 4.12.2007, 23:51
Скажем так - С - процедурный язык, в основном используется при работе с реал таймом, в Юниксе и т.д... С++ - объектно ориентированный язык, написанный на С. 
Виндовс АйПиАй - это можно сказать процедурный язык для работы с окнами под винды, написанный на С++, на С++ написаны классы для работы с окнами для него.
MFC язык уже с конкретными шаблонами - в основе Windows API. Так как многие проги под винды похожи, там есть конкретные шаблоны и работа с ними, многие вещи тоже инкапсулированы и ты их не видишь.
Но если тебе прийдется писать прогу, скажем обрабатывающую железяку через USB, работать с драйвером, или просто построить свою иерархию классов в MFC, опираясь на С++ и Windows API знания чистого MFC (Visual C++) тебе мало помогут.

Автор: JackYF 4.12.2007, 23:54
Цитата(Random13 @  4.12.2007,  23:51 Найти цитируемый пост)
С++ - объектно ориентированный язык, написанный на С. 

язык не может быть на чём-то написан. С был подмножеством С++. Сейчас это два разных языка.

От себя советую ни в коем случае не учить MFC. Эта технология считается устаревшей и давно не поддерживается.
Лучше уже c++.net. Это если под Windows. Под юникс - чистые "С/С++" + много хороших библиотек доминируют.

Автор: Random13 5.12.2007, 00:07
Цитата(JackYF @ 4.12.2007,  23:54)
язык не может быть на чём-то написан. С был подмножеством С++. Сейчас это два разных языка.

Если С++ не написан на С и независим от него, тогда почему в нем применяется статическое связывание, а не динамическое, как в Жаве? Почему в классе есть конкретный указатель на конкретную таблицу виртуальных функций ? Вся имплементацияя С++ в основе больше 90 процентов - это С.

Автор: MAKCim 5.12.2007, 00:16
Цитата(Random13 @  4.12.2007,  23:51 Найти цитируемый пост)
С++ - объектно ориентированный язык, написанный на С. 

имелся в виду компилятор?  smile 
не факт, очень даже не факт
разве что самые первые компиляторы С++
Цитата(Random13 @  5.12.2007,  00:07 Найти цитируемый пост)
Если С++ не написан на С и независим от него, тогда почему в нем применяется статическое связывание, а не динамическое, как в Жаве? Почему в классе есть конкретный указатель на конкретную таблицу виртуальных функций ? Вся имплементацияя С++ в основе больше 90 процентов - это С. 

я никак не могу понять, какая связь между "C++ написан на С" и теми концепциями, которые ты назвал  smile 
и Java тут совсем не в тему

Автор: Greeen 5.12.2007, 00:22
Цитата(MAKCim @  5.12.2007,  00:16 Найти цитируемый пост)
и Java тут совсем не в тему

Тут вообще много чего не в тему:
Цитата(Random13 @  4.12.2007,  23:51 Найти цитируемый пост)
Виндовс АйПиАй - это можно сказать процедурный язык для работы с окнами под винды, написанный на С++

Цитата(Random13 @  4.12.2007,  23:51 Найти цитируемый пост)
MFC язык уже с конкретными шаблонами

Автор: Random13 5.12.2007, 00:25
Жава тут в тему. Вот она независима ни от какого другого языка, так же как С#.
С++ же зависим от С, от средств, имеющихся в С, инкапсулируй его, сделай динамическое связывание и получишь C#.
То есть Жаву фирмы майкрософт - это уже не будет С++...

Добавлено через 1 минуту и 53 секунды
Цитата(Greeen @ 5.12.2007,  00:22)
Тут вообще много чего не в тему:

Ну это для тебя не в тему. Человек собирается учить и спрашивает - я ему и объясняю на пальцах ху из ху...

Автор: Greeen 5.12.2007, 00:29
Цитата(Random13 @  5.12.2007,  00:25 Найти цитируемый пост)
С++ же зависим от С

 smile  smile  smile 

Цитата(Random13 @  5.12.2007,  00:25 Найти цитируемый пост)
Ну это для тебя не в тему. Человек собирается учить и спрашивает - я ему и объясняю на пальцах ху из ху

объяснять на пальцах - это одно, а нести бред (например называя mfc языком с шаблонами) - это совсем другое... ты уж не обижайся, но такими советами ты просто запутаешь человека

Автор: Random13 5.12.2007, 00:34
Цитата(Greeen @ 5.12.2007,  00:29)

объяснять на пальцах - это одно, а нести бред (например называя mfc языком с шаблонами) - это совсем другое... ты уж не обижайся, но такими советами ты просто запутаешь человека

В МФС ты в начале проекта выбираешь его шаблон - мульти документ или сингл, с датабейс или нет и так далее. то есть изначальный шаблон - костяк программы - в чем тут бред ?

Автор: MAKCim 5.12.2007, 00:35
Цитата(Random13 @  5.12.2007,  00:25 Найти цитируемый пост)
Ну это для тебя не в тему. Человек собирается учить и спрашивает - я ему и объясняю на пальцах ху из ху... 

последние ваши посты - это бред
извините, но это так

Добавлено через 2 минуты и 8 секунд
Цитата(Random13 @  5.12.2007,  00:34 Найти цитируемый пост)
В МФС ты в начале проекта выбираешь его шаблон - мульти документ или сингл, с датабейс или нет и так далее. то есть изначальный шаблон - костяк программы - в чем тут бред ? 

а использовать MFC без визардов нельзя?  smile 

Автор: Greeen 5.12.2007, 00:38
Цитата(Random13 @  5.12.2007,  00:34 Найти цитируемый пост)
В МФС ты в начале проекта выбираешь его шаблон - мульти документ или сингл, с датабейс или нет и так далее. то есть изначальный шаблон - костяк программы - в чем тут бред ?

Тип проекта ты выбираешь в визарде, который по сути к самой библиотеке никакого отношения не имеет. Можно и самому написать прогу, генерирующую костяк MFC-приложения. Каким термином ты ее назовешь?!

Добавлено через 11 секунд
Не важно. Пустой разговор пошел.

Автор: Random13 5.12.2007, 00:39
Цитата(MAKCim @ 5.12.2007,  00:35)
последние ваши посты - это бред
извините, но это так

Извиняться не за что у каждого право на свое видение.
Тем более не вижу особо доводов в пользу вашей теории о бредовости моей.

Автор: MAKCim 5.12.2007, 00:44
Цитата(Random13 @  5.12.2007,  00:39 Найти цитируемый пост)
Тем более не вижу особо доводов в пользу вашей теории о бредовости моей. 

Цитата(Random13 @  4.12.2007,  23:43 Найти цитируемый пост)
С++ написан на С

Цитата(Random13 @  4.12.2007,  23:43 Найти цитируемый пост)
имплементация внутри методов и функций в С++ - это С. 

Цитата(Random13 @  4.12.2007,  23:51 Найти цитируемый пост)
С++ - объектно ориентированный язык, написанный на С. 

Цитата(Random13 @  4.12.2007,  23:51 Найти цитируемый пост)
Виндовс АйПиАй - это можно сказать процедурный язык для работы с окнами под винды, написанный на С++

Цитата(Random13 @  4.12.2007,  23:51 Найти цитируемый пост)
MFC язык уже с конкретными шаблонами

Цитата(Random13 @  5.12.2007,  00:07 Найти цитируемый пост)
Вся имплементацияя С++ в основе больше 90 процентов - это С. 

Цитата(Random13 @  5.12.2007,  00:25 Найти цитируемый пост)
Жава тут в тему. Вот она независима ни от какого другого языка, так же как С#.
С++ же зависим от С, от средств, имеющихся в С


Автор: Random13 5.12.2007, 00:45
Цитата(MAKCim @ 5.12.2007,  00:35)
а использовать MFC без визардов нельзя?  smile

А использовать С++ без классов нельзя - пиши себе прогу на С - компилируй на С++ ?  smile 
В том одна из прелестей библиотек МФС, что они позволяют использовать такие шаблоны в визарде, в отличие от библиотек Виндовс АйПиАй. Это во-первых.
Во-вторых человек только ничинает учить - ты ему посоветуешь начинать освоение МФС без визарда и его шаблонов.  smile 

Автор: Greeen 5.12.2007, 00:49
Random13, визард - это не фича MFC. Это фича студии. Кстати там же есть "шаблон" (каркас) для WinAPI приложения.

Автор: MAKCim 5.12.2007, 00:49
_Nexx
посмотрите http://forum.vingrad.ru/forum/topic-163072/unread-1/hl/%25D0%25B8%25D0%25B7%25D1%2583%25D1%2587%25D0%25B5%25D0%25BD%25D0%25B8%25D0%25B5+%25D1%2581/index.html
http://forum.vingrad.ru/forum/topic-49632/unread-1/hl/%25D0%25B8%25D0%25B7%25D1%2583%25D1%2587%25D0%25B5%25D0%25BD%25D0%25B8%25D0%25B5+%25D1%2581/index.html
и http://forum.vingrad.ru/forum/topic-7168/unread-1/hl/%25D0%25B8%25D0%25B7%25D1%2583%25D1%2587%25D0%25B5%25D0%25BD%25D0%25B8%25D0%25B5+%25D1%2581/index.html

Автор: Greeen 5.12.2007, 00:50
Ты хочешь сказать, что C++ без классов - это C?

Автор: MAKCim 5.12.2007, 00:50
Тема закрыта

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)