Який спосіб більш вигідний і продуктивний?
Який спосіб більш вигідний і продуктивний?
Відповіді:
Я думаю, що вам потрібно і те, і інше. Ви повинні зосередитись на своїх основних компетенціях та вдосконалити своє розуміння їх, але в той же час вигідно зазирнути зовні і подивитися, що ще там. Визначення інших підходів та інших мов дуже важливо, щоб зробити одного кращим розробником загалом. Існує багато способів, як шкіру скинути на кота, і знаючи якомога більше їх, зробить вас психопатом краще підібрати правильний інструмент для певного завдання.
Отже, витрачайте більшу частину часу на покращення обраного рівня та витрачайте частину свого часу на вивчення нового.
Хтось сказав: "Мова, яка не змінює те, як ти думаєш про програмування, не варто вивчати".
Отже, якщо ви знаєте Java, виграш у навчанні C # (або навпаки) мало. Якщо б не з прагматичних причин (тобто вам це потрібно для вирішення проблеми), я б запропонував дотримуватися однієї мови за парадигмою, і ваш графік все ще достатньо повний;).
Спеціалізація, з іншого боку, за моїм досвідом здебільшого досягається «в області», тобто, коли я працюю над проектом, так що це природно.
Дуже багато справді хороших суперечок з обох сторін. Багато років тому мені поставили саме це запитання ... зосередитись на своїй основній мові і намагатися стати "експертом" АБО, взяти нову мову та розширити свою товарність. Я вирішив сконцентруватися на одній мові.
Там дійсно не буде помилкової відповіді. У обох є заслуги, адже це дійсно буде зводитись до того, який з них вам підходить краще і куди ви хочете, щоб пішла ваша кар’єра.
Вивчення нових мов здебільшого є засобом отримання нових концепцій та підвищення ефективності програмування. Навчання програмуванню саме по собі сильно відрізняється від вивчення нової мови для програмування.
Ви повинні зосередитись на вдосконаленні своїх програм (і є багато показників для вимірювання цього, багато суб'єктивних; неважливо, вибирайте метрики та уточнюйте їх з часом, використовуйте їх для навчання).
Сказавши це, вивчення «новіших» мов (скажімо, Python
) над старішим списком (як, скажімо, C
«і багато подібних») допоможе вам думати ефективніше і зосередитись на тих основних концепціях, які слід вдосконалити. Якщо взяти далі приклад, він може з’явитися не відразу, але ви можете виявити, що ваше C
програмування стає кращим, оскільки ви думали в Python. Ви навіть можете почати писати Python замість psudo-коду для C
. Тепер це набагато більш читабельний і перевірений псудокод.
Що підводить нас до підсумків основного питання:
Так, вам слід зосередитись на мовах, які ви вже знаєте, і розширити свої знання в них - до тих пір, поки вони все ще використовуються для вас. Крім того , вам слід також попростувати новітніми мовами, щоб дати своїм мозгам новіші інструменти, щоб мислити (можливо, навіть швидше) рішення для ваших потреб програмування.
Це залежить від того, з якою метою ви вивчаєте мову. Якщо ви вивчаєте мову, оскільки вона використовує іншу парадигму або підходить для певного проблемного домену. Однак якщо це мова, дуже схожа на ту, яку ви вже знаєте, і все, що ви плануєте зробити, це переписати весь існуючий код на нову мову, мабуть, це не так вже й багато значення (наприклад, переписання веб-сайту python в рубін) у ній.
Якщо ви вже відчуваєте дуже комфортне програмування мовою, знайомі з усіма її ідіомами, і можете писати в ній програми, не дивлячись у документацію для кожного виклику бібліотеки, напевно, про це дізнатися не набагато більше. Якщо, з іншого боку, ваші знання мови не настільки глибокі, можливо, ви дізнаєтесь більше значення. Деякі хороші способи оцінити, чи перебуваєте ви в колишньому та другому таборі для мови X, є
Якщо ваші відповіді на ці запитання знаходяться десь за принципами "багато", "більшість з них" і "так, і це дратує", це хороший показник того, що ви оволоділи мовою і повинні перейти до чогось нові.
Якщо ви вже досить добре володієте мовою, якою ви знайомі, немає жодної користі вивчати дуже детально, конкретні хитрощі для трохи класних ... це буде зовсім марна трата часу. Однак, коли вам зовсім не комфортно з мовою, пропонується спочатку оволодіти цією мовою.
Окрім мов, є рамки, шаблони ... щоб вивчити рамки, ви повинні знати мову, тому для дуже схожих мов їх вивчення не допомагає нічого, ніж принести деякі не такі веселі забави.
Моя особиста думка - ви завжди повинні розвивати свої можливості робити швидше, надійніше, надійніше програмне забезпечення для більшої кількості платформ і скорочувати час, який потрібно скоротити, для цього вам може знадобитися вивчення нової мови, нової основи, нового IDE (це так само важливо, як і мова), і лише тоді, коли ви до цього ставитесь, ваші інвестиції варті.
Принаймні не вивчайте нову мову, щоб збільшити кількість мов, які ви знаєте.