Читаем Как захватить Вселенную. Подчини мир своим интересам. Практическое руководство для вдохновленных суперзлодеев полностью

Вы наверняка знаете, что эти машины функционируют благодаря двоичному коду: 0 и 1. Еще вы наверняка знаете, что вручную писать в двоичном коде трудно (вообще-то, настолько, что практически никто не хочет этим заниматься). Даже если у вас получится, то на выходе будет просто много цифр и никто – включая вас через несколько дней, как только вы забудете, что написали, – не разберется, что делает этот код. А ну-ка, быстро, что делает эта программа?

11001100 11001101 10001010 10101010 10101100
11001100 11011000 10101010 10101010
Может, компьютерная программа в двоичном коде, а может, кто-то настучал двумя пальцами по клавишам 1 и 0 соло для саксофона из хита Джорджа Майкла Careless Whisper

Честный ответ: «Что угодно – смотря как интерпретировать, на каком компьютере она работает… И даже при этом – поди разберись».

Чтобы избежать этой проблемы, мы, ученые-компьютерщики, изобрели так называемые языки ассемблера. Они созданы на основе железа и двоичного кода компьютеров и привязаны к ним, но сделаны понятнее, напоминая языки, на которых мы все разговариваем. На одном языке ассемблера сложение 10 и 20 может выглядеть примерно вот так:

MOV 10, REG 1
MOV 20, REG 2
ADD REG 1, REG 2, MEM 3
MOV MEM3, SCR

Сложение 10 и 20 на воображаемом, но наглядном языке ассемблера. Я придумал свой язык потому, что он понятнее, и потому, что, хоть у меня две научные степени в компьютерных науках, я до сих пор боюсь ошибиться, когда пишу на настоящем. Тут я точно не ошибся, поскольку сам официально заявляю, что это язык – «какой угодно, в котором код выше дает в сумме 30»


Как видите, тут есть очевидные недостатки. Ассемблер утомительный и скучный, нужно постоянно помнить кучу деталей (адрес в памяти, заполнены ваши регистры или нет и т. д.), и поэтому в них очень просто ошибиться. Надо хорошо знать аппаратную часть вашего компьютера, чтобы писать на ассемблере, а раз у разных процессоров немного разная архитектура, все знать невозможно. Но хотя бы в сравнении с двоичным кодом он намного яснее, чем если читать бесконечный поток нолей и единиц!

Следующий шаг – убрать из уравнения железо, чтобы не приходилось знать о расположении (и даже о существовании) таких деталей, как сумматоры и регистры. Такие языки уже называются высокоуровневыми языками программирования, и они куда более интуитивно понятны. С ними можно написать что-то вроде «сложить 10 и 20 и показать результат на экране» – и это просто сработает (см. врезку). А сработает потому, что вы по готовности запускаете другую программу, под названием «компилятор», чтобы перевести высокоуровневый код в максимально эффективный для вашего компьютера двоичный. Вывести сумму 10 и 20 на высокоуровневом языке можно вот так просто:

print 10+20
Результат сложения 10 и 20 на высокоуровневом языке программирования.
Результат – 30. Гарантирую

Сейчас существуют сотни языков программирования, каждый – с собственной философией, специализацией и сценариями использования. – Но все существуют с одной целью: упростить для людей чтение и написание кода, а это, в свою очередь, упрощает создание программ, их понимание и поддержку. Высокоуровневые языки раскрыли потенциал компьютеров и помогают создавать сложное, масштабное и прекрасное программное обеспечение. Они дали нам, людям, свободу действовать на уровне идей, а компиляторам остались запутанные, однообразные, пустяковые детали для их воплощения. За исключением тех, для кого двоичный код – хобби, и немногочисленных случаев специализированного ПО[77], сегодня все программы пишутся на высокоуровневых языках.

Перейти на страницу:

Все книги серии Удовольствие от науки

Отпускается без рецепта. Лекарства, без которых нам не жить
Отпускается без рецепта. Лекарства, без которых нам не жить

Эта книга о легендарных лекарствах, которые можно найти в каждой аптеке и в каждой домашней аптечке, лекарствах давних и новых, производимых в России. О 100-летии отечественной фармацевтики и ее создателях. Первый пенициллин был получен именно в нашей стране еще в 1942 году. У нас были произведены уникальные вакцины, некоторые из них спасли человечество. Нам есть чем гордиться и в настоящем. Во многих препаратах, выпускаемых зарубежными производителями, угадывается влияние самой большой в мире российской химической коллекции веществ, используемых для создания новых препаратов. Перед вами небольшое медицинское расследование, захватывающий рассказ о легендарных лекарствах, спасших и спасающих Россию, о лекарствах, без которых нам не жить!

Полина Звездина , Константин Анохин , Елена Мекшун , Наталья Мушкатёрова , Алёна Григорьевна Жукова

Альтернативная медицина / Медицина и здоровье / Дом и досуг

Похожие книги

1991. Хроника войны в Персидском заливе
1991. Хроника войны в Персидском заливе

Книга американского военного историка Ричарда С. Лаури посвящена операции «Буря в пустыне», которую международная военная коалиция блестяще провела против войск Саддама Хусейна в январе – феврале 1991 г. Этот конфликт стал первой большой войной современности, а ее планирование и проведение по сей день является своего рода эталоном масштабных боевых действий эпохи профессиональных западных армий и новейших военных технологий. Опираясь на многочисленные источники, включая рассказы участников событий, автор подробно и вместе с тем живо описывает боевые действия сторон, причем особое внимание он уделяет наземной фазе войны – наступлению коалиционных войск, приведшему к изгнанию иракских оккупантов из Кувейта и поражению армии Саддама Хусейна.Работа Лаури будет интересна не только специалистам, профессионально изучающим историю «Первой войны в Заливе», но и всем любителям, интересующимся вооруженными конфликтами нашего времени.

Ричард С. Лаури

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / История / Прочая справочная литература / Военная документалистика / Прочая документальная литература