Warning: mkdir(): No space left on device in /var/www/tg-me/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/metaprogramming/--): Failed to open stream: No such file or directory in /var/www/tg-me/post.php on line 50
Metaprogramming | Telegram Webview: metaprogramming/161 -
Telegram Group & Telegram Channel
Суть программирования

В книге Getting Real создатели Ruby on Rails описывают секрет успеха своей компании: "нанимайте хороших писателей!" (имеется в виду на должность программистов).

Научные исследования показывают, что способности к языкам более важны для программистов, чем способности к математике.

Настало время сделать финальное обобщение и прямо так сказать: программирование это способность создавать языки.

В самом благородном и парадном виде это, конечно, создание именно языков программирования. Но вообще говоря новые языки повсюду. Будь это Kubernetes со своим языком "описания того как на множестве серверов развёрнуты приложения" или ActiveRecord с языком "объявления критериев верности данных". И так далее.

Далее можно провести различие senior programmer от middle и junior. Обычно этой темы либо избегают (и это не худший вариант), либо приводят формальные критерии (количество лет опыта, перечень изученных технологий и т.п.). Понятно, что, во-первых, отличие есть. И, во-вторых, оно отнюдь не формальное, а вполне себе существенное. Но чтобы получить возможность хоть немного продвинуться в рассуждении надо зайти на формализацию этих понятий с другой стороны. Курсант военного училища это почти офицер, а прапорщик с 20 годами опыта службы никогда им не станет.

Кто-то из программистов после 5 месяцев обучения является "делающим первые шаги senior-ом". А кто-то после десяти лет опыта будет де-факто "опытным middle". Как между ними будет распределяться зарплата и прочие такие вопросы к делу отношения не имеют. Есть некое объективное различие.

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

– здесь он оформил адреса для страниц приложения правильно (потому что система адресов это крошечный искусственный язык, для которого надо выбрать красивую грамматику);
– здесь он не поленился дописать документацию (потому что документация это свой жанр текстов и в этом смысле тоже свой язык);
– здесь он провёл рефакторинг (отношения модулей, частей кода, друг с другом – тоже сорт "грамматики");
– здесь он выделил общую функциональность в отдельный пакет со своим DSL (это уже разработка своего языка без всяких кавычек и оговорок).

Пользуясь случаем, напоминаю, что у меня есть небольшой цикл лекций, посвящённый элементарным основам создания языков программировния :)

#programming



tg-me.com/metaprogramming/161
Create:
Last Update:

Суть программирования

В книге Getting Real создатели Ruby on Rails описывают секрет успеха своей компании: "нанимайте хороших писателей!" (имеется в виду на должность программистов).

Научные исследования показывают, что способности к языкам более важны для программистов, чем способности к математике.

Настало время сделать финальное обобщение и прямо так сказать: программирование это способность создавать языки.

В самом благородном и парадном виде это, конечно, создание именно языков программирования. Но вообще говоря новые языки повсюду. Будь это Kubernetes со своим языком "описания того как на множестве серверов развёрнуты приложения" или ActiveRecord с языком "объявления критериев верности данных". И так далее.

Далее можно провести различие senior programmer от middle и junior. Обычно этой темы либо избегают (и это не худший вариант), либо приводят формальные критерии (количество лет опыта, перечень изученных технологий и т.п.). Понятно, что, во-первых, отличие есть. И, во-вторых, оно отнюдь не формальное, а вполне себе существенное. Но чтобы получить возможность хоть немного продвинуться в рассуждении надо зайти на формализацию этих понятий с другой стороны. Курсант военного училища это почти офицер, а прапорщик с 20 годами опыта службы никогда им не станет.

Кто-то из программистов после 5 месяцев обучения является "делающим первые шаги senior-ом". А кто-то после десяти лет опыта будет де-факто "опытным middle". Как между ними будет распределяться зарплата и прочие такие вопросы к делу отношения не имеют. Есть некое объективное различие.

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

– здесь он оформил адреса для страниц приложения правильно (потому что система адресов это крошечный искусственный язык, для которого надо выбрать красивую грамматику);
– здесь он не поленился дописать документацию (потому что документация это свой жанр текстов и в этом смысле тоже свой язык);
– здесь он провёл рефакторинг (отношения модулей, частей кода, друг с другом – тоже сорт "грамматики");
– здесь он выделил общую функциональность в отдельный пакет со своим DSL (это уже разработка своего языка без всяких кавычек и оговорок).

Пользуясь случаем, напоминаю, что у меня есть небольшой цикл лекций, посвящённый элементарным основам создания языков программировния :)

#programming

BY Metaprogramming


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/metaprogramming/161

View MORE
Open in Telegram


Metaprogramming Telegram | DID YOU KNOW?

Date: |

That growth environment will include rising inflation and interest rates. Those upward shifts naturally accompany healthy growth periods as the demand for resources, products and services rise. Importantly, the Federal Reserve has laid out the rationale for not interfering with that natural growth transition.It's not exactly a fad, but there is a widespread willingness to pay up for a growth story. Classic fundamental analysis takes a back seat. Even negative earnings are ignored. In fact, positive earnings seem to be a limiting measure, producing the question, "Is that all you've got?" The preference is a vision of untold riches when the exciting story plays out as expected.

Pinterest (PINS) Stock Sinks As Market Gains

Pinterest (PINS) closed at $71.75 in the latest trading session, marking a -0.18% move from the prior day. This change lagged the S&P 500's daily gain of 0.1%. Meanwhile, the Dow gained 0.9%, and the Nasdaq, a tech-heavy index, lost 0.59%. Heading into today, shares of the digital pinboard and shopping tool company had lost 17.41% over the past month, lagging the Computer and Technology sector's loss of 5.38% and the S&P 500's gain of 0.71% in that time. Investors will be hoping for strength from PINS as it approaches its next earnings release. The company is expected to report EPS of $0.07, up 170% from the prior-year quarter. Our most recent consensus estimate is calling for quarterly revenue of $467.87 million, up 72.05% from the year-ago period.

Metaprogramming from pl


Telegram Metaprogramming
FROM USA