Как стать автором
Обновить
1097.26

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

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

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

Язык программирования Форт

Время на прочтение5 мин
Количество просмотров33K
Первая реакция у многих людей, с которыми мне приходилось говорить о Форте: «Это, наверное, разновидность Фортрана?». К сожалению, уровень осведомленности околокомпьютерного сообщества насчет этого совершенно непохожего на остальные языка программирования достаточно низок. В этой статье мы попробуем разобраться с тем, что представляет собой Форт, и почему этот язык программирования не используется повсеместно.

Окунемся в историю Форта (Forth). В начале 1970х годов Чарльз Мур занялся разработкой программного обеспечения для микроЭВМ, управляющей работой радиотелескопа. Поскольку программирование на Ассемблере привело к неуправляемости разработки довольно сложной программы, а для использующейся микроЭВМ из-за аппаратных ограничений не было языка высокого уровня, Чарльз Мур приступил к созданию компактного и мощного языка программирования, позволившего с блеском решить поставленные перед ним задачи. Успех нового языка программирования определился тем, что на ограниченных ресурсах устройства была создана быстрая и функциональная программа, позволившая делать намного больше, чем первоначально планировалось в техническом задании.

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

code_swarm: визуализация истории разработки

Время на прочтение1 мин
Количество просмотров1.8K


code_swarm — приложение, которое позволяет визуализировать историю коммитов в приложении. Коммит происходит, когда разработчик вносит изменения в код или документацию, а затем отправляет их в центральное хранилище. Разработчики и файлы отображаются, как движущиеся элементы. Когда разработчик делает коммит, он подсвечивается, также подсвечиваются и файлы, затронутые этим коммитом. Цвет файлов зависит от типа файла (код, документация). Если активность разработчика падает, его отображение тускнеет. Гистограмма внизу показывает историю и активность изменений.
Читать дальше →

Всё, что вы хотели знать о Singularity, но боялись спросить

Время на прочтение16 мин
Количество просмотров15K


Мне бы хотелось написать что-нибудь про Microsoft Singularity. Это очень клёвая штука, и в IT сегодня все говорят про это. Вот обзор Singularity для тех, кто не хочет читать официальные публикации.


читать дальше про микроядерность, виртуальную память и глючные драйверы

Пакетная обработка изображений в GIMP

Время на прочтение4 мин
Количество просмотров29K
Время от времени возникает необходимость выложить в сеть фотоальбом или пакет отсканированных документов. В большинстве случаев изображения предварительно нужно уменьшить, а иногда и произвести дополнительную обработку, добавить надписи. И вот наступил момент, когда выполнять однотипные операции стало совсем лениво. Вспоминаем про замечательные средства автоматизации в замечательном и бесплатном редакторе GIMP.

Допустим, у нас есть куча фотографий разных размеров, с разным соотношением сторон и сохранённых в разных форматах. В общем, тяжёлый случай. Нам нужно весь этот зоопарк выровнять по размерам, учитывая пропорции, и сохранить в JPEG с заданным качеством. Да, и пусть нам иногда захочется задавать размеры не в пикселях, а процентах. Ну и пусть уже тогда захочется файлы выбирать по маске, типа «C:\images\img_01*.jpg».

Садимся, и калякаем на Script-Fu (доступный по умолчанию в GIMP, язык) свой
первый сценарий

Стив Егге: динамические языки возвращаются

Время на прочтение3 мин
Количество просмотров2K
Небезызвестный Стив Егге опубликовал стенограмму своего доклада в Стенфордском университете. Он затронул целый ряд вопросов, которые недавно активно обсуждались на Хабре: оптимизация программного кода, «нетрадиционные» языки программирования и др. Кроме того, для тех, кто «в теме», доклад содержит ссылки на интересные публикации по компиляции и методам оптимизации.

Ниже я постарался сделать выжимку из весьма объёмного текста. Местами с намеренно провокационными, в духе Стива, заявлениями.

Основные тезисы доклада

Практическое применение

Время на прочтение4 мин
Количество просмотров2.3K
Теперь я расскажу о том как можно связать кодогенерацию с творчеством.
Для того, чтобы разобраться в кодогенерации — давайте с ней экспериментировать.
Читать дальше →

Многоуровневая абстракция

Время на прочтение3 мин
Количество просмотров16K
В предыдущей статье мы рассмотрели некоторые подходы к кодогенерации, теперь я хочу взглянуть на многоуровневую абстракцию и произвести некоторый анализ.

Данная статья содержит лишь теорию. Практической будет следующая статья (постараюсь чередовать).
Читать дальше →

Подходы к кодогенерации

Время на прочтение4 мин
Количество просмотров6.7K
В предыдущей статье мы рассматривали то, как применяется кодогенерация в реальных продуктах.
В этой статье мы рассмотрим то, как какие подходы к кодогенерации могут облегчить нам жизнь.
Читать дальше →

Где используется кодогенерация

Время на прочтение3 мин
Количество просмотров11K
Меня поразило то, что так много людей в комментариях к предыдущей статье высказывают мнение о том, что кодогенерация — это неправильная техника. Давайте посмотрим на некоторые примеры того, как она используется сейчас.
Читать дальше →

Пару слов о программировании и непрограммистах

Время на прочтение4 мин
Количество просмотров3K
А также о тех, кто хочет научиться этому искусству. Очень субьективно.

Я горжусь своей профессией, но очень не люблю говорить людям мало сведущим в программировании и в ИТ в частности, кем я работаю.
Люди сходятся во мнении, что программист — это тот, кто связан с компьютерами. На этом сходства заканчиваются. Один думает, что я печатаю бумажки в Ворде, другой то, что ремонтирую компьютеры и прочую периферию. Я это не придумываю. Вот случай произошедший как-то в нашем замечательном военкомате. Узнав род деятельности, прапорщик обрадовался:
— О, а у нас принтер не печатает!
— Какой принтер?
— Ну такой, с лентой.
Читать дальше →

Предисловие

Время на прочтение4 мин
Количество просмотров1.5K
Не знаю почему, но на эту важнейшую технологию обращают так мало внимания. Я хочу несколько исправить положение, поэтому это — первая статья в цикле «Кодогенерация». При рассмотрении данной темы будет использован язык PHP и БД MySQL, но кодогенерация сама по себе возможна на любом языке и с использованием любой БД, просто на PHP мне будет проще объяснять некоторые важные моменты. Так же я буду обращать внимание на состояние дел в других системах и языках.

Данная статья посвящена одному вопросу: какие проблемы присутствуют в современном программировании.
Читать дальше →

Программируем для PSP: Часть II. Тотальный контроль

Время на прочтение3 мин
Количество просмотров5.8K
В прошлом туториале мы разобрались с «хелловорлдом», теперь пришло время к следующей, не менее важной вещи: вводе информации. Умея выводить что-то на экран и узнавать, что нажал пользователь, уже можно сделать полезную программу. Фактически, после этого урока уже можно будет начинать что-то свое, однако я бы посоветовал дождаться, хотя бы, спрайтов.

Ура! Подписывайтесь на мой PSP-программирования блог.

Ну и еще, это уже отдельным манифестом: если вы нашли в топике ошибку, можете покричать «ура» или гордиться этим. Лучшее, что вы можете сделать — написать мне об этом в личку (это можно легко сделать, нажав «добавить пользователя в друзья» и написав об ошибке в поле «представиться». если вам противно видеть меня в списке друзей, так и напишите, и я не буду жать на кнопку «разрешить добавить»). Самоутверждаться найденными ошибками в комментариях, пожалуйста, не надо, потому что пользы от этого абсолютно никакой, а прокручивать такие комментарии в поисках реально чего-то интересного — раздражает.
Читать дальше →

Программируем для PSP: Часть I, настройка компилятора

Время на прочтение4 мин
Количество просмотров12K
Давайте условимся сразу: я следую паттерну «изучение обучением», т.е. учу, одновременно изучая, обгоняя читателей на 2-3 «шага» вперед. Однако это не значит, что я ничего не знаю и все, что говорю — обычные копипасты: я стараюсь разобраться в теме, прежде чем писать о ней. Поэтому смело задавайте вопросы, этим вы принесете пользу и себе, и мне: на вопросы, ответ на которые я не знаю, я буду его искать, осозновать и рассказывать вам.

Итак, в этом топике будет небольшой рассказ о том, как скомпилировать и запустить первую программу на своей приставке. Сразу предупреждение: статья мегатехнического плана, почти все содержание касается утомительной, но быстрой настройки компилятора, а в результате вы получите лишь банальный «Hello World». Однако без нее никак.
Читать дальше →

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

Программируем для PSP: Часть I, настройка компилятора

Время на прочтение4 мин
Количество просмотров6.1K
Давайте условимся сразу: я следую паттерну «изучение обучением», т.е. учу, одновременно изучая, обгоняя читателей на 2-3 «шага» вперед. Однако это не значит, что я ничего не знаю и все, что говорю — обычные копипасты: я стараюсь разобраться в теме, прежде чем писать о ней. Поэтому смело задавайте вопросы, этим вы принесете пользу и себе, и мне: на вопросы, ответ на которые я не знаю, я буду его искать, осозновать и рассказывать вам.

Итак, в этом топике будет небольшой рассказ о том, как скомпилировать и запустить первую программу на своей приставке. Сразу предупреждение: статья мегатехнического плана, почти все содержание касается утомительной, но быстрой настройки компилятора, а в результате вы получите лишь банальный «Hello World». Однако без нее никак.
Читать дальше →

Программирование для приставок

Время на прочтение1 мин
Количество просмотров3.2K
Этим замечательным топиком я открываю блог, посвященный программированию для Sony Playstation, Nintendo Wii, Xbox и других прекрастных приставок.
Дабы не быть пустословным, первое, что я опубликую — несколько рассказов о программировании для PSP. Собираюсь начать с настройки компилятора и «Hello World», но, если это кому-нибудь нужно, могу написать вводный цикл по тому, как перепрошить свой кирпичик для запуска homebrew (читай, кустарных) приложений и пиратских игр (ой! ой!).

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

Время на прочтение1 мин
Количество просмотров681


Сегодня 4 апреля, этот день года не так давно я считаю в некотором роде своим профессиональным праздником. А именно днём вебмастера.

Кто-то считает его просто 4 апреля, кто-то днём покровителя интернета, для кого-то это будет ещё одна замечательная пятница, а для меня это маленький праздник, от которого тепло на душе.

Искренне и без лишних слов хочу поздравить всех вебмастеров! С праздником!

Вопрос классификации: диалект или новый язык?

Время на прочтение1 мин
Количество просмотров2.4K
Есть такой вопрос, что считать отдельным языком программирования, а что — диалектом?
Можно ли по каким-то формальным критериям отличать одно от другого?

Например, Object Pascal (Delphi) вроде как диалект паскаля, но отличия от паскаля примерно как отличия C++ от C, а это отдельные языки…

Может можно провести параллели с лингвистикой, с классификацией естественных языков…

Зачем мне нужна эта классификация? Для энциклопедии.

Кто что думает по этому поводу?

Использование тегов для разбора исходных текстов

Время на прочтение1 мин
Количество просмотров1K
Здравствуйте!

С помощью простого текста в комментариях и стандартных программ типа find/grep можно ускорить работу над унаследованным кодом.
Читать дальше →

Pixilang

Время на прочтение2 мин
Количество просмотров13K

Забавная мушка, не правда ли? С другой стороны что тут забавного? Обычная пиксельная мушка. Но не было бы здесь этого поста если бы всё было так просто. Этот представитель отряда двукрылых создан с помощью блокнота и языка программирования созданного специально для целей пиксельной анимации и её же озвучивания. И так встречайте:
Pixilang

Великий Юбилей

Время на прочтение1 мин
Количество просмотров675
Сейчас, только несколько минут назад произошёл величайший юбилей для почти всех айтишников: 1 200 000 000 секунд с начала отсчётча Unix Timestamp.

С чем всех и поздравляю. :)

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