Чи можете ви вдосконалити свої навички програмування, вивчаючи інші мовні парадигми?
На мій досвід, напевно, так. Наявність декількох різних способів атаки на проблему - це як палітра інструментів. Одного разу ви (як і я) вам скористаєтесь цими іншими інструментами. Або, можливо, ні. Все залежить. Деякі приклади:
Мови взагалі не стоять окремо, вони приходять з оточенням. Я витратив трохи часу, вивчаючи дивну мову, відому як awk . Він спирається на відповідність шаблону, використовуючи "регулярні вирази". Намагаючись вивчити ST + C ++ (не дуже вдало), я дізнався про карти. Поєднуючи ці два концепції, я міг дуже швидко написати деякі утиліти, що трансформують текст у Pearl (єдина мова, доступна на платформі).
В основному для задоволення від цього я намагався навчитися Ерланг (не дуже вдало). Він має бібліотеку функцій, відому як OTP, що реалізує, серед іншого, спосіб поводження з помилками, іноді відомий як не дозволяє, і монітор перезапускає функції. Я використовував цю ідею в деяких сферах, іноді просто відпускав речі, а не робив нескінченні тести.
Спроба засвоїти Хаскелл (знову ж таки не дуже успішно) справді відкрила мені очі на інші способи нападу на проблеми. Різновид функціонального програмування (на мій погляд) починається з написання коду, який говорить про те, якого результату ви хочете, а не з написання кроків, пов’язаних із потраплянням туди. Я вважаю, що це дійсно допомогло мені написати кращий SQL-код.
Останнім часом я спробував трохи javascript. І знайшов середовище, відоме як зведене. Код не потрібен для створення невеликого сервера домашньої автоматизації.
Якщо говорити в перспективі, більшість моїх роздумів різними мовами була (і є) на досить мілкому рівні, здебільшого, щоб відчути те, про що говорять люди. Є дуже мало мов, на яких я насправді можу бути продуктивними.