2009-07-30 3 views
13

Для кого-то, кто только начинает программировать, вы бы порекомендовали использовать vim/emacs, или вы должны использовать некоторую среду IDE? Как vim/emacs лучше подходят для более продвинутых пользователей, чем для новичков? Мне просто интересно, потому что я пытаюсь заставить некоторых из моих друзей программировать.Вы порекомендовали бы vim/emacs для начинающих программистов?

+0

На каком языке вы думаете? – JasonFruit

+0

Mm вероятно Java, проще для новичков, чем C++ – Lucky

+1

довольно старый вопрос, однако мой +1. Пожалуйста, научите их Python. Я всегда предпочел бы наряду с изучением языка программирования, проблемы программирования действительно необходимы, чтобы их решить, чтобы они выросли как хорошие инженеры. Поэтому Python очень уместен, чтобы учиться как язык из-за его простого синтаксиса, и вы можете почти все делать с Python. – asyncwait

ответ

16

Если они только начинают программировать, я бы не рекомендую VIM для начала.

  1. они будут иметь достаточно на их пластине, чтобы начать с изучения тонкостей программирования
  2. в зависимости от языка/платформы, я думаю, что они ценят в IDE с кодом завершения, общая языковая поддержка и т.д. . (Я знаю, что вы можете сделать это в VIM, но в среде IDE он намного более плавный).

Примечание. Я поклонник VIM, и я запускаю свои IDE с плагинами VIM, поэтому я ничего не имею против VIM как такового.

Отмечу, что в ваших комментариях вы изучаете их Java. BlueJ - это Java IDE, предназначенная для обучения Java, и может быть полезным вводным инструментом.

+0

Я бы также добавил, что в большинстве IDE есть ярлыки или плагины с полу-VIM/полу-emacs, готовые к добавлению, когда вы хотите активировать ... Возьмите Visual Studio, например, большинство людей просто даже не знали, что VS имеет множество макросов emacs, которые уже активированы с самого начала ... и затем они думают, что некоторые удивительные ярлыки были VS ... – chakrit

+0

С другой стороны, это разрушит их восприятие программирования без ремонта. –

+1

Я нашел, используя vim при запуске программы, я научился не использовать идеал как таковой. Я могу их оценить, но я также знаю, как смотреть документы и находить информацию, и я нахожу много начинающих программистов, если они начинаются с IDE, особенно с Java. – icco

1

VI и НКУ, ничего

+3

что делать? – chakrit

+0

Я не думаю, что make полезен для новичков. То, что должен знать новый программист, - это «как думать», а затем связь между программой и O.S. Позвольте ему написать краткую программу (классический мир привет: D) скомпилировать и понять, что ему не нужно знать никаких других инструментов, чтобы улучшить его знания в программировании. Тогда он будет сосредоточен только на кодировании и больше не будет в инструменте. Возможно, измените vi для графического редактора, но без помощника кода, пожалуйста: D. –

1

редакторы, кажется, щекотливая тема. Кажется, это личное предпочтение. Единственная причина, по которой я когда-либо учился vim, был из-за того, что мне приходило на работу. Единственная причина, по которой я когда-либо пользовался emacs, была из-за школы. Сказав это, я думаю, что просто использование доступных инструментов разработки (VS для .net framework, Eclipse/NetBeans для Java и т. Д.) Было бы лучше, на мой взгляд, но опять же, его определенно личным предпочтением.

9

Избегая субъективного вопроса о выборе редактора, речь идет не только о продвинутом/начинающем, поскольку слишком много изучают. Вероятно, хорошая идея отделить кривую обучения кодированию от кривой обучения редактора. Если вы заняты обучением коду, используйте редактор, который вам уже нравится (не обязательно должен быть IDE, может быть gedit и т. Д.). После удобного кодирования вы можете перейти к редактору по вашему выбору, если вам не нравится то, что вы уже знали. Передовой кодер может по-прежнему предпочитать простой редактор, и тот, кто слишком многому научился, может все же захотеть работать быстрее и переключиться на Vim.

1

Это зависит от того, на какой платформе и языке вы планируете начать, а затем сводится к индивидуальным предпочтениям. Если это окна и вы планируете делать C#/VC++/VB, тогда Visual Studio IDE является лучшим.

Я использовал emacs, когда начал работать на Scheme и python, и нашел его удобным.

веселит

2

Я ни в коем случае не EMACS свист, но с точки зрения обучения основам нового языка я думаю, что это handy.An IDE может быть отвлечение от того, что вы пытаетесь узнать (So вы в конечном итоге тратите время на изучение IDE, а не на язык), а emacs обеспечивает как хорошую отступы, так и подсветку синтаксиса, а также легкий доступ для компиляции, отладки и доступа к оболочке.

+1

Вы думаете, что сложнее изучить IDE, чем изучать emacs? –

+0

Ни в коем случае, я говорю, что изначально отказ от IDE позволяет вам больше сосредоточиться на самом языке. IDE - это производительность, а не знание языка. Чем более тщательно вы понимаете язык, тем больше вы можете использовать IDE. – cmsjr

3

Независимо от того, какой редактор вы выберете, у вас есть скриншот рядом с вашим экраном.

3

Люди либо любят vi (или emacs), либо ненавидят его независимо от их уровня мастерства в качестве программистов.

5

Поскольку вы говорите, что предлагаете им Java, Eclipse - это, вероятно, путь. Если бы вы предложили Common Lisp, я бы сказал Emacs без колебаний.Для Python и т. Д. Я бы сказал, что использовать любой текстовый редактор, который они знают сейчас; vi, vim, Emacs, Geany, что угодно. Но для Java Eclipse довольно хороший стандартный выбор.

2

Я знаю, что я собираюсь проголосовать за легион людей emacs/vi здесь, но с точки зрения изучения языка, IDE с intellisense (или что-то, что называется общей версией) абсолютно необходимо. Например, если вы используете визуальную студию, вы почти не будете проводить время с IDE. Автоматическое завершение ясно показывает отношения переменных-членов и делает так, что вам не нужно запоминать мелодии. Масштабирование и разрешение типа также неоценимы для новичка. Самое главное, однако, что все, что вы используете, содержит отладчик промышленной силы. Ведение журнала со строками в текстовом файле - это не путь жизни. Даже легион любителей emacs, вероятно, признает, что кто-то гораздо более продуктивен с профессиональной IDE, и новичок гораздо менее подвержен разочарованию. Теперь, если вы идете с чем-то открытым/свободным, ваш опыт может отличаться.

+2

Я vim diehard, и я думаю, что это выше на деньги. Мне потребовалось много времени, чтобы перейти на IDE, и моя производительность взлетела, как только я это сделал. Я использую vim-плагин с Eclipse, чтобы получить лучшее из обоих миров, но если вы настаиваете на работе с vim перед лицом современных современных IDE (например, Eclipse или Intellij для Java), то я думаю, что вы делаете себе плохую услугу , –

+2

Я думаю, что это сильно зависит от языка и насколько тесно он и его проектные структуры привязаны к определенной IDE. Я бы не писал C# .NET без Visual Studio, но я никогда не видел преимуществ, пытающихся использовать IDE для Python, PHP и т. П.Я использую Emacs для них, но я бы не мечтал об этом для Java или C# .NET. – JasonFruit

+1

Нет, если они действительно начинают программировать intellisense, это не путь. Вероятно, это путает нового пользователя со всей его помощью. Конечно, они могут написать программу «Hello world», создав новый проект, но это не программирование. –

12

Когда я преподавал C & C++ коммерчески, еще в конце 80-х - начале 90-х годов, мы выполнили все наши учения в блоках UNIX, а vi - редактор. Многие из наших клиентов были пользователями MSDOS (и более поздними Windows). Эти ребята имели в день № 1 5-дневного курса, чтобы изучить основы UNIX и основы vi, в то же время, когда они изучали C и C++. Они все сулили, как сумасшедшие (и я не мог их обвинить), но все это им удалось.

Возможно, тогда мы ожидали гораздо больше друг от друга. Тем не менее, мы не изменились генетически в течение этого короткого периода, поэтому, если бы они могли легко изучить vi, то программисты сегодня могут также изучить его, без особых проблем.

+0

+1 Я использую vi так долго, что даже не помню, чтобы узнать его. Но я определенно использовал его, кстати, чтобы получить реальную работу. Я не помню ощущения *, что * перегружены. Когда вы узнаете, как двигаться, как нажать побег и как нажать «i», вы можете использовать Vim. – JasonSmith

+0

Также много лет спустя мне пришлось использовать фактический «vi» в реальном Unix для учебного курса один раз. Я только использовал Vim, я был очень страшен в vi. – JasonSmith

+0

Я сделал один из этих курсов - если бы нам не пришлось изучать vi и все ужасные изменения режима, возможно, мы могли бы узнать больше C, а не тратить полтора дня на редактора. – Mark

2

Если вы только начинаете, и вы изучаете Java, я бы выбрал одну из графических IDE. Да, что-то вроде Eclipse или Netbeans довольно раздуто, но это не меняет того факта, что они делают барьер для входа ниже с предлагаемыми исправлениями ошибок и тому подобное.

vi или emacs в сочетании с gcc отличные, но с самого начала я хотел бы начать с чего-то более начинающего.

2

Если они начинают изучать программирование, лучше начать с простого текстового редактора, такого как gedit или geany. Но научиться использовать emacs или vi по дороге будет чрезвычайно интересным. Это может быть хорошей идеей, чтобы изучить emacs, используя для текстовых файлов (заметки, списки дел), поэтому нет отвлечения внимания на особенности языка обучения.

1

Я изучил Java, используя комбинацию DrJava, BlueJ и Eclipse. Я начал с DrJava, так как у него была интерактивная оболочка Java. Затем я играл с BlueJ и, наконец, Eclipse, как только я думал, что знаю достаточно.

Теперь, когда я «знаю» пару языков, я просто использую Vim.

0

Я не знаю о emacs, но я бы порекомендовал изучать Vim для новичка в сердце. Программа vimtutor - отличный способ подобрать основы. Это немного усилий, но вы скоро привыкаете к этому.

Я начал использовать Vim, когда изучал HTML, и это было значительное улучшение над чем-то вроде «Блокнота». Вскоре он заменил nano в качестве текстового редактора командной строки в Ubuntu, так как с Vim легко перемещаться по нему быстро. Затем я решил изучить Python, и я понял, что с ним легко начать, потому что я уже знаком с Vim. Теперь я изучаю C, и здорово иметь редактор, с которым я уже знаком, поскольку мне не нужно беспокоиться о том, чтобы привыкнуть к новой IDE или текстовому редактору. Это означает, что для меня меньше работы.

Я узнал, как узнать, как использовать Vim, дает мне значительное повышение производительности по сравнению с любым другим редактором, который я использовал. Единственным недостатком является то, что ключевые привязки сжигаются в вашем мозгу, насколько я продолжаю добиваться Escape, когда хочу двигаться в документе Word!

1

Я бы порекомендовал Vim для тех, кто работает с текстовым редактором, но не в то же время, что и обучение программированию.

2

Запустить команду vimtutor. Это интерактивный способ изучения множества полезных основ в Vim. Vim очень мощный и эффективный. Вы не узнаете все, что нужно знать об этом сразу. Вы будете постоянно изучать более удобные функции, поскольку вы продолжаете использовать его. Если вы снимете основы, вы начнете тратить больше времени в командном режиме. Не используйте клавиши со стрелками. Сначала может показаться неудобным использование клавиш hjkl для передвижения, но вскоре он станет естественным и станет быстрее, потому что ваши руки не покидают родину на клавиатуре. Одна из замечательных вещей о Vim заключается в том, что пользователь почти никогда не должен отнимать свои руки от homerow.

Что касается Java, Netbeans пинает задницу IMO. Почему бы и нет? Это сделано теми же людьми, которые разработали язык Java. Поэтому, когда я использую Netbeans, я использую его с плагином jVi, который позволяет мне работать с ним точно так же, как я использовал Vim.