![]() |
|
Программирование >> Дополнительные возможности наследования
11ень1-й Первые шаги Введение Добро пожаловать на страницы книги Освой самостоятельно С++ за 21 день\ Предлагаю незамедлительно отправиться в путь, если вы хотите стать профессиональным профаммистом на языке С++. Сегодня вы узнаете; Почему С++ стал стандартом в области разработки профаммных продуктов Каковы этапы разработки профаммы на языке С++ Как написать, скомпилировать и скомпоновать свою первую профамму на языке С++ Краткий ахсхурс в истврию языка G++ Эволюция языков профаммировпния с момента появления первых электронных компьютеров, построенных для выполнения расчетов траектории движения артиллерийских снарядов во время второй мировой войны, была довольно драматической. Раньше профаммисты работали с самыми примитивными компьютерными командами, представлявшими собой часть машинного языка. Эти команды состояли из длинных строк единиц и нулей. Вскоре были изобретены ассемблеры, которые могли отображать машинные команды в мнемоническом представлении, более понятном для человека (например, команды ADD или MOV). Со временем появились такие языки высокого уровня, как BASIC и COBOL. Благодаря этим языкам появилась возможность профаммировать, используя логические конструкции из слов и предложений, например Let I = 100. Эти команды переводились в машинный язык интерпретаторами и компиляторами. Интерпретатор по мере чтения профаммы последовательно превращает ее команды (или код) в команды машинного языка. Компилятор же целиком переводит профаммный код (листинг профаммы) в некоторую промежуточную форму - объектный файл. Этот этап называется компиляцией. Затем компилятор вызывает профамму компоновки, которая превращает объектный файл в исполняемый файл профаммы. с интерпретатором работать проще, так как команды программы выполняются в той последовательности, в которой они записаны, что облегчает контроль за выполнением программы. Компилятор же вносит дополнительные этапы компиляции и компоновки профаммы, в результате чего получается исполняемый файл, недоступный для анализа и редактирования. Однако скомпилированные профаммы выполняются бысфее, так как перевод команд профаммы на машинный язык уже произошел на этапе компиляции. Еще одно преимущество компилируемых языков профаммирования, таких как С++, состоит в том, что полученные профаммы могут выполняться на компьютерах без компилятора. При работе же с интерпретируемыми языками для выполнения готовой профаммы нужно обязательно иметь соответствующую профамму-интерпретатор. В некоторых языках (например. Visual Basic) роль интерпретатора выполняет динамическая библиотека. Интерпретатором языка Java является виртуальная машина (Virtual Machine, или VM). В качестве виртуальной машины обычно используется броузер (такой как Internet Explorer или Netscape). В течение многих лет основным достоинством профаммы считалась ее краткость и бысфота выполнения. Профамму сфемились сделать как можно меньше, поскольку память стоила весьма недешево, да и заинтересованность в высокой скорости выполнения объяснялась высокой стоимостью процессорного времени. Но по мере того как компьютеры становились все портативнее, дешевле (особенно ощутимо дешевела память) и бысфее, приоритеты менялись. Сегодня стоимость рабочего времени профам-миста намного превышает стоимость большинства компьютеров, используемых в бизнесе. Сейчас большим спросом пользуются профессионально написанные и легко эксплуатируемые профаммы. Простота эксплуатации означает, что при изменении фебо-ваний, связанных с решением конкретных задач, профамма легко перенасфаивается без больших дополнительных зафат. Слово программа используется в двух значениях: для обозначения отдельных блоков команд (или исходного кода), написанных программистом, и для обозначения исполняемого профаммного продукта как единого целого. Это различие в понятиях может ввести читателя в заблуждение, поэтому постараемся явно определять, что имеется в виду: исходный код или исполняемый продукт, Итак, профамму можно определить либо как набор написанных программистом команд, либо как выполняемый на компьютере продукт. Исходный текст профаммы можно превратить в выполняемую профамму двумя способами. В одном случае интерпретаторы переводят исходный код в машинные команды, и компьютер сразу же их выполняет, В качестве альтернативного варианта компиляторы переводят исходный код в исполняемый файл профаммы, который затем можно использовать самостоятельно. Хотя с интерпретаторами работать легче, большинство серьезных программ создается с использованием компиляторов, поскольку скомпилированный код выполняется намного быстрее. Примером компилируемого языка профаммирования служит С++, Решение многих нроОлем с течением времени проблемы, ставящиеся перед профаммистами, меняются. Двадцать лет назад профаммы создавались в основном для обработки больших объемов данных. При этом зачастую как те, кто писал профаммы, так и те, кто их использовал. �55991 были профессионалами в компьютерной области знаний. Сегодня многое изменилось. С компьютером нередко работают те, кто даже понятия не имеет о его аппаратном и профаммном обеспечении. Компьютеры стали инструментом, который используется людьми, больше заинтересованными в решении своих деловых проблем, чем в глубоком освоении компьютера. По иронии судьбы, чтобы облегчить новому поколению пользователей работу с профаммами, сложность самих этих профамм значительно повысилась. Канули в лету те дни, когда пользователи вводили таинственные знаки (т.е. команды) в ответ на понятные только посвященным подсказки-приглашения, в результате получая поток сырых , т.е. совершенно необработанных данных. В современных профаммах используются высокоорганизованные, дружественные по отношению к пользователю интерфейсы, оснащенные многочисленными окнами, меню, диалоговыми окнами и мириадами визуальных фафических средств, с которыми все уже хорошо знакомы. Профаммы, написанные для поддержки этого нового уровня взаимодействия человека с компьютером, гораздо сложнее написанных всего лишь десять лет назад. С развитием всемирной информационной сети Web для компьютеров началась новая эра проникновения на рынок. Пользователей компьютеров сейчас больше, чем когда бы то ни было, и при этом их претензии чрезвычайно высоки. Даже по прошествии всего нескольких лет с момента выхода первого издания этой книги профаммы заметно увеличились и усложнились, а необходимость использования методов объектно-ориентированного профаммирования для решения проблем, ставящихся перед современными профаммистами, стала просто очевидной. С изменением требований к профаммированию претерпели изменение как языки, так и технология написания профамм. Хотя в истории эволюции профаммирования есть много интересного, в этой книге мы остановимся на переходе от процедурного профаммирования к объектно-ориентированному. Процедурное, структурированное о оОъвктно-оривнтированное программирование До недавних пор профаммы рассматривались как последовательности процедур, выполнявших некоторые действия над данными. Процедура, или функция, представляет собой набор определенных команд, выполняемых друг за другом. Данные были отделены от процедур, и главным в профаммировании было проследить, какая функция какую вызывает и какие данные при этом меняются. Чтобы внести ясность в эту потенциально запутанную ситуацию, были разработаны принципы структурированного профаммирования. Основная идея структурированного профаммирования вполне соответствует принципу разделяй и властвуй . Компьютерную профамму можно представить состоящей из набора задач. Любая задача, которая слишком сложна для простого описания, должна быть разделена на несколько более мелких составных задач, и это деление необходимо продолжать до тех пор, пока задачи не станут достаточно простыми для понимания. В качестве примера возьмем вычисление средней заработной платы всех служащих компании. Это не такая уж простая задача. Однако ее можно разбить на ряд подзадач. 1. Выясняем, сколько зарабатываета каждый служаший. 2. Подсчитываем количество людей в компании. 3. Суммируем все зарплаты. 4. Делим суммарную зарплату на количество служащих в компании.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |