Джереми Ашкенас
Джереми Ашкенас (англ. Jeremy Ashkenas; род. 1974) — американский программист и разработчик, известный прежде всего как создатель языка программирования CoffeeScript, а также фреймворка Backbone.js и библиотеки Underscore.js. Его работы оказали значительное влияние на развитие веб-разработки в начале 2010-х годов, особенно в области упрощения синтаксиса JavaScript и организации клиентской части веб-приложений.
Биография
Джереми Ашкенас родился в 1974 году в США. О его ранних годах и образовании известно немного. До начала работы над собственными проектами он занимался разработкой программного обеспечения и веб-приложений. В 2009 году он начал активно публиковать свои проекты с открытым исходным кодом, что принесло ему широкую известность в сообществе разработчиков.
Ашкенас работал в компании DocumentCloud, где занимался созданием инструментов для анализа и обработки документов. Именно в рамках этой работы и возникли его ключевые проекты. Впоследствии он перешёл в компанию The New York Times, где продолжил заниматься разработкой и внедрением современных веб-технологий. По состоянию на 2024 год Джереми Ашкенас продолжает работать в сфере разработки программного обеспечения, однако его публичная активность в открытых проектах снизилась.
Ключевые проекты
Underscore.js
Underscore.js — библиотека JavaScript, предоставляющая набор функциональных утилит для работы с коллекциями, массивами, объектами и функциями. Она была выпущена Ашкенасом в 2009 году. Библиотека стала популярной благодаря своей простоте и эффективности, предлагая функции, аналогичные тем, что есть в языках программирования Ruby и Python (например, map, filter, reduce, each). Underscore.js не расширяет встроенные прототипы JavaScript, что делает её безопасной для использования в любых проектах. Она стала одной из первых широко распространённых библиотек, заполнивших пробелы в функциональности стандартного JavaScript до появления ES6.
Backbone.js
Backbone.js — это лёгкий JavaScript-фреймворк для создания одностраничных веб-приложений (SPA), выпущенный в 2010 году. Он предоставляет минимальную структуру, основанную на парадигме Model-View-Controller (MVC), адаптированной для веба. Основные компоненты Backbone.js:
- Модели (Models): управляют данными и бизнес-логикой.
- Представления (Views): отвечают за отображение данных и реагирование на события пользователя.
- Коллекции (Collections): упорядоченные наборы моделей.
- Маршрутизатор (Router): управляет навигацией и состоянием приложения через хэш-теги URL.
Backbone.js стал одним из первых популярных фреймворков, предложивших структурированный подход к разработке клиентских приложений. Он был особенно популярен в начале 2010-х годов, пока не появились более сложные фреймворки, такие как AngularJS и React. Простота и гибкость Backbone.js сделали его хорошим выбором для небольших и средних проектов.
CoffeeScript
CoffeeScript — это язык программирования, который транслируется (компилируется) в JavaScript. Он был создан Ашкенасом в 2009 году и стал одним из первых «надмножеств» JavaScript, получивших широкое распространение. CoffeeScript стремился сделать код более читаемым и лаконичным, заимствуя синтаксис из Ruby, Python и Haskell. Ключевые особенности CoffeeScript:
- Отсутствие фигурных скобок и точек с запятой: блоки кода определяются отступами.
- Сокращённый синтаксис для функций: стрелочная нотация (
->и=>) для определения функций. - Улучшенная работа с массивами и объектами: поддержка списочных включений (list comprehensions) и деструктуризации.
- Классы и наследование: синтаксический сахар для прототипного наследования JavaScript.
CoffeeScript был особенно популярен в сообществе Ruby on Rails и в некоторых крупных проектах (например, в веб-версии GitHub). Однако с выходом стандарта ECMAScript 6 (ES6) в 2015 году, который ввёл многие из тех же синтаксических улучшений, популярность CoffeeScript резко упала. В настоящее время он используется редко, но оказал значительное влияние на развитие JavaScript и последующие языки, такие как TypeScript.
Влияние и наследие
Джереми Ашкенас считается одним из пионеров современной веб-разработки. Его проекты решили несколько ключевых проблем, с которыми сталкивались разработчики в конце 2000-х — начале 2010-х годов:
- Проблема организации кода: Backbone.js предоставил простую и понятную структуру для клиентских приложений, что было особенно важно до появления более сложных фреймворков.
- Проблема читаемости и выразительности: CoffeeScript показал, что JavaScript можно сделать более удобным для чтения и написания, стимулировав развитие идей, которые позже были реализованы в стандарте ES6.
- Проблема функциональных утилит: Underscore.js стандартизировал и упростил выполнение распространённых операций с данными, став предшественником таких библиотек, как Lodash.
Хотя ни один из его проектов не является доминирующим в современной веб-разработке, их влияние на экосистему JavaScript неоспоримо. Они заложили основы для многих современных подходов и инструментов, а также продемонстрировали важность открытого кода и сообщества в развитии веб-технологий. Ашкенас также известен своей активной позицией в отношении качества кода и документации, что способствовало повышению стандартов в индустрии.
Критика
Проекты Ашкенаса, особенно CoffeeScript, подвергались критике по нескольким причинам:
- Сложность отладки: Поскольку CoffeeScript транслируется в JavaScript, при возникновении ошибок разработчикам приходилось разбираться в сгенерированном коде, что могло быть затруднительно. Хотя инструменты для отладки (source maps) со временем улучшились, эта проблема оставалась актуальной.
- Избыточность: С появлением ES6 многие функции CoffeeScript стали встроенными в JavaScript, что сделало его использование излишним. Критики отмечали, что изучение CoffeeScript было неоправданной тратой времени, так как его синтаксис не был совместим с будущим стандартом.
- Ограниченная гибкость: Backbone.js, будучи минималистичным, оставлял много решений на усмотрение разработчика, что могло приводить к несогласованности кода в больших проектах. В отличие от более «мнениятельных» фреймворков, он не навязывал строгих правил, что было как преимуществом, так и недостатком.
Примечания
- Джереми Ашкенас является автором популярного блога о разработке программного обеспечения.
- Все три его основных проекта (Underscore.js, Backbone.js, CoffeeScript) распространяются под лицензией MIT.
Источники
- Официальный сайт CoffeeScript (coffeescript.org)
- Официальный сайт Backbone.js (backbonejs.org)
- Официальный сайт Underscore.js (underscorejs.org)
- Документация и исходный код проектов на GitHub
- Публикации и интервью Джереми Ашкенаса в профильных изданиях (например, на сайте A List Apart)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →