К книге
Настоящий CTO: думай как технический директор8. Технологические решения. 8.8. Языки и фреймворки
65%
8. Технологические решения. 8.8. Языки и фреймворки
215

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

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

Как вообще происходит выбор языка? Во многих компаниях, возглавляемых владельцами или основателями, основным языком обычно является тот, которым владел основатель или первый «технический директор». Они использовали его для написания всего, даже того, для чего он никогда не был предназначен. Это был не выбор языка, а отсутствие выбора.

В свою очередь фреймворк – это набор библиотек или стандартов для конкретного языка, который облегчает выполнение повторяющихся рутинных задач (например, обеспечения безопасности пользователя после авторизации или работа с файлами). Примеры фреймворка – Java Enterprise Standard или Spring для языка Java либо ReactJS для JavaScript и Express.js для Node.js. Зона ответственности фреймворков гораздо шире, чем у языков программирования, и поэтому они могут накладывать гораздо больше ограничений на способы реализации того или иного функционала. Разработчики, специализирующиеся на конкретном фреймворке, хотя и владеют базовым языком, могут столкнуться с трудностями при переходе на другой фреймворк для того же языка. Но знание фреймворка так же важно, как и знание языка.

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

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

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

Предыдущая главаГлава 215 из 332Следующая глава