Обновить
49
1.2
Дмитрий Соломенников@DmitrySolomennikov

Компиляторщик, соавтор языков программирования

Отправить сообщение

Java 25: упрощённые исходники

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели13K

Язык Java развивается. Не так давно вышла очередная версия, в которой, помимо всего прочего, вышло любопытное обновление языка (JEP-512).

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

В этой статье хочу рассказать о том, как это сделано. Для этого заглянем в компилятор и немного коснемся теории создания языков.

Читать далее

Важные языки. Часть 2. Lisp

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели11K

В конце лета 1955 года в колледже Дартмут под руководством доцента кафедры математики Джона МакКарти состоялся семинар, посвященный вопросам искусственного интеллекта. Результатом этого семинара стал запрос на проведение исследовательского проекта.

Целью исследования стала проверка гипотезы, что все детали обучения или любые другие особенности интеллекта [человека] в принципе могут быть описаны так, что станет возможно создать машину для их моделирования.

Это было начало истории появления языка Lisp.

Читать далее

Без(д)воз(д)мездно, то есть даром

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели13K

Сегодня, мои дорогие читатели, хочу поговорить об экономике или почему за программы приходится платить.

Читать далее

Что вы знаете о Яве?

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели2.6K

В честь 30-летия языка Java мы с коллегами сделали подборку интересных фактов, с этим языком связанных. Иногда самым неожиданным образом.

Читать далее

Компилируем компилятор или ускоряем javac вдвое

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.4K

Ну блин короче :-)

Знаете ли вы, куда уходит время и ресурсы при сборке проектов на Java? Сейчас покажем и расскажем, как сберечь время, нервы и кофе.

Мы ускорили javac вдвое и теперь можно экономить на сборке.

Читать далее

Важные языки. Часть 1. Forth

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4K

Этой статьей начинаю краткий цикл о трех языках программирования, знакомство с которыми считаю очень важным для любого профессионала в программировании: Форт, Лисп и Оберон.

Сразу оговорюсь, что я не призываю на этих языках разрабатывать, нужны очень веские причины, чтобы принять такое решение. Но знакомство с ними — важная часть профессионального роста.

Читать далее

Дайте мне точку опоры…

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели2K

...и я переверну землю.

Заметка о том, как перевернуть мир в отдельно взятом SVG-файле (на Common Lisp).

Читать далее

Зачем делать новый язык программирования?

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели9.9K

Когда в публичном пространстве появляется информация о новом языке программирования, поднимается волна неприятия. Негатива столько, что хоть святых выноси!

Причин у этого явления много и, скорее всего, сделать с ним ничего нельзя, такова уж человеческая природа.

Однако можно подойти к вопросу рационально, и все-таки попробовать поискать ответ на вопрос, а зачем, собственно, создавать новый язык программирования?

Попробуем разобрать мотивы, подвигающие людей на такую работу.

Читать далее

Пакеты, системы, модули, библиотеки — КАКОГО?

Время на прочтение5 мин
Охват и читатели7.9K


По моим наблюдениям, минимум раз в неделю в списке c.l.l или другом Lisp-списке «новички» путаются в том, что связано с пакетами. Говорят о «загрузке» пакета, «требовании» (requiring) пакета, удивляются тому, что после загрузки системы нужно пользоваться маркерами пакетов и т.д. Меня это раздражает, думаю также, что это может быть одной из причин, почему начинающие считают, что использование библиотек в Lisp сложнее, чем есть на самом деле.

Обычно я прекращаю попытки написать полезное объяснение, и, естественно, это объяснение очень простое. Я создал эту страницу, чтобы в следующий раз просто отправить сюда, вместо того, чтобы снова и снова объяснять одно и то же.
Читать дальше →

List-функции в CouchDB

Время на прочтение3 мин
Охват и читатели2.3K
На Хабре часто встречается комментарий о том, что документацию разработчики не дочитывают до конца. Столкнулся с этим сам, когда открыл для себя List-функции в CouchDB.

Мне показался вопрос достаточно сложным и не очень хорошо объясненным в документации, решил поделиться с уважаемым сообществом своим исследованием.

List-функции в design-документах CouchDB нужны для того, чтобы иметь возможность обработать всю базу данных одной функцией. Т.е. это некий аналог Full Table Scan в реляционных базах.
Читать дальше →

Nikodemus' Common Lisp FAQ

Время на прочтение11 мин
Охват и читатели12K
Nikodemus' Common Lisp FAQ


Последнее обновление: 2012-04-13

Это очень неофициальное ЧаВО по языку Common Lisp, отражающее субъективное мнение Nikodemus Siivola. Этот текст частично основан на других ЧаВО, встречавшихся на просторах интернета и comp.lang.lisp.
Если вы думаете, что я воспользовался вашим текстом, буду рад признаться в этом, поэтому пишите на nikodemus@random-state.net.
Текущая версия этого ЧаВО доступна по следующим адресам:
http://random-state.net/files/nikodemus-cl-faq.txt
http://random-state.net/files/nikodemus-cl-faq.html
ЧаВО также периодически публикуется в comp.lang.lisp.
Читать дальше →

Живучие программы

Время на прочтение1 мин
Охват и читатели553
Есть у меня приятель, который в свое время написал на работе пару программ. Делал он это, что называется, для души — просто брал и автоматизировал свою деятельность. Поначалу на его работу никто не обращал внимания, мол, ковыряешься и Бог с тобой. Через некоторое время программы стали «расползаться» — приходили люди из соседних отделов, затем из соседних контор и просили поделиться. Где-то через полтора года мы насчитали более 100 инсталляций программы, притом что у нее отсутствовала документация и техподдержка. Это было в 2001 году. В 2002 году приятель поменял область деятельности и перестал заниматься разработкой. Программы разошлись уже в другие регионы, по одной из них была написана дипломная работа. Денег с программ приятель не получил, да и не особо старался.
Интересное началось в этом году, когда распоряжением головной конторы, расположенной Москве, обе программы были сначала заменены на централизованные, а затем и вообще отключены. По факту оказалось, что практически во всех подразделениях, эксплуатировавших программы моего приятеля, сотрудники заполняли данными обе программы, и московскую, и «свою».
Отключение продолжалось недолго — одну программу вернули через 3 дня, другую — через две недели. Более того, приятелю хотят заплатить за развитие обеих программ, а одну из них информатизаторам вменили внедрять во всех подразделениях в обязательном порядке.
Мораль сей басни такова: если программа пишется снизу, от потребности, то люди будут за нее горой и жизнь у нее будет долгая, хотя, быть может, не всегда счастливая. В отличие от программ, насаждаемых сверху, которыми люди пользуются, но зачастую тихо ненавидят.

LaTeX + диплом

Время на прочтение10 мин
Охват и читатели25K
Продолжаем тему LaTeX + диплом.

Понадобилось мне написать диплом. Времени в обрез, требования жесткие. Материал есть, текст почти готов, надо оформлять. Сел, подумал, и решил, что ручной версткой уж точно заниматься не хочется. Из опыта участия во всевозможных олимпиадах вспомнилось, что лучше час потерять, но сделать решение, которое потом пройдет тесты, чем сразу сделать что-то и потому судорожно переделывать. Плюс к тому хотелось таки заняться плотным изучением Latex и компании.

Читать дальше →

Информация

В рейтинге
1 637-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Работает в
Дата рождения
Зарегистрирован
Активность