|
April 16th, 2009
10:32 - Почему мне не нравится C++ Из всех языков программирования я выделяю для себя две группы: действительно низкоуровневые языки - разного рода ассемблеры, С, С--, Паскаль и действительно высокоуровневые - Lisp, Haskell, Smalltalk, Ruby и т.д.
Когда хороший программист пишет на низкоуровневом языке, он понимает, как работает компилятор, какие машинные инструкции выполняются при работе его программы. Можно сказать, что он знает язык своего компьютера.
Когда хороший программист пишет на высокоуровневом языке, он имеет дело не непосредственно с компьютером, с некоторой виртуальной машиной - интерпретатором, он может не знать, как устроена эта машина (так же как программист на языке низкого уровня может не знать, как устроены транзисторы, из которых состоит его компьютер), но он знает язык этой машины. Он хорошо знает относительно небольшой набор однозначных правил, по которым записывается программа для этой машины.
В обоих случаях программист хорошо знает машину (виртуальную или аппаратную), с которой ему приходится работать, он полностью понимает значение всех языковых конструкций.
Но язык С++ нельзя отнести ни к первой ни ко второй группе. Он сложен настолько, что обычный программист не может полностью понять, как работает компилятор С++. Но, в то же время, С++ не является достаточно высокоуровневым языком, чтобы можно было полностью абстрагироваться от устройства компилятора и компьютера. Поэтому, когда используешь С++, сложно поддерживать полную ясность того, как на самом деле работает твоя программа. С++ сочетает в себе черты как высокоуровневых языков, так и низкоуровневых. И именно это сочетание является источником как преимуществ языка С++, так и его недостатков.
|
September 1st, 2008
23:43 - Примочка для jabber (и не только) У меня была проблема: у меня нет колонок для компа, но они мне нужны только для одного - чтобы слышать когда приходят сообщения в jabber'е. Поначалу я пытался пользоваться jabber-клиентом, который может пищать системным спикером, но мне быстро надоел его противный звук. И вот я придумал решение. Взял обычный светодиод, припаял к нему длинный провод, концы воткнул в LPT-порт. Такой диод можно легко включать и выключать программно. Я прицепил диод к монитору и добавил несколько строчек в код jabber-клиента (как мне нравится open source!). Теперь когда мне приходит сообщение, диод мигает на самом видном месте. Мелочь, а приятно.
|
June 10th, 2008
11:52 - SQL Вчера сделал на сайте VictoriaOS форум. Движок называется Yet Another Forum. По-моему вполне юзабельный. Правда перевод на русский не полный, но это, если уж очень захочется, можно и самому сделать. Конечно PhpBB или Invision Power Board получше будут, но для ASP я ничего лучше YAF не нашел.
Ради забавы установил мелкософтовскую прогу для работы с MSSQL (чего-то-там-из-десяти-слов-название-Studio называется) и приконнектился к базе данных форума. Интересно было поиграться с SQL-м. Подумал: а дай-ка я напишу что-нибудь на форум через SQL-запрос.
Добавить сообщение оказалось легко - просто вставляешь строчку в таблицу Message, но при этом не обновились поля типа "последнее сообщение" на главной странице и странице с форумами. Я покопался еще в таблицах, нашел нужные поля, обновил. Естественно делать это вручную долго и неинтересно - нужно помнить кучу UserID, MessageID и прочей ерунды. Тогда я задался целью: написать такую пачку запросов, чтобы можно было в одном месте написать сообщение, указав тему и прочую ерунду, а все таблички сами обновились. Надо сказать, для меня это было нетривиальной задачей, потому как до этого момента я с SQL практически не работал и очень с трудом представлял, что там к чему. Однако я все-таки справился. Под катом можно посмотреть результат. ( Смотреть )
Да, кстати, Дискретную математику сегодня сдал на "отл". Я доволен.
|
|
|
|