Вы порекомендовали бы vim/emacs для начинающих программистов?

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

Ответы

Ответ 1

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

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

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

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

Ответ 8

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

Ответ 9

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

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

Ответ 10

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

Ответ 11

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

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

Ответ 12

vi и gcc, ничего больше

Ответ 13

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

Ответ 14

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

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

веселит

Ответ 15

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

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

Ответ 16

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

Ответ 17

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

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

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