Оператор `with` в Python 2.5

19.09.2006

Delphi, Python

Только что прочитал у Pythy, что вышел Python 2.5. В нем много всего нового и змечательного, и что приятно, я даже не нашел на первый взгляд ничего, что вызвало бы отрицательную реакцию. Но я больше всего рад появлению одной конкретной вещи — оператора with. with в Delphi Я очень любил ...

Где в Delphi "volatile"?

27.04.2006

Delphi

У Алены в посте про явные и скрытые особенности volatile-переменных в C++ идет обсуждение того, почему этот volatile необходим в многопоточных приложениях. И я задумался, почему его нет в Delphi, и как оно вообще без него работает. В частности есть совершенно классическая модель работы thread'а, когда он что-то делает в ...

Delphi уходит в свободный полет

11.02.2006

Delphi

Аллен Бауер, главный ученый Borland, сообщил, что группа продуктов Delphi выделяется в самостоятельную компанию, о чем я, как старый (еще не хочу говорить "бывший") делфист, не могу не написать. Вкратце он пишет, что в Borland пришел новый CEO — Тод Нильсен — который рассудил, что компания пытается сидеть на двух ...

Из Win32 в Web

06.08.2005

Delphi, Web

Долгое время я был исключительно Windows-программистом, программировал на Delphi. В этом нет ничего удивительного для тех, кто знает этот язык, и кого давно уже не трогают священные войны: Delphi для своего времени (да наверное и до сих пор) был удивительно мощным объектным языком с широко развитой стандартной библиотекой, удобнейшими средствами ...

Функция или свойство

Во многих современных языках есть возможность создавать для объектов свойства: публичные поля, которые с точки зрения пользователя выглядят и работают как простые переменные, но к которым в объекте можно привязать обработчики на чтение и запись значений (getter'ы и setter'ы). Отсюда следует, что свойство, у которого есть только доступ на чтение, ...

Публичные конструкторы ни в чем не виноваты

Сергей Осипчук попросил меня прокомментировать свою статью про зло, заключенное в публичных конструкторах. Я решил это сделать отдельной статьей потому что кратко вряд ли получится, да и многим, думаю будет интересно. Итак, Сергей говорит о том, что публичные конструкторы классов побуждают программиста создавать непосредственно объекты классов с помощью явно заданных ...

Копирование файла

18.05.2005

Delphi

Когда мы искали к нам на работу еще одного программиста на Delphi, я проводил техническую часть собеседования. Там, помимо прочего, я просил соискателя написать очень небольшую процедурку, чтобы понять, умеет, собственно, человек программировать или нет. Забегая вперед, скажу, что выяснил, что пугающе много программистов на Delphi не умеют программировать на ...

Calculator

11.05.2005

Delphi

Calculator - это простой парсер математических выражений. Часто появляется такая задачка, когда надо взять извне строку, содержащую что-то вроде 'Width+(16+2+2)*2', заменить в ней переменные на значения и посчитать результат. Вот я такую библиотечку и написал. Фактически, да, это изобретение велосипеда. Причем, очень классического велосипеда. Достаточно просто начать искать на известном ...

Автоматическое управление памятью в Delphi

09.05.2005

Delphi

Одна из тенденций, которую поддерживают многие относительно новые языки программирования (Java, C#), практически все скриптовые языки, и которой не было в относительно старых языках (C, Pascal, отчасти C++) - это автоматизация управления памятью. Действительно, с точки зрения надежности и скорости разработки программ любая автоматизация, которая избавляет программиста от однотипных забот, ...

Лаконичные итераторы в Delphi

06.05.2005

Delphi

Судя по всему, термин "лаконичные итераторы" еще особенно не распространен, поэтому я гордо буду считать себя его изобретателем в Delphi'йской среде :-). О чем речь Есть такой известный паттерн – итератор: структура, которая обходит содержимое какого-нибудь контейнера и позволяет с ним, содержимым, что-то делать. Во многих языках поддержка итераторов встроена ...