lychakivsky: (Default)
Розробка клієнт - серверних баз даних довгий час надавала вірний фрілансерський заробіток, і я потратив на цю справу досить багато років. Деякі речі, винайдені мною в даній області, придалися неодноразово, були випробувані в реальних умовах й доказали ефективність. Розкажу про одну з них.

Читати далі... )
lychakivsky: (Default)
Коли програмуєш на асемблері, часто буває складно згадати відповідну мнемоніку, а ще частіше - неможливо зрозуміти текст уже написаної програми, навіть якщо цю програму ти сам писав декілька годин тому. Складність виникає з тієї причини, що асемблер традиційно використовує для позначення команд процесора вкрай скорочені кількабуквенні мнемоніки типу mov або add. Але від часів коли виник асемблер випито багато пива, і я маю досить просту ідею, як його можна зробити значно кращим.

Ідея полягає в тому, що інструкції процесора можна позначати не кількабуквеними скороченими мнемоніками, а досить розширеними ідентифікаторами, підібраними згідно з практикою написання ідентифікаторів, що склалася серед програмістів на мовах програмування типу Pascal. Крім того, щоб інструкція процесора, записана на новому асемблері, виглядала подібно до виклику процедури на мові Pascal, параметри інструкції процесора можна записувати в круглих дужках і розділяти комами, а самі команди процесора розділяти крапкою з комою. В результаті, текст програми на новому асемблері почне виглядати значно краще і буде набагато більш самодокументованим. Наприклад, фрагмент програми, що раніше мав вигляд:
mov ax. 3
mov bx. 5
cmp ax, bx

стане виглядати приблизно наступним чином:
MoveToRegister (AX, 3);
MoveToRegister (AX, 5);
CompareRegisters (AX, BX);

Зрозуміло, що в цьому випадку можна буде скористатись і іншими перевагами Pascal - подібної мови програмування, зокрема нові позначення інструкцій процесора можна писати в один рядок, одна за одною через крапку з комою, а Pascal - подібні коментарі можна вставляти всюди де є допустимими пробіли.

Читати далі )
lychakivsky: (Default)
У провідниці було тільки львівське темне - але це нормальний варіант, при умові що свіже. Поїзд гримів по рейках, громадяни пасажири вже вмостилися на своїх лавках - наступив час найзакрученіших дорожніх дискусій. Алкоголь не лише розв'язує язика, але й заплітає його, так що частина друга тої історії була розказана менш чітко; та й чи можна багато вимагати від оповідання, єдиним призначенням якого є прикрасити довгу нічну дорогу з одного міста до іншого?

* * *
...Розуміння того, що у світі, окрім видимої його частини, також буває і щось, що не зводиться до круговороту матерії, приходить до людей різними шляхами. До мене, внаслідок атеїстичного виховання, воно приходило шляхом особистого досвіду - як до малюка, котрий хапається пальцями за полум'я.

Я дуже хотів написати комп'ютерну програму, яка б усвідомлювала власне існування. Читати далі )