Почему всегда «какой язык я должен выучить следующим», а не «какой проект я должен предпринять дальше»? [закрыто]

14

Почему начинающие программисты (как я) всегда спрашивают о следующем языке, который они должны изучать, вместо того, чтобы спрашивать о следующем проекте, который нужно решить?

Почему Эрик Рэймонд в разделе « Как стать программистом » своего эссе « Как стать хакером » рассказал о порядке, в котором вы должны изучать языки (в сравнении с порядком, в котором вы должны заниматься проектами).

Неужели начинающие плотники спрашивают: «Я знаю, как использовать молоток… Должен ли я научиться использовать пилу или следующий уровень?»

Я спрашиваю , потому что я нахожу , что почти любой значимый проект я заинтересован в решении проблемы (например , веб - приложение, набор инструментов анализа покер) требует , чтобы я узнал достаточно просто из множества языков (Python, C, HTML, CSS , Javascript, SQL) и фреймворки / библиотеки (wxPython, tkinter, Django) для их реализации.

Благодарность,

Майк

MikeRand
источник
5
Это кажется немного ... напыщенным, если честно. Возможно, вы могли бы удалить инсинуации и оставить только свой вопрос?
Анон.
4
Я думаю, что вы не соответствуете шагам в хронологическом порядке. Скорее всего, плотник уже знает, как использовать эти инструменты, если он знает, как создать дверь. Но в начале своей жизни он тоже пошел по пути, какой инструмент я должен исследовать дальше.
CrazyPenguin
Честный комментарий re: ranty ... собирался для развлечения. Извиняюсь, если это выглядело как случайность.
MikeRand
4
Сравнение языка программирования для ручного инструмента не очень хорошее сравнение. Кажется, это имеет смысл на первый взгляд, но быстро разваливается и в итоге оказывается более вредным, чем полезным. Также слишком много людей относятся к этому, как к несомненной истине. Этот парень делает достойную работу, обрисовывая некоторые причины, по которым это не работает. journal.dedasys.com/2007/12/12/…
Ник Ноулсон
Мне нравится этот вопрос ...!
Майкл К

Ответы:

6

Я думаю, что, когда большинство людей начинают изучать язык, они делают это, потому что хотят заняться проектом, написанным на этом языке, сейчас или в будущем. Для этого они должны выучить тот язык, который требует времени. Языки программирования похожи на инструменты, но, хотя вы можете научиться использовать молоток примерно за шестьдесят секунд, языкам требуется немного больше времени, чтобы научиться использовать; таким образом, многие люди сосредоточены на изучении языка, прежде чем сосредоточиться на работе над проектом, написанным на этом языке.

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

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

mipadi
источник
6
  • Мотивом многих разработчиков на полную ставку является повышение занятости.

  • Быть более трудоустроенным обычно означает преодоление препятствий для проверки кадров (а затем преодоление препятствий на самом собеседовании).

  • Типичный специалист по проверке кадров обычно имеет контрольный список языков, которые он может сопоставить с резюме, но не имеет возможности оценить навыки или проекты.

  • Успех в реальном собеседовании обычно больше зависит от удачи и минимальных навыков в языке, чем от опыта и глубокого понимания языка.

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

Uri
источник
К сожалению, чтобы пройти экран HR, вы должны предоставить список модных слов дня. Процесс отбора кадров - это скорее фильтр курса, который оставит позади многих квалифицированных кандидатов.
Джефф
1
@Jeff, из того, что я слышал о проверке кадров, все, что им нужно, это сократить количество резюме до управляемого уровня, и они применяют множество произвольных фильтров, таких как «bin, если больше 2 страниц».
Доминик Макдоннелл
2

Аналогичные варианты программирования для плотника: «Какое приложение я должен построить дальше?» или "Какую систему я должен построить дальше?" которые являются довольно действительными и отделены от проекта, который действительно может применяться практически повсеместно. У меня мог быть проект, чтобы изменить мою диету или потерять 20 фунтов так же легко, как у меня могло бы быть что-то, что требует написания нового программного обеспечения, чтобы связать вещи вместе.

Чтобы ответить на этот вопрос, я думаю, что идея состоит в том, что язык представляет собой инструмент в наборе инструментов этого человека, который может быть полезен в резюме. Некоторые люди могут стать программистом, чтобы оплачивать счета, и если так, то они могут спросить, какой следующий инструмент следует добавить, который часто будет языком, но есть и другие возможности, такие как изучение методологий развертывания, контроля версий, тестирования и разработки для Назовите несколько других областей. Если бы плотнику пришлось раскрыть, какие инструменты у него были, у него, возможно, была бы похожая точка зрения. Тем не менее, существует общий набор инструментов, которые, как предполагается, большинство плотников либо имеют, либо имеют доступ к ним, если они запрашиваются довольно быстро. Вы когда-нибудь видели, сколько существует различных видов пил и молотков для людей?

JB King
источник
1

Возможно, это отчасти из-за хакерского менталитета, по крайней мере, для некоторых программистов. Хакер определяется в файле Jargon как

«Человек, которому нравится изучать детали программируемых систем и как расширить свои возможности, в отличие от большинства пользователей, которые предпочитают изучать только необходимый минимум».

Итак, для хакерской души, это больше об изучении и "освоении" процесса, концепций, инструментов и, да, языков создания чего-либо, чем самого конечного продукта. Подробнее о самом процессе.

Это постоянное стремление к следующей новой вещи и / или вызову. Законченный проект быстро теряет привлекательность. Иногда (большую часть времени?) Величайшие творческие или технические проблемы преодолеваются до завершения проекта. Многие проекты заброшены, когда ум, жаждущий новых умственных проблем, движется вперед.

Особенно хакеры интересуются новыми точками зрения, концепциями, абстракциями и способами мышления, разновидностью умственного взлома:

«Язык, который не влияет на то, как вы думаете о программировании, не стоит знать». - Алан Перлис

Maglob
источник
0

На сегодняшний день существует множество дрянных языков: C, C ++, C #, Java, JavaScript, Python, Perl, Ruby, Visual Basic и т. Д. Программисты восполняют присущие им языки, изучая и смешивая многие из них. вместе.

Существует небольшое сообщество, известное как сообщество Lisp, которое свободно от безумия, которое пронизывает современные вычисления.

Поскольку Lisp является программируемым языком программирования, вы можете выражать в нем все свои идеи, не прибегая к другим языкам или другим форматам данных, таким как XML. Lisp может применяться везде, даже до аппаратного уровня, как мы видели на машинах Lisp .

jhuni
источник
Вы должны знать как можно больше разных языков, чтобы эффективно кодировать на Лиспе. В противном случае вам придётся заново изобретать колесо, вместо того, чтобы просто красть подходящие концепции и идеи из других языков и реализовывать их поверх Lisp.
SK-logic
Согласитесь с вашим мнением о силе Лиспа, но не согласны с тем, что изучать другие языки бесполезно: большинство трюков, которые я использую в Лиспе, активно используют то, что я узнал из других языков (будь то шаблоны или анти-шаблоны ...)
mikera
0

Потому что изучение нового языка программирования - это огромные инвестиции, и никто не любит делать плохие инвестиции.
Изучение нового языка программирования не сводится к запоминанию того, как писать циклические конструкции, объявлять классы, импортировать другой модуль ...
Вы должны знать, как написать идиоматический код на этом языке, и этот процесс действительно требует значительного количества времени и усилий. ,
Время - ограниченный ресурс, усилие - ограниченный ресурс, но отвлечение, ежедневный стресс, счета и спортивные игры по воскресеньям всегда рядом и с ними нужно жить.
Программисты хотят инвестировать с умом.

Chiron
источник