
Чи так складна зміна мови для програміста?
Невелика топік-міркування на тему переходу на іншу мову програмування, і розвитку знань. Чи важливе вивчення додаткових мов для програміста? Що важливіше - мова чи архітектура?
Кожен розробник протягом своєї кар'єри розвивається. Отримує додаткові знання, досвід, уміння. Щось із практики, щось із спілкування з колегами, щось із книжок.
Людині, захопленій своєю роботою, хочеться, та й просто необхідно, отримувати нові знання. Але тут виникає питання - а що саме варто розвивати? Які знання справді корисні для подальшої праці? Чи варто вивчити чергову мову програмування, тільки для того щоб розвинути свої знання?
Я вважаю, що грамотний розробник здатний без проблем освоїти і перейти на будь-яку нову мову протягом місяця (я не говорю про такі специфічні випадки як наприклад перехід зі Smalltalk на asm). Куди важливіше грамотна побудова архітектури програми, вміння проектувати і виділяти сутності, вміння працювати з функціональними - і бізнес-вимогами. Адже помилки, допущені на стадії проектування і побудови архітектури програми коштують набагато дорожче помилок, допущених при кодуванні.
Розробник, який вміє грамотно розробити архітектуру програми, вміє застосовувати патерни проектування саме там де це потрібно, здатний моделювати процеси програми набагато легше впорається з реалізацією функціональних вимоги і саме такі розробники, що працюють в команді, є ключем до успішного виконання проекту. Не залежно від мови, якою програма розробляється.
Кілька книжок з архітектури та проектування, для тих, кому це цікаво. Ці книги, на мій погляд, обов'язкові до прочитання будь-яким розробником програмних продуктів, які прагнуть до успішної кар'єри:
- Е. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Прийоми об'єктно-орієнтованого проектування. Патерні проектування (детальний опис)
- М. Фаулер. Архітектура корпоративних програмних програм (докладний опис)
- К. Вігерс. Розробка вимог до програмного забезпечення (докладний опис)
У коментарях хотілося б дізнатися думку читачів про те, чи дійсно знання і розуміння принципів проектування та побудови грамотної архітектури сприяє розробці успішних проектів? Чи так важлива мова?