Программирование → Еще один рейтинг популярности языков программирования
Я нашел еще один (очень простой) график, отражающий рейтинг языков программирования. Всё элементарно: по горизонтали — количество проектов на Github, по вертикали — количество вопросов на Stackoverflow.

Я позволил себе провести на этом графике две красные диагональные линии, чтобы показать как наглядно отделены друг от друга мейнстрим (C++, C#, Java, PHP, Javascript и т.д.), группа «альтернативного мировозрения» (Scala, Haskell, Erlang, Prolog, Lisp) и откровенный трэш (всё, что ниже). По-моему, проще некуда. Никаких там годовых колебаний в полтора процента, высчитанных по непонятным формулам.
Взято тут.
UPD: сорри за мини-троллинг со словом «трэш» — зато он породил весьма интересную дискуссию в комментариях. Всем высказавшимся — спасибо.

Я позволил себе провести на этом графике две красные диагональные линии, чтобы показать как наглядно отделены друг от друга мейнстрим (C++, C#, Java, PHP, Javascript и т.д.), группа «альтернативного мировозрения» (Scala, Haskell, Erlang, Prolog, Lisp) и откровенный трэш (всё, что ниже). По-моему, проще некуда. Никаких там годовых колебаний в полтора процента, высчитанных по непонятным формулам.
Взято тут.
UPD: сорри за мини-троллинг со словом «трэш» — зато он породил весьма интересную дискуссию в комментариях. Всем высказавшимся — спасибо.
Программирование → Индекс популярности языков программирования за февраль 2012

Февральский рейтинг языков программирования, публикуемый компанией Tiobe, показал следующее:
- Самыми популярными языками программирования остаются Java (первое место) и С, причем отрыв последнего от лидера весьма мал. Однако же, лидерство этой пары очевидно.
- Самым популярным языком программирования серверной части web-приложений остается PHP. Python и Perl отстают от него довольно значительно.
- JavaScript — топ-язык для клиентского web-программирования.
- Значительно выросла доля Objective-C (5-е место): вероятно, играет роль популярность продукции Apple.
- Доля объектно-ориентированных языков составляет около 50%, процедурных — 36%.
Tiobe при составлении рейтинга популярности учитывает число специалистов по языку, число существующих учебных курсов по нему, вендоров, поддерживающих язык, а также количество кода, индексируемого поисковыми системами.
Программирование → Субботние записки: О мёртвых языках и живой практике
Мы все знаем, что в мире создано несколько тысяч языков программирования. Один только список программ Hello, world с сайта Wikibooks включает в себя 230 категорий (полный список на сегодня состоит из 402 элементов). При этом известный рейтинг TIOBE подтверждает очевидное соображение: основная масса этих языков скорее мертва, чем жива. Уже на долю первого десятка языков приходится 76,77% всех учтённых TIOBE проектов. Второй десяток увеличивает эту долю до 85,61%. Стало быть, на оставшиеся 30 языков (TIOBE учитывает лишь первые 50 языков при расчёте процентов) приходится менее 15% упоминаний.
Понятно, что рейтинги заключают в себе некоторую долю лукавства, поскольку даже непопулярный по общим цифрам язык может быть крайне важен для какой-либо узкой сферы. Возьмём любимый здесь многими Erlang или Haskell (39-е и 41-е места рейтинга) или ещё более очевидные Simulink и LabVIEW, вообще не попавшие в Top 50, но незаменимые в своих областях. С другой стороны, очевидно, что языки действительно приходят и уходят, и популярность, скажем, Паскаля обречена на снижение, поскольку на смену идут более прогрессивные языки, метящие в ту же нишу. (Не будем упоминать здесь Delphi, в котором от Паскаля остался разве что базовый синтаксис. У традиционного паскалиста листинг на Delphi может вызывать такой же ступор, какой у меня вызвала первая увиденная мною программа на Visual Basic 6, с этими Private и Public, Option Strict и Dim As, напрочь отсутствовавшими в родном Бейсике ZX Spectrum.)
Однако все языки создавались для чего-то, а не просто так. И перед тем как окончательно отправить тот или иной язык в архив истории, следовало бы полностью осознать его наследие, употребимое в текущей практике программирования. А может статься, что некоторые языки вообще списаны со счетов зазря. Вопрос лишь в том, как грамотно провести ревизию, инвентаризацию всего этого добра из сотен и тысяч языков, как извлечь крупицы смысла из гор отработанной породы? Об этом мне и хотелось бы поговорить. Сразу скажу, у меня нет хороших ответов, но есть хорошие вопросы.
Понятно, что рейтинги заключают в себе некоторую долю лукавства, поскольку даже непопулярный по общим цифрам язык может быть крайне важен для какой-либо узкой сферы. Возьмём любимый здесь многими Erlang или Haskell (39-е и 41-е места рейтинга) или ещё более очевидные Simulink и LabVIEW, вообще не попавшие в Top 50, но незаменимые в своих областях. С другой стороны, очевидно, что языки действительно приходят и уходят, и популярность, скажем, Паскаля обречена на снижение, поскольку на смену идут более прогрессивные языки, метящие в ту же нишу. (Не будем упоминать здесь Delphi, в котором от Паскаля остался разве что базовый синтаксис. У традиционного паскалиста листинг на Delphi может вызывать такой же ступор, какой у меня вызвала первая увиденная мною программа на Visual Basic 6, с этими Private и Public, Option Strict и Dim As, напрочь отсутствовавшими в родном Бейсике ZX Spectrum.)
Однако все языки создавались для чего-то, а не просто так. И перед тем как окончательно отправить тот или иной язык в архив истории, следовало бы полностью осознать его наследие, употребимое в текущей практике программирования. А может статься, что некоторые языки вообще списаны со счетов зазря. Вопрос лишь в том, как грамотно провести ревизию, инвентаризацию всего этого добра из сотен и тысяч языков, как извлечь крупицы смысла из гор отработанной породы? Об этом мне и хотелось бы поговорить. Сразу скажу, у меня нет хороших ответов, но есть хорошие вопросы.
Программирование → Обзор языка программирования Rust из песочницы
Rust — новый экспериментальный язык программирования, разрабатываемый Mozilla. Язык компилируемый и мультипарадигмальный, позиционируется как альтернатива С/С++, что уже само по себе интересно, так как даже претендентов на конкуренцию не так уж и много. Можно вспомнить D Вальтера Брайта или Go от Google.
В Rust поддерживаются функицональное, параллельное, процедурное и объектно-ориентированное программирование, т.е. почти весь спектр реально используемых в прикладном программировании парадигм.
Я не ставлю целью перевести документацию (к тому же она весьма скудная и постоянно изменяется, т.к. официального релиза языка еще не было), вместо этого хочется осветить наиболее интересные фичи языка. Информация собрана как из официальной документации, так и из крайне немногочисленных упоминаний языка на просторах Интернета.
В Rust поддерживаются функицональное, параллельное, процедурное и объектно-ориентированное программирование, т.е. почти весь спектр реально используемых в прикладном программировании парадигм.
Я не ставлю целью перевести документацию (к тому же она весьма скудная и постоянно изменяется, т.к. официального релиза языка еще не было), вместо этого хочется осветить наиболее интересные фичи языка. Информация собрана как из официальной документации, так и из крайне немногочисленных упоминаний языка на просторах Интернета.
Ненормальное программирование → Новогодний квест: разбор
Мой квест был опубликован трое суток назад, так что можно переходить к разбору. По моим оценкам, большинство желающих уже поломали над заданиями голову вволю, но если вы хотите попробовать еще — не заглядывайте под кат, чтобы не испортить удовольствие :-)
Один из самых частых отзывов на мои паззлы и загадки — ой, классно, но очень уж сложно, нам бы что попроще… Поэтому первые несколько уровней я старалась делать простыми и/или классическими, чтобы не остужать интерес игроков с самого начала. Затем шло несколько уровней, основанных на моих старых публикациях на Хабре, задуманные как бонус тем, кто внимательно изучит мои труды :-) И наконец, два последних уровня были самыми сложными — к их темам я раньше не обращалась никогда. Мои поздравления тем, кто прошел квест сам или с подсказками — к сожалению, я не заложила никакого способа оценки количества таких людей. Всего скачиваний архива с квестом было более 20000.
Один из самых частых отзывов на мои паззлы и загадки — ой, классно, но очень уж сложно, нам бы что попроще… Поэтому первые несколько уровней я старалась делать простыми и/или классическими, чтобы не остужать интерес игроков с самого начала. Затем шло несколько уровней, основанных на моих старых публикациях на Хабре, задуманные как бонус тем, кто внимательно изучит мои труды :-) И наконец, два последних уровня были самыми сложными — к их темам я раньше не обращалась никогда. Мои поздравления тем, кто прошел квест сам или с подсказками — к сожалению, я не заложила никакого способа оценки количества таких людей. Всего скачиваний архива с квестом было более 20000.
Ненормальное программирование → Новогодний квест
Пару дней назад я поддалась всеобщему новогоднему настроению и решила сделать новогодний квест. Собственно, вот он.
Принцип я подсмотрела в квестах Дмитрия Астапова aka _adept_: на каждом уровне дается задание (текст или картинка), решив его, получаем пароль к архиву, в котором лежит следующий уровень. Архив нулевого уровня (quest.zip) без пароля.
Задания получились разные — частично на ненормальное программирование, как я и планировала изначально, частично на догадливость. Поскольку из текстового файла, а тем более из картинки, при должном желании и изобретательности можно выжать очень много вариантов скрытого текста, правильный пароль на всех уровнях отмечен префиксом «pwd:» (вводить пароль нужно без префикса).
Надеюсь, вам понравится. С наступающим!
P.S. Наличие багов не исключено; пишите в личку, исправлю, обновлю.
Update. В паззл уровня 6 закралась ошибка; исправлена, архив quest.zip обновлен (размер архива должен быть 21501 байт). Если у кого-то закешировалась старая версия, скачать его же можно по ссылке tc-alchemy.progopedia.com/quest-patch1.zip
Принцип я подсмотрела в квестах Дмитрия Астапова aka _adept_: на каждом уровне дается задание (текст или картинка), решив его, получаем пароль к архиву, в котором лежит следующий уровень. Архив нулевого уровня (quest.zip) без пароля.
Задания получились разные — частично на ненормальное программирование, как я и планировала изначально, частично на догадливость. Поскольку из текстового файла, а тем более из картинки, при должном желании и изобретательности можно выжать очень много вариантов скрытого текста, правильный пароль на всех уровнях отмечен префиксом «pwd:» (вводить пароль нужно без префикса).
Надеюсь, вам понравится. С наступающим!
P.S. Наличие багов не исключено; пишите в личку, исправлю, обновлю.
Update. В паззл уровня 6 закралась ошибка; исправлена, архив quest.zip обновлен (размер архива должен быть 21501 байт). Если у кого-то закешировалась старая версия, скачать его же можно по ссылке tc-alchemy.progopedia.com/quest-patch1.zip
Персональные блоги → Поздравление с Новым 2012 годом на 150 языках
Уважаемые Хабравчане!
Поздравляю вас с наступающим новым годом! Желаю Вам творческих успехов, карьерного, интеллектуального и духовного роста!
Хочу сделать вам небольшой подарок: поздравления с новым годом на более чем 150 языках программирования!

Поздравляю вас с наступающим новым годом! Желаю Вам творческих успехов, карьерного, интеллектуального и духовного роста!
Хочу сделать вам небольшой подарок: поздравления с новым годом на более чем 150 языках программирования!

Программирование → Вышел Lua 5.2.0
После продолжительного ожидания наконец-то выпущена версия 5.2 языка Луа.
Официальный сайт на момент написания этого текста ещё не обновлён, но вот анонс в официальной рассылке: thread.gmane.org/gmane.comp.lang.lua.general/86552
Список изменений в языке можно посмотреть здесь: www.lua.org/work/doc/manual.html#8 (на английском языке, после обновления сайта скорее всего будет доступен по другому урлу).
Скачать официальную реализацию можно здесь: www.lua.org/ftp/lua-5.2.0.tar.gz
Зеркало: www.tecgraf.puc-rio.br/lua/ftp/lua-5.2.0.tar.gz
Официальный сайт на момент написания этого текста ещё не обновлён, но вот анонс в официальной рассылке: thread.gmane.org/gmane.comp.lang.lua.general/86552
Список изменений в языке можно посмотреть здесь: www.lua.org/work/doc/manual.html#8 (на английском языке, после обновления сайта скорее всего будет доступен по другому урлу).
Скачать официальную реализацию можно здесь: www.lua.org/ftp/lua-5.2.0.tar.gz
Зеркало: www.tecgraf.puc-rio.br/lua/ftp/lua-5.2.0.tar.gz
Ненормальное программирование → Первый язык программирования высокого уровня — Планкалкюль
Планкалкюль (Plankalkül) — первый в мире язык программирования высокого уровня, разработанный немецким инженером Конрадом Цузе между
1942 и 1946 годами для его компьютера «Z4» (компьютер на снимке ниже, фото взято из «Википедии»).

Шла Вторая Мировая Война, Цузе работал в отрыве от учёных других стран, совершенно самостоятельно. За это время он создал не только язык программирования,
но и написал на нём 49 страниц программ для оценки шахматных позиций. Полностью его работа была опубликована много позже, в 1972.
Рискну рассказать об этом языке программирования, в качестве археологического изыскания. Тем более, что на русском языке об этом языке сказано очень мало.
1942 и 1946 годами для его компьютера «Z4» (компьютер на снимке ниже, фото взято из «Википедии»).

Шла Вторая Мировая Война, Цузе работал в отрыве от учёных других стран, совершенно самостоятельно. За это время он создал не только язык программирования,
но и написал на нём 49 страниц программ для оценки шахматных позиций. Полностью его работа была опубликована много позже, в 1972.
Рискну рассказать об этом языке программирования, в качестве археологического изыскания. Тем более, что на русском языке об этом языке сказано очень мало.