Чому мов програмування так багато? Проблеми віртуальної лінгвістики
На сьогоднішній день відомо вже більше двох з половиною тисяч самих різноманітних мов програмування.
З кожним роком їх кількість збільшується, причому з незбагненною швидкістю. Виходять оновлені або змінені версії колишніх мов. Розробляються мови під окремі програмні продукти. Коротше кажучи, софтверний ринок вимагає нових технологій, а нові технології вимагають нових, більш потужних мов розробки.
І тут виникає проблема настільки ж прискореного освоєння нових мов розробки або їх оновлених версій. Тобто, вимальовується приблизно наступна ситуація. Припустимо, виходить оновлена версія популярного мови розробки. Освоєння нової версії мови спрощується в тому випадку, якщо синтаксис нової версії ненабагато відрізняється від синтаксису старої версії. Синтаксис мови програмування не змінюється, а лише доповнюється і ускладнюється. При цьому збільшується міць мови розробки.
Зовсім інша справа, коли нова версія мови фундаментально опрацьована і перероблена. Змінено синтаксис, парадигма і деякі характерні особливості даної мови розробки. Розробникам просто доводиться здійснювати перехід на абсолютно новий рівень мови розробки. Причому, відбувається це не відразу, а поетапно. Це означає, що розробник пише свій додаток, скажімо, відсотків на вісімдесят на старій версії мови, а на десять - на новій. Благо, якщо зберігається підтримка старої версії. Але в результаті такого змішання версій, тобто, нераціонального програмування, виходить продукт, який не відповідає основним вимогам стабільності і швидкості роботи. Це стосується навіть питань безпеки, якщо продукт розрахований на сфери застосування, де конфіденційність і збереження даних пріоритетні.
Це ще не все. Як було сказано вище, на сьогоднішній день існує величезна безліч мов програмування. Їх розробляють приблизно стільки ж компаній, великих і не дуже. Іноді - навіть окремі групи людей. Виникає серйозна конкуренція, особливо у великих розробників засобів програмування, чиї результати користуються великим попитом у світі. Звідси випливає той факт, що неможливо визначити хоча б три найкращих мови розробки серед наявних. Це означає, що жоден з найбільш поширених мов розробки програмних продуктів не відповідає (частково або повністю) деяким вимогам, що пред'являються розробниками додатків. Причому ті можливості, які є у однієї з мов розробки, лише частково реалізовані в іншій мові. Тут йде, так би мовити, взаємне доповнення однієї мови іншим.
Сучасні середовища розробки додатків дозволяють писати код для програм на різних мовах програмування, причому навіть на мові розробки компанії-конкурента! І цим активно починають користуватися багато розробників у своїх проектах. Іноді навіть недостатньо хороший рівень написання програми на одній мові змушує розробника перейти в певній частині коду програми на іншу мову і назад. І знову проблема - стабільність і швидкість подібних «вінегретів».
Розробники програмних продуктів сильно розходяться в думці, наскільки хороший той чи інший мова розробки. Існує навіть певний рейтинг мов програмування.
У підсумку має різноманітні ринок засобів і мов розробки, Неменший ринок розробників на цих мовах, які пишуть програмні продукти, застосовуючи всі ці кошти і разом, і нарізно, і комбінуючи їх, і граючи на сумісності мов ... Знову ж таки, в результаті або отримуючи максимально оптимізований готовий продукт (у випадку, якщо витончувався професіонал), в якому з маси мов було вижато все, що тільки допустимо, або отримуючи «сирий», нестабільний, «важкий», неоптимізований продукт. Це у випадку, коли перекручувався непрофесіонал.
Але, в будь-якому випадку, тут важливий кінцевий результат, а не інструменти. Так що можна і потрібно вміти писати програми на різних мовах, у тому випадку, коли це дійсно необхідно для реальної користі справи. ]