Всё что нужно знать начинающим программистам
Итак, вычислительная машина работает только со словами из двух знаков — нулей и единиц. В одном из романов 70-х годов (В.Морозов, «Программист») есть такая история: начальство нагрянуло в вычислительный центр, когда в машинном зале чинили компьютер, (половина устройства была попросту отключена), и потребовало немедленно продемонстрировать, как машина умеет считать. Программист, к которому было обращено требование, не растерявшись, задал машине задачу прямо в двоичных кодах, умудрившись нигде не ошибиться. Довольное начальство удалилось, а программист этот прославился на весь институт: мало кто может говорить с машиной на ее родном языке!
И в самом деле, трудно не ошибиться, ведь слова длинные и не значат для нас ничего. С другой стороны, трудно научить машину обычному человеческому языку: в каждом языке есть множество тонкостей, машине недоступных. Но общаться необходимо! Что же делать? Пришлось придумать «про¬межуточный язык», на котором нетрудно до¬говориться обеим сторонам. Таких языков существует довольно много, и все они разные.
Первые языки программирования, по сути, лишь немного упрощали общение, заменяя буквенными обозначениями команды, понятные машине: сложить, умножить, вы¬честь, разделить, присвоить переменной значение (т.е. считать, что в данный момент переменная равна такому-то числу), и так далее. Программы, написанные на таких языках, довольно длинны, поскольку каждое мало-мальски сложное действие нужно «раз¬жевать». И все же это куда удобнее, чем вручную переводить свою программу в двоичные коды. Теперь специальная программа-переводчик (транслятор) могла растолковать компьютеру, что к чему. Такие языки и теперь верно служат людям, но используются профессионалами — системными программистами — в тех случаях, когда про¬грамма должна учитывать специфику данной машины, для составления экономных и эффективных программ.
Немного позже появились алгоритмические языки, в которых уже нет необходимости подробно расписывать каждое действие, а можно писать целые формулы и фразы, иногда довольно громоздкие, — машина переведет их на свой язык сама. И не только переведет — она найдет ошибки и сообщит о них: ведь машина понимает только то, что сказано правильно. А по¬скольку человеку свойственно ошибаться, крайне редко случается, чтобы программа стала понятна с первого раза — ее приходится отлаживать, т.е. вылавливать ошибки одну за другой. Как говорят программисты, «сегодня я нашел и исправил очередную последнюю ошибку»
