Search
Write a publication
Pull to refresh
49
27.1
Дмитрий Соломенников @DmitrySolomennikov

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

Send message

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

Level of difficultyEasy
Reading time9 min
Views5.5K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time7 min
Views3.8K

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

Читать далее

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

Level of difficultyMedium
Reading time5 min
Views3.7K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time6 min
Views6K

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

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

Читать далее

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

Level of difficultyEasy
Reading time8 min
Views9.4K

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

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

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

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

Читать далее

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

Reading time5 min
Views7.5K


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

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

List-функции в CouchDB

Reading time3 min
Views2.1K
На Хабре часто встречается комментарий о том, что документацию разработчики не дочитывают до конца. Столкнулся с этим сам, когда открыл для себя List-функции в CouchDB.

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

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

Nikodemus' Common Lisp FAQ

Reading time11 min
Views12K
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.
Читать дальше →

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

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

LaTeX + диплом

Reading time10 min
Views24K
Продолжаем тему LaTeX + диплом.

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

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

Information

Rating
815-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity