Чи не набагато простіше йти в потоці з чим-небудь іншим, а не розвивати власну мову?
Звичайно, але щоб дотримуватися цього до абсурдного кінця, ми всі писали б все на зборах, якби ніхто не розвинув нові мови.
Іноді потоку немає. Нові мови існують через те, що хтось чухає свербіж, будь то мовний любитель, який просто хоче винайти щось нове або компанія, яка потребує задоволення тим, що вже існує.
Саме це сталося, коли Джон Бекус запропонував у 1953 р. Систему перекладу математичної формули IBM . Він хотів, щоб наукові користувачі спростили спосіб уточнення математичних формул, ніж їх написання на зборах. Цей фірмовий продукт став першою мовою програмування, яка не була збіркою, і ви знаєте його як Fortran.
Там, де Фортран був першим, хто пішов цим маршрутом, Ерланг - це майже дитина дитини-постерця. Ericsson хотів вдосконалити спосіб розробки програмного забезпечення для своїх телефонних комутаторів і винайшов мову для прототипування з особливостями, необхідними для того, що їм потрібно. Коли я вперше досліджував це, моїм виведенням було те, що його розробили люди з реальною проблемою, для вирішення яких не було б належного обслуговування жодна з інших мов, доступних у 1986 році. Ерланг залишався власником власного продукту, як ваш колега зіткнувся до тих пір, поки це не було відкритим джерелом понад десятиліття пізніше, і тепер це основна мова.
І Go, і Scala є відносно молодими мовами у грандіозній схемі речей, і цілком можливо, що мова, яка використовується у компанії вашого колеги, передує обом. Що йому потрібно зробити, це запитати про його історію, чому вона існувала і чому вона продовжує використовуватися.
Я провів десятиліття між 2003 і 2013 роками, працюючи в компанії, яка широко використовувала галузеве середовище, яке включало власну мову, що має своє коріння в кінці 1970-х. Хоча деякі новіші мови, можливо, були більш підходящими замінами (і гачки для них були прищеплені з часом), ця галузь інвестувала в це досить великі інвестиції та величезний масив добре перевіреного коду, що просто не було хорошого ділового випадку для переходу на щось інше.