История Java: откуда появились современные языки программирования

История Java: откуда появились современные языки программирования

Первый компьютер появился еще в 40-х годах прошлого века. За это время были разработаны тысячи языков программирования.

Пристегните ремни, мы пронесемся сквозь время и узнаем краткую историю программирования. Войдем в вагон времени на «остановке» языка ассемблера и выйдем на «остановке» языка программирования Java.

Если вам ничего не говорят слова «инкапсуляция» и «полиморфизм» — не переживайте. После прочтения статьи вы поймете, о чем разговаривать с суровыми бородатыми программистами, угрюмо работающих в свитерах с оленями.

Первые языки программирования: что было до них

Первый компьютер под названием ЭНИАК был построен в США в 1945 году. Изначально его создавали в качестве военного заказа. Разработка велась в одной из школ Пенсильванского Университета. Компьютер обошелся совсем не дешево, в 480 тысяч долларов, весил 27 тонн, и светился 17 000 лампочками. Для сравнения: самый мощный iPhone Pro Max стоит 1700 долларов, его можно положить в карман, он мощнее своего прадедушки в 25 000 раз.

Стоит сказать, что в те времена военные Соединенных Штатов панически боялись всего нового. Поэтому ученым пришлось представить первый ПК как «электронный дифф. анализатор» (electronic diff. analyzer). Уловка сработала и проект запустили. Позднее к названию добавили «and Computer» (и компьютер) в результате получился «Электронный числовой интегратор и вычислитель», сокращенно ЭНИАК (ENIAC).

Девушки держат в руках панели первого компьютера ЭНИАК
Девушки держат в руках панели первого компьютера ЭНИАК

В 40-е года прошлого века про программирование еще никто не знал. ЭНИАКом управляли через специальные системные команды. На машинном коде писать программы было трудоемко и долго. При совершении даже малейшей ошибки все вычисления получались неверными.

Ошибки в работе ПК позже назовут «багами» — это переводится как «жучок». Существует даже легенда, что первый баг произошел из-за насекомого. Во второй половине 40-х годов в суперкомпьютере Mark II была найдена моль, из-за чего заклинила система. Этот случай описала программист Грейс Хоппер, которая вклеила насекомое в рабочий журнал. Запись была озаглавлена как 1-й случай нахождения бага.

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

Ассемблер: переводит с человеческого языка на машинный

Когда Морис Винсент Уилкс начал работать над созданием вычислительной машины ЭДСАК, в Университете Кембриджа задумались, как сделать работу на компьютере более простой. В результате в конце 40-х годов создали программу, умеющую переводить человеческие команды в машинный код.

Уилкс назвал программу «ассемблером» — от слова «собирать». Вместо кода использовали различные сокращения, цифры и буквы. К примеру, на языке ассемблера команда «Mov Ax, 7» требует подвинуть число 7 в ячейку памяти «Ax». Подобные команды в человеческой памяти откладываются куда лучше, чем многочисленные единички и нолики.

До изобретения жестких дисков, информация хранилась на перфолентах.
До изобретения жестких дисков, информация хранилась на перфолентах.

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

О первых машинно-независимых языках

Во второй половине 50-х годов в США придумали первый язык высокого уровня. Назвали его Фортран. С его помощью начали писать программы, которые давали возможность не задумываться о параметрах определенного компьютера. Отныне одну и ту же программу можно было запускать на разных ПК.

Как это было сделано? Благодаря изобретению программы-компилятора. Усилия программистов по всей планете из-за переносимости кода объединились. Появилась возможность заниматься продажей программ. Теперь не нужно было что-то писать с нуля. Программистам достаточно было использовать и расширять ранее созданный код.

Первая книга о языке программирования Fortran
Книга о языке программирования Fortran, как инструкция для первого массово выпускающегося компьютера IBM 704

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

На основе Фортрана создали новый язык — ALGOL. Он позволял избежать языковой монополии в программировании. В СССР машинный язык появился гораздо позднее, чем в зарубежных странах. Всё из-за того, что советские программисты считали более перспективным Алгол. Фортран в Союзе внедрили в конце 60-х годов. Были разработаны специальные компиляторы для машины «Минск-2».

Фортран сегодня не исчез. На нем пишется множество полезных программ. Особенно подходит язык под инженерные и научные вычисления.

Язык Си и структурное программирование

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

Основная идея — создать программу из последовательных блоков. Разработчик имеет возможность поочередно трудится над блоками и не идти дальше, пока не увидит, что всё работает правильно. Для создания блоков пользуются преимущественно тремя основными конструкциями:

  1. последовательностью;
  2. ветвлением;
  3. циклом.

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

Благодаря ветвлению получится работать с условиями: «когда переменная > 0, тогда нужно искать решения. Если же переменная < 0, тогда нужно написать об отсутствии решения».

С помощью цикла можно многократно производить действия, пока выполняется условие: «если корзина не заполнена, нужно сорвать с ягоды и положить их внутрь».

Кен Томпсон и Деннис Ритчи отцы-основатели языка программирования Си.
Кен Томпсон и Деннис Ритчи отцы-основатели языка программирования Си.

При изобретении структурного программирования создали язык Си. За решение этой задачи можно благодарить жителя Соединенных Штатов Америки Денниса Ритчи. В конце 90-х годов мужчину наградили Национальной медалью США за соответствующие технологические достижения.

Новый язык оказался довольно быстрым. В дальнейшем от него «родились»:

  • С++;
  • С#;
  • Objective-C;
  • Java.

Классы в Java и объектно-ориентированное программирование

Сложность программ постоянно увеличивалась. Над одним проектом трудилось уже по десять специалистов. Необходимо было отыскать такое решение, которое могло бы объединить код, написанный множеством разработчиков.

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

Так был изобретен язык Smalltalk в 70-х XX века, под началом Алана Кэя. Создавали его разработчики компании Xerox. За работу Алана наградили премией Тьюринга. Сначала распространение Smalltalk было довольно ограниченным, так как для полноценной работы требовалась внушительная компьютерная среда. Однако в дальнейшем эта проблема решилась сама собой.

Алан Кертис Кэй, изобретатель языка Smalltalk на фоне компьютера Xerox Alto
Алан Кертис Кэй, изобретатель языка Smalltalk на фоне компьютера Xerox Alto

Позднее на основе Си был создан С++ — его изобрел программист из Дании Бьёрн Страуструп. В наше время этим современным кодом пользуются, чтобы создавать высоконагруженные системы.

В середине 90-х годов на базе Си был придуман язык Java. Для большинства он куда понятнее и проще для изучения. К примеру, в С++ требуется тщательным образом следить за тем, как заполняется память программы, а в Java нет

Если вы занимаетесь обработкой множества данных, а после ими не пользуетесь и убираете с них ссылки, то они лежат впоследствии мертвым грузом. С помощью «Автоматического сборщика мусора» в Java память очищается. Однако основной отличительной чертой языка стала возможность по-другому запускать программы на любом устройстве с процессором и ограниченной памятью.

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

Ранее текст программы пропускали через компиляторы для всех систем по несколько раз. Код в Java нужно компилировать ровно 1 раз. Дальше он будет работать везде — JVM отвечает за его связь с ПК.

На сегодняшний день Java считается основным языком для того, чтобы создавать приложения на Android. На нем допускается работать с Big Data — так называются большие объемы данных. Несомненно, на Java программирование не заканчивает свою историю. Однако разработчики делают новые языки под узкие и определенные задачи. Исходя из этого, сравнить их друг с другом трудно и бесполезно.

К примеру, компания Apple разработала язык Swift специально для того, чтобы делать приложения под MacOS и iPhone. И также был сделан язык Julia. Он нужен, чтобы сохранить большую производительность, когда вы работаете с огромным количеством вычислений.

 Дети обучаются работе на компьютере
Дети во все времена любили компьютер

Если желаете узнать больше информации про ООП, языке Java и т. д., то добро пожаловать на специальный курс в «Школу АйТи». Вы научитесь создавать свои первые анимационные программы на Java. По окончанию курса сможете с легкостью написать несложную игру для компьютера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Scroll to top