Для создания переносимых многопоточных приложений предлагаю воспользоваться библиотекой Glib.
Glib — это достаточно большая кросс-платформенная библиотека, которая, кроме потоков, включает в себя поддержку интернационализации, работу со строками, массивами, файлами, таймерами, и много чего другого, вплоть до XML парсера и поддерки .ini конфигурационных файлов.
В тоже время эта библиотека достаточно маленькая и почти не имеет зависимостей, что позволяет без особых проблем включать её в Windows-проекты, а в unix-подобных системах Glib уже есть.
Читать полностью »
Рубрика «Программирование» - 1098
Кросс-платформенные многопоточные приложения
2012-04-09 в 12:31, admin, рубрики: c language, cross-platform, GTK+, linux, threads, Программирование, метки: c language, cross-platform, gtk, linux, threads, ПрограммированиеКак раскрутить «Социальную сеть Ковчег», если это фантастическая трилогия
2012-04-09 в 11:54, admin, рубрики: jquery, web-разработка, книги, писательство, Программирование, стартапы, Читальный зал, метки: web-разработка, книги, писательство, Программирование, стартапы Три книги с фантастикой и сайт для чтения – это проект который, длится уже 2 года.
И, чёрт возьми, мне это нравится. Сейчас расскажу, как я делал сайт для чтения своих произведений.
Каждый человек, должен иметь хобби, которое не связанно с его профессиональной деятельностью. Для души, для отдыха, для самореализации, развития своих навыков и смены деятельности (которая является лучшим отдыхом). Путём многочисленных экспериментов, я выбрал писательскую деятельность.

Написав первую книгу и получив множество хороших отзывов, у меня встал вопрос, как публиковаться и как донести своё произведение до своих будущих и состоявшихся читателей.
Go не рекомендуется использовать для разработки на Windows 32bit
2012-04-09 в 9:04, admin, рубрики: 32 бита, windows, баг, Программирование, метки: 32 бита, windows, баг Abtin Forouzandeh обнаружил баг в реализации go для 32-хбитной платформы Windows. Простейшая программа запускается и тут же падает.
Читать полностью »
Go не рекомендуется использовать для разработки на Windows 32bit (UPD: и на Linux тоже)
2012-04-09 в 9:04, admin, рубрики: 32 бита, windows, баг, Программирование, метки: 32 бита, windows, баг Abtin Forouzandeh обнаружил баг в реализации go для 32-хбитной платформы Windows. Простейшая программа запускается и тут же падает.
Читать полностью »
Несколько незамеченных подробностей о HipHop PHP
2012-04-08 в 15:13, admin, рубрики: php, Веб-разработка, ПрограммированиеЯ думаю многие из вас слышали про HipHop PHP (далее hphp), разработанный программистами Facebook для оптимизации социальной сети с минимальными затратами по адаптации существующего кода. Но по какой-то причине, в интернете тема этого иструмента раскрыта, я считаю, не полностью. Большая часть тех, кто его использовал, или хотя бы крутил в руках, ограничивается лишь мануалами по установке, однако хотелось бы заглянуть немного глубже, что я и хочу сделать в этой статье.
Написание этой статьи стало результатом реального использования этого инструмента при разработке игрового приложения для социальной сети vk.com — Texas Hold'em покера на html+js/php.
Читать полностью »
То, что убило Smalltalk, может убить Ruby
2012-04-06 в 18:45, admin, рубрики: ruby, smalltalk, Программирование, метки: ruby, smalltalkНе так давно апологет ООП, автор «манифеста Agile», человек, сформулировавший принципы SOLID, Роберт Мартин сказал, что Ruby может умереть.
Роберт Мартин известен своими книгами (к примеру, выдающаяся «Rapid Software Development», которую я ставлю выше «Рефакторинга» Фаулера в личном top50 книг) и богатым вкладом в разработку ПО.
В одной из своих лекций он рассказывает о холиваре 70-80 годов прошлого века. В те годы smalltalker'еры противопоставляли себя C++ программистам, и не писали «быдлософт» (ERP, CMS). Потому что считали свой язык очень мощным и избранным.
Читать полностью »
Придут ли на смену статически типизированным языкам языки с динамической типизацией?
2012-04-06 в 17:35, admin, рубрики: динамическая типизация, Программирование, статическая типизацияЯ был фанатом статически типизированных языков много лет. Я усвоил урок на собственном горьком опыте, используя C. Слишком много систем ломались из-за глупых ошибок типизации. Когда C++ вышел, я был заядлым приверженцем и яростным адептом строгой типизации. Я насмехался над smalltalk'ерами, кто ныл о потери гибкости. Надежность, в конце концов, была гораздо более важна, чем гибкость. И кроме того, мы могли поддерживать наше ПО гибким И статически типизированным, если просто следовать хорошим принципам управления зависимостями.
Четыре года назад приобщился к XP (методология Extreme Programming). Я полюбил акцент на практичности, который она добавила к разработке ПО. Мне также понравился упор на тестирование. С тех пор я заразился идеей тестирования. Я не могу более представлять себе создания кода без использования TDD (test driven development). Не могу вообразить даже, чтобы не иметь полное покрытие тестами, чтобы мои разработки были в сохранности.
Около двух лет назад я кое-что заметил. Я стал все меньше и меньше зависеть от типизации в плане надежности. Мои юнит-тесты предохраняли меня от совершения ошибок, связанных с типизацией. Чем больше я зависел от юнит-тестов, тем меньше я зависел от надежности на основе типизации в Java или C++ (мои языки).
Читать полностью »
Конечные автоматы. Пишем ДКА
2012-04-05 в 19:24, admin, рубрики: perl, конечный автомат, Программирование, теория автоматов, метки: perl, конечный автомат, теория автоматовЕсли вы когда-нибудь пытались написать своего бота, программу-переговорщик (negotiator), интерпретатор протокола связи и тому подобные вещи, то наверняка сталкивались с конечными автоматами. Данная тема в принципе не представляет большой сложности, но если вдруг у вас не было курса «теории автоматов», милости прошу под кат.
Сегодня мы попытаемся создать простой детерминированный конечный автомат. Мне вдруг захотелось написать его на Perl'е, но так как мы не будем использовать никаких специфических трюков, перенести общую концепцию на любой другой императивный язык не составит большого труда.
Читать полностью »
Ниже краткое изложение опубликованного ранее поста Почему я ненавижу фреймворки :
В средневековые времена программирования, к данным мы применяли функции. Для того, чтобы нарезать хлеб, брали структуру «хлеб» и передавали ее как параметр функции «нарезать»:
нарезать(хлеб);
Читать полностью »
Я собираюсь сделать Java-веб-приложение (да, это будет Java, по некоторым причинам, которые сейчас озвучивать не хочу). В процессе работы, я оцениваю кучу J2EE portlet-enabled JSR-compliant MVC role-based CMS web service application container фреймворков.
После кучи потраченного времени на прочтение документации, я уже готов выколоть себе глаза.
Давайте представим, что я решил сделать шкафчик для специй.
Читать полностью »
