Comments 59
Просьба ответить уважаемое хабрасообщество. Я, к сожалению. очень слабо знаком с программированием ( пока (: ), А в данном вопросе надо разобраться, еще и мотивировать руководству… Вопрос покупки того же VS не стоит, не в деньгах вопрос, а именно в целесообразности использования и полезности для клиентов… Обучение ведется без привязки к платформе. именно основы языка.
0
Качайте Visual C++ Express Edition, он абсолютно бесплатен и в нем есть все для обучения языку.
+3
для обучения блокнот (notepad ++)
+1
я конечно понимаю, старая школа, стремление к минимализму…
но зачем же себе усложнять жизнь печатая код в блокноте, потом переносить в студию, компилировать, смотреть ошибки и так в цикле…
это дурная работа, лучше сразу иде юзать
но зачем же себе усложнять жизнь печатая код в блокноте, потом переносить в студию, компилировать, смотреть ошибки и так в цикле…
это дурная работа, лучше сразу иде юзать
-4
Зачем переносить в студию? Компилируйте внешним компилятором. Такой подход позволит вам разобраться «как же это все работает».
Я так начинал изучать, + на сертификационном экзамене такие знания необходимы.
Я так начинал изучать, + на сертификационном экзамене такие знания необходимы.
+7
зачем переносить в студию? неужели без студии совсем нельзя разрабатывать?
компилировать можно через командную строку
а использование блокнота оправдано тем что понимаешь(запоминаешь, изучаешь, ну и так далее) больше, так как делаешь все сам, и нет большого количества автоматизированных процессов (которые делает IDE)
процесс обучение то как раз и направлен на то чтобы изучить, и скорость разработки (для которой и нужна IDE) здесь не важна
на С++ не писал, учился на JAVA, применение блокнота на ранних этапах было более чем оправдано
компилировать можно через командную строку
а использование блокнота оправдано тем что понимаешь(запоминаешь, изучаешь, ну и так далее) больше, так как делаешь все сам, и нет большого количества автоматизированных процессов (которые делает IDE)
процесс обучение то как раз и направлен на то чтобы изучить, и скорость разработки (для которой и нужна IDE) здесь не важна
на С++ не писал, учился на JAVA, применение блокнота на ранних этапах было более чем оправдано
+2
Навыки работы в IDE пригодятся, если впоследствии полученные знания захотят использовать. В очень многих софтостроительных компаниях именно Visual Studio используется для разработки.
Мое ИМХО. Уже больше 15 лет занимаюсь разработкой. Хорошо владею NetBeans, Eclipse, CodeWarrior, Visual Studio. По личному опыту — Visual Studio + Visual Assist вне конкуренции :(.
Мое ИМХО. Уже больше 15 лет занимаюсь разработкой. Хорошо владею NetBeans, Eclipse, CodeWarrior, Visual Studio. По личному опыту — Visual Studio + Visual Assist вне конкуренции :(.
+1
Готов вами поспорить. Никто вас не заставляет разрабатывать в блокноте, для серьезных задач свои инструменты. Но не зная азов, не стоит (на мой взгляд) садиться за IDE. Сначала нужно досконально разобраться в технологиях.
За годы моей практики (чуть меньше чем у вас :)) не раз убеждался в относительной «полезности» визардов и других помощников. Далеко не всегда они упрощают разработку.
За годы моей практики (чуть меньше чем у вас :)) не раз убеждался в относительной «полезности» визардов и других помощников. Далеко не всегда они упрощают разработку.
+2
Готов согласиться. Но тут многое зависит от модели обучения — «снизу вверх» или «сверху вниз». ХЗ что сейчас для новичков лучше. Да и вообще с++ ИМХО не лучший язык для обучения именно новичков — все-таки он шибко низкоуровневый.
Что мешает обучать непосредственно программированию в IDE где и отладка есть, и ошибки сразу подсвечиваются, и автодополнение — а тему «волшебная компиляция текстового файла в .exe» показать на том же gcc или коммандлайновой версии Visual C++? ИМХО, в «программировании для новичков» непосредственно волшебный процесс компиляции и линковки не то чтобы очень долгий или сложный.
Что мешает обучать непосредственно программированию в IDE где и отладка есть, и ошибки сразу подсвечиваются, и автодополнение — а тему «волшебная компиляция текстового файла в .exe» показать на том же gcc или коммандлайновой версии Visual C++? ИМХО, в «программировании для новичков» непосредственно волшебный процесс компиляции и линковки не то чтобы очень долгий или сложный.
0
эммм у модели «снизу вверх» нет конкурентов. Несколько раз уже замечал, зная как работают некоторые «черные ящики» можно с большой долей вероятности сказать как работает другой (паттерны и т.д.). Можно на основе этих «размышлений» избегать или исправлять ошибки. А не зная как это все работает с низкого уровня вам будет сложно разрабатывать «взрослые» программы. Разве нет?
+2
Я раньше был такого же мнения — только Visual Studio + Visual Assist, но в последнее время стал присматриваться к Eclipse+CDT и в итоге пользуюсь и тем и тем. VS+VA для кодирования и отладки, Eclipse+CDT для изучения чужого сложного кода — он для этого подходит намного лучше в нашем случае (сотни мегабайт исходников). К тому же в CDT есть несколько приятных вещей, которых нет в VA, например препроцессинг куска кода или подсветка перегруженных операторов другим цветом.
0
Если только основы языка, то Borland C++ 3.1 :)
А если серъезно советовал бы Visual Studio.
А если серъезно советовал бы Visual Studio.
-1
нас основам учили в борланд 3 кажется dos версия… вообщем то ничего лишнего не было.
позже Visual Studio, я бы не рекомендовал начинать учиться на Code gear rad studio ибо там слишком большой соблазн попрограммироваь мышкой… а на начальном этапе я думаю это губительно
позже Visual Studio, я бы не рекомендовал начинать учиться на Code gear rad studio ибо там слишком большой соблазн попрограммироваь мышкой… а на начальном этапе я думаю это губительно
0
Думаю, да и опыт подтверждает, не стоит начинать обучение с С/С++
+5
emacs + gcc
+8
Для новичка посоветовал бы Emacs.
+7
Так же отдаю свой голос за Borland Turbo C, но с некоторыми условиями.
1. Мы изучаем именно основы и именно Си. Так как на момент выхода среды (1992 год), современного стандарта языка cpp ещё принято не было, то и не всё из ООП в BTC работают.
2. Мы изучаем именно язык, а не программирование под win или технологию программирования на c/cpp.
1. Мы изучаем именно основы и именно Си. Так как на момент выхода среды (1992 год), современного стандарта языка cpp ещё принято не было, то и не всё из ООП в BTC работают.
2. Мы изучаем именно язык, а не программирование под win или технологию программирования на c/cpp.
-4
Я в свое время при изучении использовал Borland Turbo C.
Но ведь время идет, все меняется :) Сейчас бы, наверное, выбрал Visual Studio или C++ Builder. То есть полноценную среду разработки с автокомплитом и пр. Я сам был просто вынужден использовать Borland Turbo C потому, что не было достаточно хорошего компьютера.
Хотя в обучении, наверное, все же не среда важна :)
Но ведь время идет, все меняется :) Сейчас бы, наверное, выбрал Visual Studio или C++ Builder. То есть полноценную среду разработки с автокомплитом и пр. Я сам был просто вынужден использовать Borland Turbo C потому, что не было достаточно хорошего компьютера.
Хотя в обучении, наверное, все же не среда важна :)
-2
Qt Creator
и просто для С++ хорош, и еще и под Qt заточен
вообще для новичка нужно разве что автодополнение кода (ну кроме подсветки) + документация
документации в инете полно, а с автодополнением — почти каждая IDE
и просто для С++ хорош, и еще и под Qt заточен
вообще для новичка нужно разве что автодополнение кода (ну кроме подсветки) + документация
документации в инете полно, а с автодополнением — почти каждая IDE
0
Только в обычном текстовом редакторе, никаких IDE. Изучить как это на самом деле работает, как из исходного кода получается программа. Освоить написание простейших Makefile. А освоить ту или иную IDE — это уже мелочи, главное научиться программировать. А то есть такие программисты, которых научили батоны на формы вешать, а какой нибудь мало-мальски сложный алгоритм реализовать немогут.
+2
пока запускается эклипс можно скачать C++ express
+12
1. Любой редактор с подсветкой синтаксиса, например, kate или notepad++. Главное, что бы это было не IDE.
2. Компилятор + linker из консоли.
3. Затем можно Makefile освоить.
4. После того, как эти шаги отточены и поняты можно браться за IDE.
Если освоить шаги в такой последовательности, то будет очень просто перейти к continuous integration и nunit тестированию.
2. Компилятор + linker из консоли.
3. Затем можно Makefile освоить.
4. После того, как эти шаги отточены и поняты можно браться за IDE.
Если освоить шаги в такой последовательности, то будет очень просто перейти к continuous integration и nunit тестированию.
+2
Другое:
1. Текстовый редактор (emacs/vi/notepad++)
2. make/Makefiles
3. gcc/mingw
Основам только так и строго обязательно. Иначе нормальный программист не получится.
1. Текстовый редактор (emacs/vi/notepad++)
2. make/Makefiles
3. gcc/mingw
Основам только так и строго обязательно. Иначе нормальный программист не получится.
+3
А вы не выбирайте — используйте и то и другое, пусть ученики поймут основные принципы работы в IDE, без привязки к какому-то конкретному.
Если решите все же привязываться к одной IDE — я бы советовал Visual Studio и вот почему. Visual Studio — это промышленный стандарт для разработки под Windows. Для разработки под *NIX такого стандарта нет, поэтому те, кто будут разрабатывать под *NIX всё равно будут выбирать себе IDE из присутствующего многообразия и не факт, что остановятся именно на эклипсе.
Если решите все же привязываться к одной IDE — я бы советовал Visual Studio и вот почему. Visual Studio — это промышленный стандарт для разработки под Windows. Для разработки под *NIX такого стандарта нет, поэтому те, кто будут разрабатывать под *NIX всё равно будут выбирать себе IDE из присутствующего многообразия и не факт, что остановятся именно на эклипсе.
0
Code::Blocks, потому что он быстрый и простой в использовании.
+1
если будете изучать при помощи студии то сможете отвязяться от проблем с сборкой, настройкой, запуском — код написал, и запустил. Что происходит в промежутке — неизствестно но оно работает. Таким образом человек научится писать код, но не будет понимать как из кода возникает бинарник. Потом брошенный в разработку чего-то неизвестного человек потеряется — он ведь привык чтобы из кода программа возникала сама.
другой вариант — эклипс. Тут вам придется указать компилятор, заодно увидят и остальные настройки проекта. Сразу же конечно ничего не заработает, придется немного покопаться. Таким образом помимо самого кода вы научите людей не боятся разбираться с разными полезными программами, да и они будут разделять понятия IDE и компилятор.
другой вариант — эклипс. Тут вам придется указать компилятор, заодно увидят и остальные настройки проекта. Сразу же конечно ничего не заработает, придется немного покопаться. Таким образом помимо самого кода вы научите людей не боятся разбираться с разными полезными программами, да и они будут разделять понятия IDE и компилятор.
0
Я знаю людей, которые на вопрос «чем компилируешь?» отвечают «F7». Поэтому никаких IDE в начале обучения. А то потом возникает полное непонимание того, какие файлы исходного кода в какие объектные файлы входят, почему именно так работают extern и static (и особенно ститические члены классов) и многие другие вопросы.
0
С постановки задачи я бы начал
+1
Учиться нужно писать руками. Собственноручно разбираться в процессе построения программы из исходников в готовый к установке вид, чтобы не спотыкаться на вопросах менеджмента ПО.
В идеале (как математику требуется только бумага и карандаш) для обучения программированию требуется простейший текстовый редактор и командная строка для запуска компилятора с отладчиком.
А вот после изучения азов, когда они уже начинают превращаться в рутину и мешать творческому процессу, уже можно браться за IDE и изучать удобные инструменты разработки и сопровождения разрабатываемого ПО.
В идеале (как математику требуется только бумага и карандаш) для обучения программированию требуется простейший текстовый редактор и командная строка для запуска компилятора с отладчиком.
А вот после изучения азов, когда они уже начинают превращаться в рутину и мешать творческому процессу, уже можно браться за IDE и изучать удобные инструменты разработки и сопровождения разрабатываемого ПО.
+2
vim or emacs + gcc + make
0
Visual Studio, как никак промышленный стандарт под win, все равно под ней придется работать, если под linux vim + make. Borland C бессмысленно, стандарты языка и С и С++ изменились довольно значительно, да никаких полезных навыков для современной работы не будет. Блокнот для извращенцев и любителей отладки printf-ом.
+3
UFO just landed and posted this here
Практиков обучайте с использованием той среды, с которой планируется работать.
Для академического же обучения используйте блокнот.
Для академического же обучения используйте блокнот.
0
Xcode
0
UFO just landed and posted this here
Нам в универе говорили пользоваться Express студией
0
Если необходимо именно обучать и именно начинающих программистов, то просто необходим IDE, с удобными средствами отладки (чтобы новички могли посмотреть значения переменных, и сложных типов). И Visual C++ здесь вне конкуренции поскольку более мощного и быстрого отладчика просто нет. (CDT в разы более медленнее, при пошаговом исполнении программы)
Разработка же в текстовом редакторе потребует разъяснения таких понятий как единицы компиляции и компоновка, что уже выходит за рамки начального обучения.
Разработка же в текстовом редакторе потребует разъяснения таких понятий как единицы компиляции и компоновка, что уже выходит за рамки начального обучения.
0
Новичкам надо не в отладчике смотреть, когда они еще не понимают что смотреть и зачем, а отладочную печать освоить.
Отладчик вообще нужен очень редко. Лично я отладчик смотрю обычно только чтобы посмотреть, где вылетает по сегфолту.
И что в компиляции осваивать? То, что компилятор из исходного текста делает объектный файл, а потом все объектные файлы нужно связать в один? Вы преувеличиваете трудность освоения этого процесса порядка на два.
Отладчик вообще нужен очень редко. Лично я отладчик смотрю обычно только чтобы посмотреть, где вылетает по сегфолту.
И что в компиляции осваивать? То, что компилятор из исходного текста делает объектный файл, а потом все объектные файлы нужно связать в один? Вы преувеличиваете трудность освоения этого процесса порядка на два.
0
Людей, способных смоделировать все выполнение комплексной программы в голове и потому не нуждающихся в отладчике, не нужно обучать программированию, они сами разберутся.
Детали же процесса компиляции я не называл сложными, я лишь отметил что они выходят за рамки начального обучения.
Детали же процесса компиляции я не называл сложными, я лишь отметил что они выходят за рамки начального обучения.
0
Я понял, что Вы имеете в виду. Не согласен с Вами по сути.
С Visual Studio начинающие будут тратить время начального изучения на то, чтобы выучить, где какие кнопочки нажимать. Скажем первые два-три часа.
Аналогично, при работе с текстовым редактором за те же 2-3 часа они уже поймут кто и что компилирует, для чего компоновщик, как использовать отладочную печать.
Начинающие обычно пишут простые программы.
Отладочная печать гораздо удобнее отладчика как при написании простых, так и сложных программ. Отладчик нужен очень в небольшом количестве специфических случаев. Начинающим он нафиг не нужен.
С Visual Studio начинающие будут тратить время начального изучения на то, чтобы выучить, где какие кнопочки нажимать. Скажем первые два-три часа.
Аналогично, при работе с текстовым редактором за те же 2-3 часа они уже поймут кто и что компилирует, для чего компоновщик, как использовать отладочную печать.
Начинающие обычно пишут простые программы.
Отладочная печать гораздо удобнее отладчика как при написании простых, так и сложных программ. Отладчик нужен очень в небольшом количестве специфических случаев. Начинающим он нафиг не нужен.
0
На самом деле в Visual Studio достаточно выучить 2 кнопки. F5 — run, F10 — step over. После этого можно целый семестр учить синтаксис, структурное программирование, основы ООП итд итп.
Подход же к обучению и его программа будет зависеть от образовательного учреждения.
В профильном ВУЗе изучение процесса компиляции необходимо. В других случаях на нем не стоит останавливаться.
Подход же к обучению и его программа будет зависеть от образовательного учреждения.
В профильном ВУЗе изучение процесса компиляции необходимо. В других случаях на нем не стоит останавливаться.
0
Sign up to leave a comment.
Какую среду разработки разумнее использовать для обучения начинающих программистов на C\C++?