Обновить
1024K+

Программирование *

Искусство создания компьютерных программ

1 389,63
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Подсветка синтаксиса для собственного языка

Время на прочтение4 мин
Охват и читатели7.7K
imageПодсветка синтаксиса — задача простая и решалась много раз. Но есть у нее одна неприятная особенность — если мы хотим подсветить синтаксис нового языка (например, языка bb-тэгов хабраредактора, или лога какой программы), то большинство решений включает создание грамматики, парсера, и затем встраивание это всего куда-нибудь. А что делать, если получить подсветку для логов желание есть, а тратить на это три часа желания нет?

Воспользоваться самым простым способом

Метапрограммирование

Время на прочтение4 мин
Охват и читатели4.5K
imageМетапрограммирование — общее название класса средств автоматизации труда программиста. Под ним понимают и кодогенерацию, и макросы препроцессора в C, и шаблоны C++, и макросы LISP, и создание своих DSL, а так же использование динамических языков с генерацией кода на лету. Nemerle поддерживает еще один вариант метапрограммирования.

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

Знакомство с Processing 1.0

Время на прочтение4 мин
Охват и читатели123K
Цель написания этого топика — познакомить вас с замечательным языком Processing. Этот ЯП не может похвастать широкой функциональностью или богатыми выразительными средствами, но он способен предложить кое-что другое…
Читать дальше

Хитрость

Время на прочтение1 мин
Охват и читатели1.4K
В связи с постом вспомнилась небольшая история из жизни.

image

Учавствовал как-то на киевской олимпиаде по информатике. Было 4 задачи, 2 я довольно быстро решил, как мог, а 2 что-то вообще никак не шли.
Читать дальше →

Россия снова стала чемпионом мира по программированию

Время на прочтение2 мин
Охват и читатели922
Уже второй год подряд победителем студенческого чемпионата мира по программированию стала команда Санкт-Петербургского государственного университета информационных технологий, механики и оптики.

image


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

ACM ICPC World Finals 2009: три золотых медали — наши

Время на прочтение1 мин
Охват и читатели1.4K
Объявлены итоги ежегодного студенческого чемпионата по программированию ACM ICPC:
image

Три из четырех золотых медалей взяли команды из России:

  1. St. Petersburg State University of IT, Mechanics and Optics
  2. Tsinghua University
  3. St. Petersburg State University
  4. Saratov State University
Поздравляем наших ребят и желаем им дальнейших успехов!
Имена героев...

Скучный эксплойт для одной широкой дыры

Время на прочтение2 мин
Охват и читатели2.5K
Хаброюзер allan_sundry во флейме про ботнет под Mac OS X не поверил, что недавняя уязвимость в Linux-овом udev действительно широка, глубока и в ряде случаев даже опасна. В ответ я решил написать этот топик, демонстрирующий, что создать рабочий эксплойт для опубликованной уязвимости нередко может даже фриланствующий студент-недоучка, потратив пару-тройку часов воскресным вечером.
Читать дальше →

С днём вебмастера

Время на прочтение1 мин
Охват и читатели687
С днём вебмастера!

4 апреля — один из неофициальных праздников, о которых слышало большинство айтишников, и о котором почти не знают интернет пользователи. Да, именно в этот день принято отмечать день вебмастера.

И в эту весеннюю субботу хочу искренне поздравить всех вебмастеров, программистов, стартапщиков и веб-разработчиков с праздником! С днём вебмастера!

Squeak: Работа над ошибками

Время на прочтение2 мин
Охват и читатели1.8K
После моего поста-туториала об установке и запуске Squeak, мне сообщили об ошибках возникших в процессе. Ошибки следующие:
  • Зависание при установке FreeType Plus (в Pharo поддержка встроена, поэтому в нем проблемы нет).
  • Не открывается SqueakMap в образе squeak-dev и squeak-webdev

Поэтому я решил разместить решение этих двух проблем.
Решение проблем

Seaside 2.9: Частичные продолжения

Время на прочтение10 мин
Охват и читатели1.7K
Некоторое время назад на хабре проскакивал топик про «континуации» от ХабраЮзера qmax. Он был весьма впечатлен идеей, а вот подробно рассказать не вышло. И вот недавно один из разработчиков Seaside, Джулиан Фитзелл написал потрясающую по своей доходчивости статью. С его разрешения я сделал ее перевод и хотел бы поделиться с хабрасообществом.

Сразу хотелось бы сказать о терминологии. В качестве перевода слова continuation я использую наиболее близкое по смыслу «продолжение». Общая же терминология статьи для неискушенного в Smalltalk разработчика может показаться непривычной. Так, вместо стека вызовов используется «цепь контекстов», а вместо потока — «процесс». Если у вас останутся вопросы после прочтения — смело задавайте их в комментариях. Спасибо.
читать полный текст статьи

Как попробовать Smalltalk на вкус

Время на прочтение7 мин
Охват и читатели18K
Smalltalk LogoС выходом на большую арену Ruby и с появлением фреймворка Seaside, все чаще упоминается Smalltalk. Однако, среди молодого поколения (разработчики до 30 лет) бытует мнение, что это мертвый язык, разработанный на заре появления ПК и тогда же похороненный. Упоминание о Smalltalk на лекциях по ЯП, недалеко от COBOL, делает его еще более архаичным.

Однако, это неправда! Все это время Smalltalk жил, иногда даже рядом с нами, развивался, использовался для решения серьезных задач, а иногда — для несерьезных. вот тут просто фраза как-то странно построена. Но вот притока свежей крови в сообщество разработчиков практически не было. Причины сейчас перечислять бессмысленно.

Но что происходит когда программисту хочется попробовать что-то новенькое? Он пытается это сделать. И от того, насколько это легко или сложно, с какими проблемами он столкнется, зависит его отношение к инструменту в дальнейшем.
попробовать Smalltalk

Файлы, отображаемые в память

Время на прочтение3 мин
Охват и читатели107K
В этой статье я хотел бы рассказать о такой замечательной штуке, как файлы, отображаемые в память(memory-mapped files, далее — MMF).
Иногда их использование может дать довольно таки существенный прирост производительности по сравнению с обычной буферизированной работой с файлами.
Так что ж это такое?

Ближайшие события

Разбор опций командной строки в UNIX-подобных системах

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

Введение


Одной из важных задач любой программы, будь она консольной или графической является интерпретация аргументов командной строки. Формально аргументами называются все слова в командной строке(в том числе и имя самой команды) разбитые разделителем (как правило, это пробел и табуляция), кавычки же позволяют включать разделители в аргументы.
Аргументы можно подразделить на опции и операнды. Опции изменяют поведение программы или предоставляют ей дополнительную информацию. У опции могут быть свои аргументы, которые являются информацией необходимой только для этой опции.
Продолжим здесь

Вступительное слово

Время на прочтение1 мин
Охват и читатели862
Доброго всем времени суток.

В школе за сочинения у меня были одни двойки и тройки, поэтому сразу извините за нескладный слог в этом и последующих топиках =)

Недавний опрос показал, что хабралюди интересуются вопросами разработки под unix-like ОС. Всвязи с этим было решено создать этот блог. Его тематика несколько шире, чем задумывалась первоначально(программирование на Си под *nix — так уж сложилось, что хорошо знаю я только этот язык программирования), но я наивно надеюсь, что сознательные хабралюди помогут с наполнением блога статьями на темы, о которых я не имею ни малейшего представления =)
Хотелось бы услышать в комментариях пожелания, что бы вы хотели видеть в этом блоге, в каком ключе статьи («для самых маленьких» или же для матерых кодеров), на какие темы и т.п.
Всем успехов.

Три парадигмы F#

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

Введение


Все, кто так или иначе связан с .NET программированием знает, что уже в следующую версию Visual Studio будет встроен новый язык программирования — F#, который позиционируется как функциональный, чем сразу, так уж повелось, вызывает подозрения в бесполезности. Для того, чтобы показать, что F# — куда больше, чем просто ФЯП (хотя и просто ФЯП — это очень немало), я и написал все нижеследующее.
Эта статья, несмотря на изрядную длину, не претендует на то, чтобы полностью описать всю функциональность языка. Это всего лишь краткий обзор, призванный продемонстрировать широкий спектр возможностей, каждая из которых заслуживает отдельной статьи, и даже не одной.
Кроме того, написав такой пространный пост, я хотел сделать задел на будущее, чтобы в дальнейшем мне не отвлекаться на незначительные вещи базового уровня. Конечно, сразу головой в пруд — это действенно, но и какой-никакой фундамент не помешает.
А уже в следующий раз я приведу пример на волнующую тему пригодности F# для обычной профессиональной программистской деятельности.
И еще раз, под катом действительно МНОГО текста. И не говорите потом, что я вас не предупреждал. =)
Читать дальше →

Премию Тьюринга опять дали женщине

Время на прочтение1 мин
Охват и читатели2.1K
Самую престижную в области информатики Премию Тьюринга в этом году опять дали женщине. Опять, потому что это произошло во второй раз за последние три года. То есть в последнее время лучшими программистами и компьютерными учёными мира признаются не мужчины, а женщины.

В этом году премию присудили Барбаре Лисков (Губерман), профессору Массачусетского технологического института. Барбара Лисков руководила разработкой таких языков программирования как CLU и Argus в 1970-х и 80-х годах, а также объектно-ориентированной системы управления базами данных Thor. Вместе с Дженнет Уинг, Лисков разработала в 1987 году принцип подстановки — концепцию определения подтипа, очень важный элемент в логике объектно-ориентированных языков программирования. Её изобретения стали основой для разработки языков C++, Java и C#. Кстати, она является первой в США женщиной, получившей степень доктора компьютерных наук (в далёком 1968 году).

«Всякий раз, когда вы обмениваетесь электронной почтой с другом, проверяете банковский счёт в интернете или запускаете поиск Google, вы пользуетесь плодами её исследований», — сказал проректор МТИ Рафаэль Рейф, комментируя решение жюри.

via MIT News

Особенности влияния изучения нескольких языков программирования

Время на прочтение2 мин
Охват и читатели1.6K
Попробуйте в уме высчитать результат вычисления следующего выражения:

true ? false ? 5 : 6 : true ? 7 : 8

Высчитали? А теперь идём под хабракат
за правильным ответом