Является ли хорошо написанная документация достаточной причиной для изучения языка программирования? [закрыто]

14

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

Является ли хорошо написанная документация и простота изучения достаточной причиной для выбора языка сценариев? Или мне следовало бы подробнее рассказать о доступности библиотек Python и большей пользовательской базе Python?

Просто записка. Python не требовался для работы. Компания работала над Ruby-on-rails. Python был в моем резюме, и я думаю, что интервьюер просто хотел узнать, какие соображения я выбрал как более свежий при выборе языка программирования.

Aseem Bansal
источник
12
возможно, не на собеседовании, но я бы спросил, нужна ли вам причина, чтобы узнать что-то другое, чем вы хотите.
JK.
2
@jk Я до сих пор знаю C. Я не большой эксперт, но я знаю синтаксис, могу реализовать структуры данных и тому подобное. Мне нужен был язык, на котором я мог бы быстрее реализовывать идеи. По этой причине я выбрал язык сценариев. Документация, простота использования и пользовательская база были основными преимуществами, когда я сравнивал ее с Perl и Tcl. Не все три применимы к обоим языкам, но, насколько я мог судить, использование Google Python было лучше, чем эти в одном из них. Поэтому я выбрал Python. Учиться потому, что я хочу, - это достаточно веская причина, но меня интересовал не Python. Идеи были главными.
Aseem Bansal
1
[Делать что-то, потому что это легко] не так впечатляет, как [делать что-то, потому что это трудно]. Если это на самом деле трудно, и вы просто хвастаетесь. ;)
TimG
5
Поскольку вы новичок в Python, я бы посоветовал вам прекратить ссылаться на него и рассматривать его как «язык сценариев». Это язык . С его помощью люди пишут веб-сайты, настольные приложения, небольшие скрипты, огромные библиотеки, встроенные контроллеры и т. Д. Называть это «языком сценариев» кажется мне неуместным.
Chelonian
@ Челониан Пойнт отметил. Спасибо что подметил это.
Aseem Bansal

Ответы:

20

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

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


Есть четыре причины для изучения языка:

  1. Потому что это может быть полезным инструментом в вашей карьере

    Язык - это инструмент. Один использует язык, а не другой из-за его преимуществ в данном контексте. Тот факт, что язык имеет высококачественную документацию, не делает его лучшим инструментом или только незначительно¹.

    Выбор языка скорее будет основан на предшествующем опыте, парадигмах (пример: функциональное программирование для Haskell), подходах (пример: полностью асинхронный режим для JavaScript как языка программирования на стороне сервера с Node.js), функциональной совместимости ( пример: совместимость практически со всеми операционными системами для Java) и т. д.

    Возможность использовать инструмент в повседневной жизни - одна из причин изучения языка.

  2. Потому что это расширяет вашу культуру и знания

    Еще одна причина выучить язык - это изучить новые концепции, парадигмы и способы написания элегантного кода (пример: Haskell). И здесь документация помогает, но не является единственной причиной для изучения языка.

  3. Потому что это требует минимальных усилий, чтобы научиться этому

    Еще одна причина для изучения языка заключается в том, что его легко изучить (пример: PHP). Снова, документация вносит большой вклад, но сам язык все еще более важен. Более того, я бы не сказал во время интервью, что я выучил язык просто потому, что его легко выучить.

  4. Потому что это весело.

    Последняя причина изучения языка заключается в том, что просто интересно выучить либо хорошо разработанный язык (примеры: Haskell, Ruby), либо язык для гиков (пример: Brainfuck).

В случае с Python вы можете ответить так:

  1. Это динамический язык. Динамические языки позволяют легко создавать прототипы и развиваться быстрее, когда обстоятельства делают сильные типы не важными.

  2. Это элегантно Возможно, не так элегантно, как, скажем, на Haskell, но все же сравнение с основными веб-ориентированными языками, такими как PHP, легко сделать.

  3. Использование значимых отступов интересно, поскольку многие основные языки делают отступы лишь бременем, которое в первую очередь должно было бы управляться IDE. Кстати, компилятор и интерпретатор Haskell также полагаются на отступы.

  4. У Python есть элегантный способ работы со списками. Постижения списков и выражения-генераторы являются интересными концепциями для тех, кто никогда раньше не использовал функциональное программирование.

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

  6. Он достаточно быстрый и мощный для крупномасштабных веб-приложений. Например, Dropbox написан на Python. YouTube сильно зависит от Python. Reddit, если я хорошо помню, также опирается на Python.


¹ Хорошо написанная документация по-прежнему помогает делать все правильно и быстро.

Арсений Мурзенко
источник
Я просто знаю C. Я выучил Python, потому что хотел быстрее реализовывать идеи. Это исключает первый пункт. Я узнал функциональную парадигму только через Python, поэтому второй пункт также отсутствует. Тогда в этой ситуации я остаюсь только с 3-й точкой. Каким должен был быть акцент моего ответа? Больше информации в этом комментарии к вопросу
Aseem Bansal
@AseemBansal: я отредактировал свой вопрос, чтобы показать, что вы могли бы ответить. Кроме того, тот факт, что вы «познакомились с функциональной парадигмой только через Python» - это как раз то, о чем я говорю: вы изучили Python, и это помогло вам открыть FP, что в точности и является целью изучения языка.
Арсений Мурзенко
1
Вы можете использовать Dropbox в качестве примера вместо YouTube и Reddit. Это сделано в Python полностью. Если я правильно помню, Гвидо помог Dropbox создать их продукт, и он недавно присоединился к ним снова.
Aseem Bansal
Есть четвертая причина, я думаю, вы пропустили: потому что язык выглядит весело!
Мартиерт
Что-то вроде линии Мартиерта, но как насчет веселья? Если вы хотите выучить определенный язык, это более чем достаточно веская причина. Все не должно быть мотивировано карьерным ростом и стратегиями, чтобы максимизировать свои навыки.
Жиль
7

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

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

stakx
источник
1
Я добавил то, что хотел сделать и делал с использованием Python, но, думаю, мне следовало уделить больше внимания выполнению задач, а не документации.
Aseem Bansal
3
Вы используете молоток, потому что вам нужно что-то забить ... слишком много людей используют молотки, когда отвертка была бы более подходящей.
gbjbaanb
@gbjbaanb: Точно! Спасибо, что был еще более точным.
stakx
1

Вот мои главные причины, почему выучить новый язык:

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

  2. Вы хотите решить проблему, и язык X, или библиотеки / фреймворки для языка X, кажется, обеспечивают наилучшую доступную поддержку для этой задачи

  3. Вы делаете это только для собственных образовательных целей.

Часто для ситуации 2 существует более одного языка или структуры, подходящих для решения проблемы. Тогда хорошо написанная документация может быть одним из факторов, которые следует принять во внимание (но также и другие факторы). Что касается пункта 3, хорошая документация может быть более важной, но, если честно, если вы хотите выучить новый язык только ради его изучения, сначала найдите проблему, которую хотите решить, иначе вы скоро потеряете мотивацию, письменная документация доступна или нет.

Док Браун
источник
1

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

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

Жиль "ТАК - перестань быть злым"
источник
0
  • Нет, хорошо написанная документация не является достаточной причиной для изучения языка.

  • Интервьюер задал этот вопрос для того, чтобы вы сказали ему немного о питоне. Вам следует сравнить питон и рубин.

Эдвард Шен
источник