Обновить
1113.74

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

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

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

Привет из свободного от libc мира! (Часть 1)

Время на прочтение5 мин
Количество просмотров30K
В качестве упражнения я хочу написать программу на С. Достаточно простую для того, чтобы дизассемблировать ее и объяснить весь код самой себе.

Звучит несложно, правильно?

У читателя предполагается наличие опыта компиляции программ и работы в Линуксе. Небольшое умение читать ассемблерный код тоже пригодится.
Читать дальше →

Когда программисту надоедает программирование

Время на прочтение3 мин
Количество просмотров10K
С год назад я столкнулся со странной «проблемой». Уже 7 лет как я занимаюсь программированием. Постепенно начал замечать «спад активности» — учить новое не хочется, рутиной заниматься не просто лень, а мега-лень, базы данных и обработка XML — в печенках уже сидит. И вдруг неожиданно понимаю, что программирование мне… надоело.

image

Что теперь делать? Как быть? Кто виноват? Ведь программирование — это то, что я всегда и больше всего любил. А самое важное — это то, чем я зарабатываю на жизнь. И больше не могу «это» делать.

Я попытаюсь рассмотреть проблему со всех сторон. Начнем с грустного.

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

Принцип подстановки Барбары Лисков

Время на прочтение6 мин
Количество просмотров155K
Привет, хабрачеловеки!

Захотелось вот поделиться сокровенным знанием по этой теме. К тому же материалов по этому, достаточно важному принципу проектирования классов и их наследования, в Рунете как-то негусто. Имеются формулировки вида:

«Пусть q(x) является свойством верным относительно объектов x некоторого типа T. Тогда q(y) также должно быть верным для объектов y типа S, где S является подтипом типа T.» © Wikipedia

Но они выносят мой мозг меня совершенно не радуют.

Если хочется услышать объяснение этой хрени умной фразы — прошу под кат.
Читать дальше →

Смех сквозь слёзы: Всеукраинский конкурс по информационным технологиям

Время на прочтение4 мин
Количество просмотров3.2K
Привет, хабрачеловек! Мне довелось принимать участие в «Всеукраинском конкурсе молодежи по информационным технологиям», в номинации «Web-программирование», который в этом году проходил в городе Бровары, не далеко от Киева. То, что я там увидел — меня, откровенно говоря, повергло в шок. Подробнее — под катом.
Читать дальше →

Программирование в таблицах — новая концепция записи условных (и не только) конструкций

Время на прочтение8 мин
Количество просмотров6.1K
Не так давно, в процессе поиска в сети альтернативных подходов к программированию я наткнулся на очень интересное видео. Это 40-минутная презентация с интригующим названием «No Ifs, Ands, or Buts. Uncovering the Simplicity of Conditionals». Автор презентации Джонатан Эдвардс (Jonathan Edwards) рассказывает о новой концепции записи условных конструкций при помощи созданных им схематических таблиц (schematic tables).

Эта тема должна быть интересна всем, кто хоть немного интересуется программированием. Если у вас нет в распоряжении лишних сорока минут или вы не можете посмотреть видео по какой-либо другой причине, предлагаю ознакомиться с моим кратким пересказом презентации Джонатана.
Читать дальше →

За что я люблю программирование

Время на прочтение3 мин
Количество просмотров10K
Когда я был маленьким, я очень любил писать программы. Интерес был вызван, скорее, обидой. Почему это компьютер умнее меня? И игрой. Игрой, заставить его, компьютер, делать то что я хочу. Ты нажимаешь кнопку, а он говорит что не так, ты правишь ошибку, а он говорит что опять не так… И вот оно запустилось. А счастья нет. Ты начинаешь разбираться… искать… Ты чувствуешь себя строителем мира, так мне тогда казалось. Мне казалось что я создаю свою вселенную… Свой маленький мир…

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

Hello World! как ему следует быть на C в Linux

Время на прочтение3 мин
Количество просмотров52K
Очень многие начинающие программисты думают, что знают, как написать Hello World. Естественно, с этого примера ведь и начинается большинство учебников.
А давайте посмотрим, как это делается.
Обычно в учебнике по C эта программа выглядит примерно так:
#include <stdio.h>
void main()
{
    printf("Hello world\n");
}

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

Президент России подписал указ об утверждении Дня программиста

Время на прочтение1 мин
Количество просмотров789
Указ, который, который уже неоднократно упоминался на Хабре, вступает в силу.
Отныне 13 сентября официальный День программиста! (12 сентября — в високосные годы)
С наступающим профессиональным праздником, коллеги!!!
Читать дальше →

Лучшие «программистские» шутки о Чаке Норрисе

Время на прочтение2 мин
Количество просмотров4.2K
  • Все массивы Чак Норрис объявляет бесконечными, потому что Чак Норрис не знает границ
  • Чак Норрис пишет код который оптимизирует себя сам
  • Чак Норрис не может тестировать на равенство потому что он не имеет себе равных
  • Первая программа Чака Норриса была kill -9
  • MySpace на самом деле это не ваше пространство 'space', это пространство Чака (просто он дает вам пользоваться им)
  • Чак Норрис может написать функцию бесконечной рекурсии и получить ее результат
  • Чак Норрис может решить задачу Башен Ханоя за один ход
  • Чак Норрис прошел до конца World of Warcraft
  • «У меня это работает» всегда справедливо для Чака Норриса
  • Чак Норрис может удалить Корзину
  • Борода Чака Норриса может печатать 140 слов в минуту
  • Чак Норрис может тестировать все приложение всего одним ассертом (одной проверкой)
  • У клавиатуры Чака нет клавишы Ctrl потому что ничто его не может контролировать.

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

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

Время на прочтение4 мин
Количество просмотров4.5K
1801 — Иосиф Мария Жаккард с помощью перфокарт вышивает «hello world» на ткани. Хабровчане тех времен недовольны отсутствием хвостовой рекурсии, многопоточности и заглавных букв.

1842 — Ада Лавлейс пишет первую программу. Её успехам препятствует маленькая проблемка — компьютера для исполнения этой программы ещё не изобрели. Через полтора века архитекторы корпоративных приложений переймут технику Ады по написанию неисполняемых программ и назовут этот метод UML.
Что случилось дальше?

C++ — как латынь

Время на прочтение1 мин
Количество просмотров1.4K
Для большинства программистов язык С++ — как латынь:
1. Очень многие современные языки от него произошли, но сейчас им мало кто пользуется.
2. Считается, что на латыни C++ можно написать что угодно. Это, наверное, так, но фразы получаются громоздкими.
3. Учеба в классическом университете подразумевает обязательное изучение C++. После учебы все равно мало кто его понимает.
4. Хорошо понимают в специальных учреждениях, где поддерживают старый софт. Читай «библиотека с манускриптами».
5. Библиотекари считают всех, кто не знает латыни, неучами.

Upd:
6. Латынь часто наделяют мистическими возможностями (см. Г. Поттер). C++ тоже.

Юмор, ага. :)

P.S. Я знаю знал, но теперь уже не люблю.

Upd2: Поместил в юмор. Ибо шутка же.

Официальный праздник День программиста

Время на прочтение1 мин
Количество просмотров793
Подпись этого приказа, я думаю это вопрос нескольких дней. Ура товарищи! Датой празднования выбран 256 день года 13 сентября (в високосный год 12 сентября). Еще раз ура )))

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

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

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

Хитрость

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

image

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

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

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

image


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

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

Время на прочтение1 мин
Количество просмотров1.3K
Объявлены итоги ежегодного студенческого чемпионата по программированию 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.3K
Хаброюзер allan_sundry во флейме про ботнет под Mac OS X не поверил, что недавняя уязвимость в Linux-овом udev действительно широка, глубока и в ряде случаев даже опасна. В ответ я решил написать этот топик, демонстрирующий, что создать рабочий эксплойт для опубликованной уязвимости нередко может даже фриланствующий студент-недоучка, потратив пару-тройку часов воскресным вечером.
Читать дальше →

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

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

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

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

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

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

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

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

Вклад авторов