Языки программирования. Обзор-ликбез.
Вскоре появился немного заторможенный Си. Большинство программ
писалось на ассемблере, поскольку предпочтения отдавались именно
скорости выполнения программ, но Си постепенно вытеснил ассемблер,
поскольку более удобен для использования - ведь он все-таки язык
высокого уровня, более нагляден и чуть позже вдобавок приобрел
способность быть легко переносимым. Последнее оказалось одной
из главных причин популярности медленных программ на Си - их было
легко устанавливать на самых разных компьютерах, зачастую вообще
не имеющих никакой совместимости.
Совсем давным-давно
Страшно подумать, но вся эта компьютерно-программистская кутерьма
началась даже не в этом веке (который, кстати сказать, уже прошлый
:)), а еще в ХIХ, позапрошлом веке. В тысяча восемьсот тридцатые
годы математик Чарльз Беббидж загорелся великолепной и (по тем
временам) абсолютно сумасшедшей идеей построения "думающей" машины.
Идейка еще та была. ;-) Хотя Беббидж прекрасно понимал, в какую
авантюру он втягивается, он все-таки решился на постройку полностью
автоматического счетного устройства. Эта машина должна была выполнять
одно сложение в секунду и работать без участия человека. Наверное,
первым языком программирования нужно считать язык программирования
для машины Беббиджа. Он предполагал, что его машина будет складывать
и вычитать за одну секунду, умножать два пятидесятизначных числа
за минуту, делить стозначное на пятидесятизначное тоже за минуту.
Шустрая машинка ;-). Но, увы, он так и не достроил машину из-за
нехватки средств (к тому времени вся машина целиком занимала огромную
комнату) и рабочих. Своих денег Беббиджу не хватило, а никто другой
не соглашался ему помочь, потому что никто не верил в эту затею
с автоматической машиной. Ее даже называли "чудачеством Беббиджа".
А первым программистом (и по совместительству - первой программисткой!)
стала дочь Беббиджа - Кэтрин Беббидж. Она помогала ему составлять
программы для этой "чудо-машины". А кто-то говорил, что у женщины-программиста
с программированием столько же общего, сколько у морской свинки
с морем. ;-)
Как это делается?
Однако вернемся к не столь давним временам. Сегодня существует
три основных принципа написания программ и, соответственно, построения
языков программирования. Самый первый из них и старший по возрасту
- модульный принцип. Модульным он назван потому, что каждая задача
для предстоящего программирования разбивается на какие-то цельные
завершенные части. И программирование ведется исключительно по
этим частям - написали часть номер 1, протестировали ее, написали
часть номер 2, протестировали ее - потом все вместе собрали и
получили программный продукт. То есть программу в конечном итоге
можно представить в виде мозаики, которую сначала рисует, а потом
и собирает вместе программист. Большим плюсом данного подхода
(и, собственно, причиной, по которой он появился) является возможность
работы над программой не одного (зашибись!) программиста, а нескольких
или даже нескольких групп программистов. Простых и близких примеров
языков модульного принципа можно набрать сколько угодно - это
и Pascal, и C, Phyton и даже Perl с его модулями *.PM. Только
последние два представляют собой несколько более продвинутый вариант
- о них немного позже. Весь код обычно разбивается на процедуры
и функции, каждая из которых делает что-то независимо от других.
Не совсем, конечно, независимо, все-таки должна быть какая-то
связь между ними. ;-)