Деревообработка — противоположность разработке ПО

Это перевод Woodworking, the opposite of software development. Автор: Реймонд Чен.

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

Читать на сайте автора.

Задачка №24

Есть ли проблема в этом коде?

procedure DoSomething;
var
S: String;
begin
S := CalculateSomething;
ShowMessage(S);
Halt;
end;

Читать на сайте автора.

Дело о случайных вылетах

Один начинающий программист спросил, почему вылетает с Access Violation очень простой и, что интереснее, явно корректный код.

Примечание: слово «случайных» в заголовке означает, что вылет происходит в непредсказуемом месте — разном, в зависимости от приложения. Но в рамках одного конкретного приложения вылет всегда детерминирован (и, следовательно, воспроизводим).

Я не буду приводить код целиком, потому что, во-первых, он не имеет отношения к вопросу, во-вторых, он многократно менялся. Автор вопроса показал себя мастером скрывать данные и давать неточные показания.

Читать на сайте автора.

Автоматизация процесса создания дочерних форм

Читать на сайте автора.

Автоматизация процесса создания дочерних форм

Читать на сайте автора.

Ответ на задачку №23

Ответ на задачку №23.

Довольно много людей обратили внимание на такую конструкцию:

try
  SomeVariable := TSomeClass.Create({...});
  // ...
finally
  SomeVariable.Free;
end;

«Это неправильно, правильно — так:»

Читать на сайте автора.

Казань встретилась с Токио

Думаю, все уже заметили, что последние посты были посвящены хронике событий Embarcadero в нашей стране. Честно говоря, мы соскучились. Нам так не хватало встреч с

Читать на сайте автора.

Вебинар FGX Native. Впечатления от увиденного.

Вчера Андрей Совцов провёл вебинар с участием Ярослава Бровина, который работает над созданием новой платформы для мобильной разработки. FGX Native.

Читать на сайте автора.

Вебинар FGX Native. Впечатления от увиденного.

Вчера Андрей Совцов провёл вебинар с участием Ярослава Бровина, который работает над созданием новой платформы для мобильной разработки. FGX Native.

Читать на сайте автора.

Задачка №23

Есть ли ошибка в этом коде?

Код предположительно обрабатывает файл, открывает его, читает данные, что-то с ними делает, затем сохраняет результат в другой файл.

var
Stream: TFileStream;
begin
Stream := nil;
try
// что-то делаем
Stream := TFileStream.Create({ ... });
// что-то делаем
finally
Stream.Free;
end;
try
try
Stream := TFileStream.Create({ ... });
except
Exit;
end;
// что-то делаем
finally
Stream.Free;
end;
end;

Читать на сайте автора.