Языки программирования. Обзор-ликбез.

Спецвыпуск Хакер, номер #004, стр. 004-036-2

Вскоре появился немного заторможенный Си. Большинство программ писалось на ассемблере, поскольку предпочтения отдавались именно скорости выполнения программ, но Си постепенно вытеснил ассемблер, поскольку более удобен для использования - ведь он все-таки язык высокого уровня, более нагляден и чуть позже вдобавок приобрел способность быть легко переносимым. Последнее оказалось одной из главных причин популярности медленных программ на Си - их было легко устанавливать на самых разных компьютерах, зачастую вообще не имеющих никакой совместимости.

Совсем давным-давно

Страшно подумать, но вся эта компьютерно-программистская кутерьма началась даже не в этом веке (который, кстати сказать, уже прошлый :)), а еще в ХIХ, позапрошлом веке. В тысяча восемьсот тридцатые годы математик Чарльз Беббидж загорелся великолепной и (по тем временам) абсолютно сумасшедшей идеей построения "думающей" машины. Идейка еще та была. ;-) Хотя Беббидж прекрасно понимал, в какую авантюру он втягивается, он все-таки решился на постройку полностью автоматического счетного устройства. Эта машина должна была выполнять одно сложение в секунду и работать без участия человека. Наверное, первым языком программирования нужно считать язык программирования для машины Беббиджа. Он предполагал, что его машина будет складывать и вычитать за одну секунду, умножать два пятидесятизначных числа за минуту, делить стозначное на пятидесятизначное тоже за минуту. Шустрая машинка ;-). Но, увы, он так и не достроил машину из-за нехватки средств (к тому времени вся машина целиком занимала огромную комнату) и рабочих. Своих денег Беббиджу не хватило, а никто другой не соглашался ему помочь, потому что никто не верил в эту затею с автоматической машиной. Ее даже называли "чудачеством Беббиджа". А первым программистом (и по совместительству - первой программисткой!) стала дочь Беббиджа - Кэтрин Беббидж. Она помогала ему составлять программы для этой "чудо-машины". А кто-то говорил, что у женщины-программиста с программированием столько же общего, сколько у морской свинки с морем. ;-)

Как это делается?

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

Назад на стр. 004-036-1  Содержание  Вперед на стр. 004-036-3

загрузка...
Cпец Хакер #075Cпец Хакер #074Cпец Хакер #073Cпец Хакер #072Cпец Хакер #071Cпец Хакер #070Cпец Хакер #069Cпец Хакер #068Cпец Хакер #067Cпец Хакер #066Cпец Хакер #065Cпец Хакер #064Cпец Хакер #063Cпец Хакер #062Cпец Хакер #061Cпец Хакер #060Cпец Хакер #059Cпец Хакер #058Cпец Хакер #057Cпец Хакер #056Cпец Хакер #055Cпец Хакер #054Cпец Хакер #053Cпец Хакер #052Cпец Хакер #051Cпец Хакер #050Cпец Хакер #049Cпец Хакер #048Cпец Хакер #047Cпец Хакер #046Cпец Хакер #045Cпец Хакер #044Cпец Хакер #043Cпец Хакер #042Cпец Хакер #041Cпец Хакер #040Cпец Хакер #039Cпец Хакер #038Cпец Хакер #037Cпец Хакер #036Cпец Хакер #035Cпец Хакер #034Cпец Хакер #033Cпец Хакер #032Cпец Хакер #031Cпец Хакер #030Cпец Хакер #029Cпец Хакер #028Cпец Хакер #027Cпец Хакер #026Cпец Хакер #025Cпец Хакер #024Cпец Хакер #023Cпец Хакер #022Cпец Хакер #021Cпец Хакер #020Cпец Хакер #019Cпец Хакер #018Cпец Хакер #017Cпец Хакер #016Cпец Хакер #015Cпец Хакер #014Cпец Хакер #013Cпец Хакер #012Cпец Хакер #011Cпец Хакер #010Cпец Хакер #009Cпец Хакер #008Cпец Хакер #007Cпец Хакер #006Cпец Хакер #005Cпец Хакер #004Cпец Хакер #003Cпец Хакер #002Cпец Хакер #001