
987.75
Общий рейтинг
Программирование *
Искусство создания компьютерных программ
Сначала показывать
Порог рейтинга
Уровень сложности
Чистые функции
2 мин
16KЧистые функции имеют ряд интересных и полезных свойств. Всё просто. Они зависят только от своих параметров. И возвращают только свой результат. В языке программирования D возможно следующее:
- Нельзя писать в глобальную переменную. Или в переменную, которая стала персистентной вне этой функции.
- Такие переменные не могут быть прочитаны, пока они не станут инвариантными. Под инвариантностью имеется в виду неизменяемость.
- Чистые функции могут вызывать только чистые функции.
- Параметры в чистых функциях могут быть неизменяемыми. При этом вызов к такой функции не может быть кеширован или вызван асинхронно, если параметры ссылаются на изменяемые данные.
- Чистая функция может вызывать исключение.
+32
+75
Игровое программирование в Light Bot
1 мин
3.3KLight Bot — забавная браузерная игра на флеше, где вам необходимо запрограммировать своего бота на выполнение простой задачи: дойти до цели минуя все препятствия.
+95
Фридрих Энгельс и язык программирования С++
2 мин
1.3KНе так давно я вспоминал старые времена в статье «История одного программиста или путь от простого до точки» (части первая и вторая). По мере написания вспоминались многие забавные и не очень вещи, которые случались в прошлом. Об одной из таких вещей я и хотел рассказать.
Казалось бы, какая связь может быть между Фридрихом Энгельсом и языком С++. Я тоже и подумать не мог что такая связь минимальная, микроскопическая, но в нашем огромном мире все-таки существует. Чтобы узнать больше — проследуйте под кат. Но предупреждаю, под катом десяток ссылок на фотографии.
Казалось бы, какая связь может быть между Фридрихом Энгельсом и языком С++. Я тоже и подумать не мог что такая связь минимальная, микроскопическая, но в нашем огромном мире все-таки существует. Чтобы узнать больше — проследуйте под кат. Но предупреждаю, под катом десяток ссылок на фотографии.
+111
О комментариях в коде
1 мин
697Комментарии в своём коде нужно писать не для себя, а для человека, который этот код увидит впервые. Потому что очень скоро этим человеком станешь ты сам.
+51
Программистская шутка к празднику
1 мин
2.9KВ мире есть только 10 категории людей — это те, кто понимает двоичный код и те, кто его не понимает.
С праздником всех, кто понял шутку!
С праздником всех, кто понял шутку!
+152
День программиста
1 мин
1.3KЗавтра, 12 сентября, будет День программиста — неофициальный праздник программистов, отмечаемый на 256-й день года. Число 256 (два в восьмой степени) выбрано потому, что это количество чисел, которые можно выразить с помощью одного байта. В високосные годы этот праздник попадает на 12 сентября, в невисокосные — на 13 сентября.


+118
История одного программиста или путь от простого до точки. Часть вторая, заключение
11 мин
3.6K
Это вторая и заключительная часть. Рекомендую ознакомится с началом, чтобы не потерять нить повествования.
Первая часть эссе рассказывала о давних временах, о вещах, которых уже нет или таких, которые забыты. Многое из этого знакомо не только мне и многочисленные комментарии тому подтверждение. Однако, в заключительной части речь пойдет о другом, о вещах которые для многих программистов являются повседневными. Это часть эссе будет отличаться от начала и это отличие будет заключаться в том, что я расскажу свою историю того, как наше настоящее для меня произошло из будущего. В этой части эссе прошлое уступает место настоящему.
+99
История одного программиста или путь от простого до точки
8 мин
4.1K
Представленный под катом текст — это попытка в художественной форме рассказать этапы своей программистской жизни. Местами разбавленное случаями из жизни, размышлениями вслух, настальгированием по прежним временам, это эссе в тоже время имеет своей целью поднять диалог с хабраюзерами, которые не прочь рассказать о своем пути разработчика и поделится своими мыслями по поводу истории развития средств и языков разработки.
+151
ТОП 10 самых раздражающих факторов для программиста
5 мин
16KПеревод
Совсем недавно наткнулся в интернете на забавный "хит-парад" наиболее раздражающих вещей для программиста. Поскольку он был на английском — решил перевести текст и несколько адаптировать к нашим реалиям…
ТОП 10 самых раздражающих факторов для программиста
+275
ООП для ООП: GRASP
4 мин
66KGRASP — General Responsibility Assignment Software Patterns (основные шаблоны распределения обязанностей в программном обеспечении)
Когда речь заходит о термине «ООП», все непременно подразумевают Объектно-Ориентированное Программирование, но сегодня речь пойдет не о нем. Почти. Сегодня я бы хотел рассказать о принципах Объектно-Ориентированного Проектирования, а в частности о шаблонах GRAPS и области их применения.
+61
Project Euler — решайте алгоритмические задачи и смотрите как это делали другие 30к участников на огромном количестве языков.
1 мин
35KПару-тройку месяцев назад наткнулся на замечательный ресурс Project Euler.
Project Euler представляет собой набор математических задач, которые вам предлагается решить хоть программным методом, хоть на бумаге.
Для участия в проекте надо пройти быструю регистрацию, после чего можно смело штурмовать алгоритмы.
Project Euler представляет собой набор математических задач, которые вам предлагается решить хоть программным методом, хоть на бумаге.
Для участия в проекте надо пройти быструю регистрацию, после чего можно смело штурмовать алгоритмы.
+37
Ближайшие события
Ранги разработчиков
2 мин
18K
Конечно ранг разработчика — это достаточно абстрактное понятие, но я выскажу свое мнение по данному вопросу, оно не привязано ни к какой теории, а базируется лишь на моём опыте.
+91
Язык программирования Форт
5 мин
33K Первая реакция у многих людей, с которыми мне приходилось говорить о Форте: «Это, наверное, разновидность Фортрана?». К сожалению, уровень осведомленности околокомпьютерного сообщества насчет этого совершенно непохожего на остальные языка программирования достаточно низок. В этой статье мы попробуем разобраться с тем, что представляет собой Форт, и почему этот язык программирования не используется повсеместно.
Окунемся в историю Форта (Forth). В начале 1970х годов Чарльз Мур занялся разработкой программного обеспечения для микроЭВМ, управляющей работой радиотелескопа. Поскольку программирование на Ассемблере привело к неуправляемости разработки довольно сложной программы, а для использующейся микроЭВМ из-за аппаратных ограничений не было языка высокого уровня, Чарльз Мур приступил к созданию компактного и мощного языка программирования, позволившего с блеском решить поставленные перед ним задачи. Успех нового языка программирования определился тем, что на ограниченных ресурсах устройства была создана быстрая и функциональная программа, позволившая делать намного больше, чем первоначально планировалось в техническом задании.
Окунемся в историю Форта (Forth). В начале 1970х годов Чарльз Мур занялся разработкой программного обеспечения для микроЭВМ, управляющей работой радиотелескопа. Поскольку программирование на Ассемблере привело к неуправляемости разработки довольно сложной программы, а для использующейся микроЭВМ из-за аппаратных ограничений не было языка высокого уровня, Чарльз Мур приступил к созданию компактного и мощного языка программирования, позволившего с блеском решить поставленные перед ним задачи. Успех нового языка программирования определился тем, что на ограниченных ресурсах устройства была создана быстрая и функциональная программа, позволившая делать намного больше, чем первоначально планировалось в техническом задании.
+41
code_swarm: визуализация истории разработки
1 мин
1.8K
code_swarm — приложение, которое позволяет визуализировать историю коммитов в приложении. Коммит происходит, когда разработчик вносит изменения в код или документацию, а затем отправляет их в центральное хранилище. Разработчики и файлы отображаются, как движущиеся элементы. Когда разработчик делает коммит, он подсвечивается, также подсвечиваются и файлы, затронутые этим коммитом. Цвет файлов зависит от типа файла (код, документация). Если активность разработчика падает, его отображение тускнеет. Гистограмма внизу показывает историю и активность изменений.
+51
Всё, что вы хотели знать о Singularity, но боялись спросить
16 мин
15KПеревод

Мне бы хотелось написать что-нибудь про Microsoft Singularity. Это очень клёвая штука, и в IT сегодня все говорят про это. Вот обзор Singularity для тех, кто не хочет читать официальные публикации.
+143
Пакетная обработка изображений в GIMP
4 мин
29K

Допустим, у нас есть куча фотографий разных размеров, с разным соотношением сторон и сохранённых в разных форматах. В общем, тяжёлый случай. Нам нужно весь этот зоопарк выровнять по размерам, учитывая пропорции, и сохранить в JPEG с заданным качеством. Да, и пусть нам иногда захочется задавать размеры не в пикселях, а процентах. Ну и пусть уже тогда захочется файлы выбирать по маске, типа «C:\images\img_01*.jpg».
Садимся, и калякаем на Script-Fu (доступный по умолчанию в GIMP, язык) свой
+39
Стив Егге: динамические языки возвращаются
3 мин
2KПеревод
Небезызвестный Стив Егге опубликовал стенограмму своего доклада в Стенфордском университете. Он затронул целый ряд вопросов, которые недавно активно обсуждались на Хабре: оптимизация программного кода, «нетрадиционные» языки программирования и др. Кроме того, для тех, кто «в теме», доклад содержит ссылки на интересные публикации по компиляции и методам оптимизации.
Ниже я постарался сделать выжимку из весьма объёмного текста. Местами с намеренно провокационными, в духе Стива, заявлениями.
Ниже я постарался сделать выжимку из весьма объёмного текста. Местами с намеренно провокационными, в духе Стива, заявлениями.
+45
Пару слов о программировании и непрограммистах
4 мин
3KА также о тех, кто хочет научиться этому искусству. Очень субьективно.
Я горжусь своей профессией, но очень не люблю говорить людям мало сведущим в программировании и в ИТ в частности, кем я работаю.
Люди сходятся во мнении, что программист — это тот, кто связан с компьютерами. На этом сходства заканчиваются. Один думает, что я печатаю бумажки в Ворде, другой то, что ремонтирую компьютеры и прочую периферию. Я это не придумываю. Вот случай произошедший как-то в нашем замечательном военкомате. Узнав род деятельности, прапорщик обрадовался:
— О, а у нас принтер не печатает!
— Какой принтер?
— Ну такой, с лентой.
Я горжусь своей профессией, но очень не люблю говорить людям мало сведущим в программировании и в ИТ в частности, кем я работаю.
Люди сходятся во мнении, что программист — это тот, кто связан с компьютерами. На этом сходства заканчиваются. Один думает, что я печатаю бумажки в Ворде, другой то, что ремонтирую компьютеры и прочую периферию. Я это не придумываю. Вот случай произошедший как-то в нашем замечательном военкомате. Узнав род деятельности, прапорщик обрадовался:
— О, а у нас принтер не печатает!
— Какой принтер?
— Ну такой, с лентой.
+155
Вклад авторов
alizar 4508.2ru_vds 4379.8olegchir 3644.4badcasedaily1 3402.0haqreu 3081.0tangro 2672.2nmivan 2585.0kesn 2578.0MaxRokatansky 2531.1Bright_Translate 2411.9