Tech Pick (Доступность языков программирования)

Я большой поклонник Санди Мец. Она похожа на одного из тех мастеров дзэн, которые вырывают своих учеников из их текущей колеи восприятия.

В недавней статье (Что дает объектно-ориентированное программирование) Сэнди подробно размышляет об объектно-ориентированном программировании и возможностях, которые предоставляет этот подход. Это отличный и полезный пост. Один раздел, который поражает меня, заключается в следующем:

Так же, как разные стили дверных ручек, разные языки программирования предлагают свои уникальные возможности. Разработчики языков имеют предвзятые представления о наилучшем способе моделирования реальности, и их творения отражают эти предубеждения. Таким образом, языки программирования специально предназначены для того, чтобы «обеспечить» определенные виды мышления.

Я говорю о чем-то более глубоком, чем синтаксис. У языков есть точки зрения: они предназначены для использования определенными стилизованными способами. Тот факт, что код компилируется, не означает, что он устроен так, как задумал разработчик языка.

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

Вышеизложенное ставит языковые войны в перспективу. Язык предназначен для моделирования реальности определенным образом. Если он взлетает из-за значительного внедрения (будь то органического или из-за ограничений среды, таких как JavaScript), то происходит деформация, поскольку разработчики пытаются использовать этот молоток, чтобы прибить каждую проблему.

Медиа-выбор (выбор платформы JavaScript)

Последний подкаст Full Stack Radio вполне соответствует статье Сэнди. В нем представлено интервью с Дэвидом Хайнемайером Ханссон.

В этом интервью он обсуждает выпуск его компанией (Basecamp) JavaScript-фреймворка под названием Stimulus. Интересно узнать, как он выбрал возможности Ruby по сравнению с возможностями, предоставляемыми различными средами JavaScript (такими как React, Vue и т. д.). Так что Stimulus поддерживает этот выбор, оставляя как можно больше программ на стороне сервера через Ruby и Ruby on Rails.

Мысли? Обратная связь? Дайте мне знать: @eli4d в Твиттере

Первоначально опубликовано на сайте eli4d.com 28 февраля 2018 г.