Чи є достатньо вагомою причиною для вивчення мови програмування добре написана документація? [зачинено]


14

Зараз я вивчаю Python, який не входив до моєї програми коледжу. Мене в інтерв'ю запитали, чому я обрав Python, і я відповів, що це легко вивчити, і документація дуже добре написана. Інтерв'юер не відповів, чи це досить вагома причина. Він виглядав переконаним, але я не можу бути впевнений.

Чи добре написана документація разом з простотою вивчення є достатньо вагомою причиною вибору мови сценаріїв? Або я повинен детальніше розповісти про наявність бібліотек Python та більшій базі користувачів Python?

Просто записка. Python не потрібен для роботи. Компанія працювала на Ruby-on-rail. Python був у моєму резюме, і я думаю, що інтерв'юер просто хотів знати, які міркування я зробив як свіжіший під час вибору мови програмування.


12
можливо, не на співбесіді, але я б запитав, чи потрібна вам причина, щоб дізнатися щось інше, ніж ви хочете.
jk.

2
@jk Я просто знаю, поки що C. Я не величезний експерт, але знаю синтаксис, вмію реалізовувати структури даних тощо. Мені була потрібна мова, де я можу швидше реалізувати ідеї. Тому я вибрав мову сценаріїв. Документація, простота використання та база користувачів були головними перевагами, коли я порівнював її з Perl та Tcl. Не всі три застосовані до обох мов, але , наскільки я міг знайти, використовуючи google Python, було краще, ніж ці в одній із них. Тому я вибрав Python. Навчання тому, що я хочу, є достатньо вагомою причиною, але мене це не цікавило не Python. Ідеї були головним.
Асеем Бансал

1
[Робити щось, тому що це легко] не є настільки вражаючим, як [робити щось, тому що важко]. Якщо це насправді важко, і ви просто показуєтеся. ;)
TimG

5
Оскільки ви новачок у Python, я б запропонував вам перестати посилатися на нього та думати про це як "мову сценарію". Це мова . Люди пишуть веб-сайти, настільні програми, невеликі сценарії, величезні бібліотеки, вбудовані контролери тощо. Називати це "мовою сценарію" мені здається недоречним.
Челоніан

@Chelonian Point зазначив. Дякуємо, що вказали на це.
Асеем Бансал

Відповіді:


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.


¹ Добре написана документація все ще допомагає робити справи правильно та швидко.


Я просто знаю С. Я навчився Python, тому що хотів швидше реалізувати ідеї. Це виключає перший пункт. Я дізнався про функціональну парадигму лише через Python, тому 2-й пункт також вийшов. Тоді в цій ситуації мені залишається лише 3 бал. На чому повинен був бути акцент моєї відповіді? Більше інформації в цьому коментарі до питання
Aseem Bansal

@AseemBansal: я змінив своє запитання, щоб показати, на що ви могли відповісти. Крім того, те, що ви "пізнали функціональну парадигму лише через Python", - це саме те, про що я говорю: ви пізнали Python, і це допомогло вам відкрити FP, що саме є метою вивчення мови.
Арсеній Муренко

1
Ви можете використовувати Dropbox як приклад замість youtube та Reddit. Він зроблений на Python повністю. Якщо я правильно пам'ятаю, Guido допоміг Dropbox створити їхній продукт, і він нещодавно знову приєднався до них.
Асеем Бансал

Є четверта причина, на яку я думаю, що ви пропустили: Тому що мова виглядає веселою!
martiert

Дещо в лінійці martiert, але як бути із розвагою? Якщо ви хочете вивчити певну мову, це більш ніж достатньо вагомих причин. Все не повинно мотивуватися просуванням у кар’єрі та стратегіями для максимізації ваших навичок.
Жиль

7

Якщо ти схожий на мене, ти не використовуєш молоток просто тому, що у нього зручна ручка. Ви можете використовувати молоток , тому що вам це потрібно , щоб отримати що - то зроблено забиваються.

Отже, ні, хоча хороша документація, безумовно, корисна, це не є причиною самої для вивчення мови програмування.


1
Я додав речі, які хотів зробити, і робив за допомогою Python, але, мабуть, я повинен був би робити більше уваги на виконанні речей, ніж на документації.
Асеем Бансал

3
ви використовуєте молоток, бо вам потрібно щось забити ... надто багато людей використовують молотки, коли викрутка була б більш підходящою.
gbjbaanb

@gbjbaanb: Саме так! Дякуємо, що ви були ще більш точними.
stakx

1

Ось мої основні причини, чому слід вивчити нову мову:

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

  2. ви хочете вирішити проблему, і мова X, або бібліотеки / рамки для мови X, здається, забезпечують найкращу доступну підтримку для цього завдання

  3. Ви робите це лише для власних освітніх цілей.

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


1

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

Також більшість завдань може бути виконано на різних мовах. Зазвичай через деякий час ви освоїте основні мовні поняття та інструменти, але ви дізнаєтесь більшість бібліотек за потребою. Це аргумент на користь мови, якщо бібліотеки добре задокументовані, так що ви можете швидко набирати швидкість для певного домену додатків.


0
  • Ні, добре складена документація не є достатньо вагомим приводом для вивчення мови.

  • Інтерв'юер задав це запитання, щоб ви сказали йому деяку користь python. Ви повинні порівняти python і ruby.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.