Perl 1
Перл — один из языков, которые помогли мне когда-то начать регулярно зарабатывать в айти. Он уже давно почти никем не используется, тем не менее я к нему отчасти эмоционально привязан, так как программировал на нём много лет и до сих пор неплохо его помню.
Я тут недавно сообразил, что программирую на ПХП с третьей версии, однажды попробовал в действии вторую версию и что-то читал про первую, но никогда не видел Перл старее пятой версии, на которой я и программировал когда-то.
К счастью, его исходники довольно просто найти, причём какие-то энтузиасты даже заставили их компилироваться под современными системами, надо только поставить пакет со статическим glibc и указать путь до него при компиляции.
К первой версии идёт пятьдесят тестов, написанных на Перле тех времён. Я бегло их просмотрел и, на первый взгляд, язык как будто мало изменился, тем не менее какие-то различия бросаются в глаза. Например, массивы с какого-то перепугу, выглядят иначе — временами без @ в начале, do каким-то образом позволяют обращаться к ещё не объявленным функциям, а ещё в языке существует переменная с именем «пробел».
Для интереса попробовал запустить небольшую программульку для подсчёта количества счастливых билетов, которую я когда-то писал. В исходном виде она не заработала, пришлось немного её изменить:
for ($i = 0; $i <= 999999; $i++)
{
$a = ('0' x (6 - length($i))) . $i;
$c++ if (substr($a, 0, 1) + substr($a, 1, 1) + substr($a, 2, 1)) ==
(substr($a, 3, 1) + substr($a, 4, 1) + substr($a, 5, 1));
}
print "$c\n";
Вот что пришлось исправить: изменить синтаксис цикла, ну и скобок побольше наставить.
Производительность, кстати, изменилась значительно — первая версия выполняет эту программу за 1,7 секунд, а современный Перл на том же оборудовании — за 0,8 секунды.
так скобок же меньше!
Наверное Лисп дико медленный!
Перл — удивительный язык.
С одной стороны, я в обычной жизни не могу без него обойтись. Использую для задач, когда писать то же самое на shell слишком напряжно.
С другой стороны, не рекомендую этот язык для изучения никому. Слишком легко на нём писать лютую нечитаемую дичь и, как следствие, приобретать вредные привычки.
(Я бы и про C++ так сказал, но там гораздо проще держать себя в рамках приличий.)
Я, кстати, раньше тоже постоянно писал на нём однострочники, если на шелле было сложно что-то выразить. Сейчас, обычно, это python или php, но чаще всего я всё же делаю всё на шелле.