Бояться не надо



Статьи о Delphi

История языков программирования

    Компьютер — примитивное существо, которое мыслит нулями и единицами, из которых складываются числа. Основное его устройство — процессор. Все, что может делать процессор, это оперировать двоичными числами. Программы — это тоже числа, которые воспринимаются процессором как некоторая совокупность команд процессору с целью выполнения им определенных действий.

   Мы также выяснили, что первые программисты писали программы в машинных кодах. Тогда еще не было компиляторов и приходилось все писать числами. Вы даже представить себе не можете, какой это адский труд. Постоянно держать в памяти таблицу машинных кодов (это не таблица умножения). Например, вам понятно шестнадцатеричное число 8ВСЗ? Нет? А это обычная команда копирования между двумя ячейками регистров. Это просто пример, потому что тогда регистры были другие и процессоры были намного проще.

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

   И вот был разработан первый компилятор. Эту программу назвали Assembler, что переводится, как "сборщик". Писать на нем практически так же сложно, как и в машинных кодах, однако теперь уже использовались не числа, а понятные человеку слова. Например, все та же команда копирования регистров теперь выглядела так: mov eax, ebx. То есть цифры заменились на понятные слова.

   Вроде все прекрасно и удобно, но почему-то среди программистов возникли споры и разногласия. Кто-то воспринял новый метод с удовольствием. А кто-то говорил, что машинные коды лучше. Любители языка Assembler хвалили компилятор за то, что программировать стало проще и быстрее, а противники утверждали, что программа, написанная в кодах, работает быстрей. Говорят, что эти споры доходили до драк и иногда лучшие друзья становились врагами. В принципе, и те, и другие были правы. На языке Assembler действительно программу писать легче и быстрей, но программа, написанная в машинных кодах, работала быстрее.

   Тогда никто не мог себе представить, чем же все может закончиться. Но время показало свое. С помощью Assembler программы писались быстрее, а это один из основных факторов успеха любой программы на рынке. Люди начинают пользоваться тем продуктом, который выходит на рынок первым. Даже если более поздний вариант лучше, человека трудно переубедить перейти на другую версию. Здесь начинает играть большую роль фактор привычки. К тому же, когда программист напишет свою первую версию программы в машинных кодах, программист языке Assembler выпустит уже пару новых версий.

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

   С этого момента начался бум. Языки программирования стали появляться один за другим. Так появились С, ADA, FoxPro, Fortran, Basic, Pascal и др. Некоторые из них были предназначены только для школьников или обучения, другие были ориентированы на профессиональных программистов. И тут споры перенеслись в другую плоскость — какой язык лучше. Некоторые говорили, что это Pascal, другие утверждали что С, ну, а кое-кто утверждал, что это Visual Basic. Этот спор длится уже около 30 лет, и конца ему не видно. При этом все спорные вопросы разделились на две части:
  1. Какой язык самый лучший?
  2. Что лучше — язык высокого уровня или низкого?
   Спор по первому пункту не может закончиться до сих пор. Каждый пытается доказать, что его язык программирования самый мощный, удобный и создает самый быстрый профаммный код. Мне кажется, что этот спор не закончится никогда. В принципе, такое положение дел устраивает всех, потому что это своеобразная конкуренция. Благодаря ей происходит развитие языков профаммирования, и мы быстро продвигаемся вперед.

   Так все же, какой язык лучше? На этот вопрос можно дать ответ, но об этом немного позже. Наиболее интересным был спор: "Что лучше — язык высокого уровня или низкого?" Язык низкого уровня это тот, который ориентирован на команды процессора, т. е. Assembler. К языкам высокого уровня относят С, Pascal, Basic и др. Они ориентированы на людей и создают им максимум удобства при написании программ. Этот спор проходил в той же манере, как и спор между любителями Assembler и любителями программирования в машинных кодах. Только теперь приверженцы языка Assembler утверждали, что их код самый быстрый, а любители языков высокого уровня утверждали, что они напишут программу быстрей, чем самый лучший программист на языке Assembler.

   Спор продолжался достаточно долгое время. И опять победила скорость разработки и "удобство" языка программирования. Любителям Assembler пришлось отступить, потому что теперь они превратились в " догоняющих". Конечно же, нельзя сказать, что машинные коды и Assembler окончательно ушли из нашей жизни. Они используются до сих пор, но в очень ограниченном количестве. Язык Assembler используется только в качестве вставок для языков высокого уровня, а машинные коды используются для написания того, что не может сделать компилятор (да и для написания самого компилятора они могут потребоваться). Ушедшие технологии живут и будут жить, но рядовой программист очень редко встречается с ними.

   Следующей ступенью стало объектно-ориентированное программирование. Язык С превратился в C++, Pascal превратился в Object Pascal и т. д. И снова борьба. И снова скорость разработки против скорости выполнения программного кода. Опять споры, драки и оскорбления.

   Война длилась несколько лет. Сколько времени было потрачено в спорах, сколько волос было вырвано на голове в процессе доказательств силы именно его программного кода. А в результате победила скорость и удобство разработки, т. е. объектно-ориентированное программирование (ООП).

   Последней крупной революцией, происходящей в программировании, считается переход на визуальное программирование. Этот переход происходит прямо на наших глазах. Визуальность дает нам еще более удобные средства разработки для более быстрого написания кода, но проигрывает ООП по быстроте работы. Вот почему многие начинающие программисты стоят на перекрестке, не зная, какой язык выбрать. Лидером в разработке визуальных языков программирования является Borland, а приверженцем ООП остается Microsoft. Конечно же, Билл Гейтс пытается встроить ООП в свои языки, но там оно примитивно по сравнению с такими гигантами, как Delphi, или C++ Builder. Это связано с изначальной неправильной разработкой MFC (Microsoft Foundation Classes — Основные классы Microsoft), которая не может работать визуально. Нужна глобальная переработка кода, которую почему-то не хотят делать. Вот народ и стоит на двух атомных бомбах, ожидая взрыва одной из них. Как вы думаете, какая бомба рванет? Что победит - скорость разработки или скорость кода? Я не буду отвечать на этот вопрос. История говорит сама за себя, а мы подождем подтверждение этому.

   Считается, что информационные процессы не будут стоять на одном месте, и переход на новые технологии программирования рано или поздно состоится. Если вы хотите успеть за прогрессом, то тоже обязаны вступить в партию любителей Borland. Выбирайте любой из его компиляторов, и вы не ошибетесь. Для вас есть все, что угодно: Delphi, JBuilder, Kylix или С++ Builder. Как видите, у корпорации Borland есть визуальные варианты всех языков, и они действительно лучшие.

   Как ранее уже говорилось, самая лучшая технология программирования это та, в которой поддерживается визуальность. Ваша среда разработки просто обязана быть визуальной, потому что за этим наше будущее. Если вы хотите получить визуальность плюс мощь разработки — ваша среда от Borland. С помощью языков этой фирмы можно сделать абсолютно все. Так что с этим мы покончили. Вердикт окончательный и обжалованию не подлежит.

   Осталось только ответить на вопрос: "Какой язык программирования лучше?" Программисты уже несколько лет пытаются ответить на этот вопрос, но окончательного решения вынести не могут. Даже у того же Visual C++ от Microsoft есть свои плюсы. Да, как это ни странно, положительные стороны есть у всех. Вопрос остается только за тем, какие программы будут создаваться? Здесь можно дать примерно такую градацию:
  1. Если вы будете писать базы данных, программы общего значения или утилиты, то ваш язык Delphi или C++ Builder.
  2. Если это игры, то желательно Visual C++ или Watcome С плюс знание Assembler. Но это не значит, что нельзя использовать Delphi или C++ Builder. В этих средах вы потеряете не намного больше в скорости работы, поэтому в большинстве игр можно не обращать внимания на эту потерю. Если правильно использовать свои знания, то и на самом медленном и слабом языке программирования можно создать шедевр.
  3. Если это будут драйверы и работа с "железом", где критичен размер файла, ваш язык — чистый С или Assembler.
   И все же большую массу программ занимают утилиты и базы данных. А тут визуальность необходима, если вы хотите оказаться впереди. Визуальные языки будут жить и за ними будущее. Поэтому сайт и посвящён самому лучшему (это на мой взгляд, и он может отличаться от других) языку программирования — Delphi.



По материалам сайта О Delphi


В начало