Открыть сервис

Джереми Ашкенас

Джереми Ашкенас (англ. 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-х годов:

  1. Проблема организации кода: Backbone.js предоставил простую и понятную структуру для клиентских приложений, что было особенно важно до появления более сложных фреймворков.
  2. Проблема читаемости и выразительности: CoffeeScript показал, что JavaScript можно сделать более удобным для чтения и написания, стимулировав развитие идей, которые позже были реализованы в стандарте ES6.
  3. Проблема функциональных утилит: 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 →