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

Информатика 🔬

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

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

Clojure превращает меня в супергероя

Что подводит меня к clojure. Почему я решил пойти домой и написать clojure после того, как потратил 8 часов на написание кода на работе? Потому что писать на Clojure весело! Это простое, динамичное, функциональное, неизменное, основанное на репликах, гомоиконичное развлечение.

Написание кода на clojure похоже на превращение в супергероя. Вещи, которые заняли бы десятки строк кода на других языках, занимают столько строк, сколько я могу сосчитать по пальцам одной руки. Основная библиотека битком набита невероятно полезными функциями, которых вам очень не хватает, когда вы используете что-то другое. Концепции, которые трудно понять на других языках, становятся настолько простыми, что становятся детской игрой, как будто вы можете буквально научить ребенка clojure 👶 это так просто. Отсутствие церемоний и отсутствие синтаксиса означает, что вы можете сосредоточиться на проблемах, которые пытаетесь решить, вместо того, чтобы бороться с компиляторами и иерархиями наследования, clojure становится расширением вашего разума, можно сказать, велосипедом для разума. Вы можете тестировать код по мере его написания, это похоже на блокнот рядом с вашей IDE. Вы можете решать сложные задачи и решать их с невероятной скоростью благодаря REPL и динамической природе clojure. Моделирование любых данных становится настолько простым, что меня почти тошнит. Я могу написать невероятные библиотеки, которые даже не стал бы думать писать на других языках.

Я знаю, о чем вы говорите, ну, если вы так любите ❤️ clojure, почему бы вам не жениться на нем? Ну, мне это не очень нравится, но это, безусловно, делает меня продуктивным программистом, который, по иронии судьбы, делает лучшую работу в своей жизни вне своей основной работы.