![](/stc/img/evkova.png)
История возникновения и развития языка программирования C++ и Java
Содержание:
Введение
Важнейшим понятием языка программирования являются идентификаторы. Идентификаторы используются для обозначения переменных и функций. В языке Си идентификаторы представляют собой последовательность букв латинского алфавита, символов подчеркивания и десятичных цифр. Первым символом в идентификаторе должна быть буква.
На сегодняшний момент язык Java является одним из самых распространенных и популярных языков программирования. Первая версия языка появилась еще в 1996 году в недрах компании Sun Microsystems, впоследствии поглощенной компанией Oracle. Java задумывался как универсальный язык программирования, который можно применять для различного рода задач. И к настоящему времени язык Java проделал большой путь, было издано множество различных версий. Текущей версией является Java 8, официальный релиз которой произошел в марте 2014 года. А Java превратился из просто универсального языка в целую платформу и экосистему, которая объединяет различные технологии, используемые в целого ряда задач: от создания десктопных приложений до написания крупных веб-порталов и сервисов. Кроме того, язык Java активно применяется для создания программного обеспечения для целого ряда устройств: обычных ПК, планшетов, смартфонов и мобильных телефонов и даже бытовой техники. Достаточно вспомнить популярность мобильной ОС Android, большинство программ для которой пишутся именно на Java.
Ключевой особенностью языка Java является то, что его код сначала транслируется в специальный байт-код, независимый от платформы. А затем этот байт-код выполняется виртуальной машиной JVM (Java Virtual Machine). В этом плане Java отличается от стандартных интерпретируемых языков как PHP или Perl, код которых сразу же выполняется интерпретатором. В то же время Java не является и чисто компилируемым языком, как С или С++.
Подобная архитектура обеспечивает кроссплатформенность и аппаратную переносимость программ на Java, благодаря чему подобные программы без перекомпиляции могут выполняться на различных платформах Windows, Linux, Solaris и т.д. Для каждой из платформ может быть своя реализация виртуальной машины JVM, но каждая из них может выполнять один и тот же код.
Java является языком с Си-подобным синтаксисом и близок в этом отношении к C/C++ и C#. Поэтому, если вы знакомы с одним из этих языков, то овладеть Java будет легче.
Еще одной ключевой особенностью Java является то, что она поддерживает автоматическую сборку мусора.
Java является объектно-ориентированным языком. Он поддерживает полиморфизм, наследование, статическую типизацию. Объектно-ориентированный подход позволяет решить задачи по построению крупных, но в тоже время гибких, масштабируемых и расширяемых приложений.
Цель работы – изучить историю возникновения и развития языка программирования Си (С++) и Java.
Задачи исследования:
1. изучить развитие языка С++;
2. определить стиль написания программы С++;
3. охарактеризовать особенности языка Java;
4. рассмотреть рограммное обеспечение.
Глава 1. История языка С++
1.1. Развитие языка С++
Одним из наиболее известных, сильно повлиявших на дальнейшее развитие информационных технологий и широко используемых до сих пор языков программирования является Си. На его основе были созданы такие наиболее популярные в настоящее время в индустрии программирования языки, как С++, С#, Java, PHP, Objective C и др. При этом можно сказать, что, в отличие от многих других языков, созданных в рамках серьезных инвестиционных программ правительств или крупных корпораций (PL/I, Кобол, Java) или родившихся в стенах исследовательских лабораторий в качестве проверки научной концепции (Smalltalk, Клу, Q и др.), Си появился на свет в результате «хулиганства». В начале 1970-х годов молодые системные программисты (программисты, создающие операционные системы и другие служебные программы) Деннис Ритчи и Кен Томпсон, работавшие в американской корпорации AT&T, были в числе других сотен разработчиков задействованы в большом проекте создания многозадачной многопользовательской операционной системы, что нашло свое отражение в названии — MULTICS. Согласно одной из легенд, Ритчи и Томпсон в свободное от работы время были не прочь поиграть. Особенно им полюбилась игра Space Travel, которую они сами написали и запускали на главном сервере компании. Позднее они захотели перенести ее на вспомогательный компьютер PDP-7, собиравший пыль в их комнате. Но он, к сожалению, не имел операционной системы [2, c. 133].
Что делают системные программисты, если им хочется запустить на компьютере игру, но на нем отсутствует операционная система? Правильно, пишут операционную систему. Название Unix как отсылка к MULTICS (противопоставление на английском слова «уникальный», «единственный» слову «мульти», «множественный») появилось в 1970 году как шутка Брайана Кернигана — намек на то, что новая система поддерживала лишь пользователя Томпсона и поэтому должна носить название Un-multiplexed Information and Computing Service. Все очевиднее становилось, что изначально устаревшая PDP-7, накладывающая множество раздражающих ограничений на работу операционной системы, не сможет удовлетворять нуждам дальнейшего развития, как и вся серия машин PDP-7. При этом надеяться на разрешение закупки нового оборудования со стороны руководства не приходилось. Один из сотрудников, увлекавшийся обработкой текстов на компьютере, предложил схитрить и попросить у начальства новейший микрокомпьютер PDP-11 компании DEC для создания инструментов редактирования и форматирования текста. То, что для создания этих инструментов потребуется написать операционную систему, указывалось как сноска.
Запрашиваемая сумма была куда меньше, чем раньше — всего 65 тыс. долларов. Не сразу, но начальство согласилось, и в 1970 году был сделан заказ на PDP-11 [3, c. 109].
Все усложнявшаяся операционная система была переписана на новую машину. Перенос оказался непростой задачей, поскольку система была написана полностью на ассемблере. В связи с этим возникла идея переписать операционную систему на язык высокого уровня. В распоряжении авторов имелся язык программирования BCPL. Его разработал Мартин Ричардс в 1966–1967 годах, когда посещал Массачусетский технологический институт. Это была несколько упрощенная версия языка CPL (Cambridge Programming Language).
Первоначально компилятор BCPL был реализован для операционных систем GECOS и MULTICS. Томпсон и Ритчи несколько его 76 усовершенствовали, назвав сначала B (читается «би»), и затем NB. По сути, B был синтаксически видоизмененным BCPL, который Томпсону удалось втиснуть в 8 Кбайт памяти. Почему язык получил такое имя?
Существует две гипотезы его происхождения: от первой буквы либо BCPL, либо другого языка Томпсона — Bon, названного в честь его жены Бонни. Язык B был, фактически, языком промежуточного уровня. Как и BCPL, он бестиповый, работающий со словом (ячейкой машинной памяти), содержащим фиксированное число разрядов, как в ассемблере.
Память при этом рассматривается как линейный массив слов, а значение ячейки можно интерпретировать как индекс в этом массиве.
Для подобного доступа BCPL использует оператор !, а язык B — оператор.
В связи с тем, что B не давал использовать все возможности PDP-11, на который программисты хотели перенести систему, было решено создать еще один улучшенный язык программирования. Переход от B к Си происходил одновременно с созданием компилятора, способного порождать довольно быстрые и компактные программы, не слишком уступавшие в скорости по сравнению с ассемблером. Деннис Ритчи вспоминает: «Я назвал несколько расширенный язык NB — «новый B» (new B)». В язык NB Ритчи ввел первые типы — int и char. Вместе с массивами и указателями они составили его систему типов. Откуда появилось название Си? Ритчи разъясняет это так: «Создав систему типов, соответствующий синтаксис и компилятор для нового языка, я почувствовал, что он заслуживает нового имени: NB показалось мне недостаточно четким. Я решил следовать однобуквенному стилю и назвал его C (Си), оставляя открытым вопрос, являлось ли после B это следующей буквой в алфавите или в названии BCPL». Надо сказать, что при создании Си активно использовалась «самораскрутка», когда язык используется для создания собственного транслятора. Сначала на ассемблере пишется поддержка минимального набора конструкций и возможностей реализуемого языка, затем полученный минимальный язык применяется разработчиком для реализации еще какой-либо возможности и т. д. Успех Си был неразрывно связан с тем, что в одном месте в одно и то же время появились сразу три шедевра, ставших культовыми: язык программирования Си, операционная система UNIX и мини-компьютер PDP-11 (в Советском Союзе аналогом PDP-11 были ЭВМ семейств СМ-4 и СМ-1420). Кен Томпсон считает: «Наше сотрудничество было образцом совершенства. За те десять лет, что мы проработали вместе, можно вспомнить только один случай нескоординированной работы. Я тогда обнаружил, что мы написали одинаковую ассемблерную программу из 20 строк. Я сравнил наши тексты и поразился, обнаружив, что они совпадают 77 посимвольно. Результат нашей совместной работы получился намного более значительным, чем вклад нас обоих по отдельности» [4, c. 101].
К 1973 году язык Си стал довольно силен, большая часть ядра UNIX, первоначально написанная на ассемблере PDP-11, была переписана на Си. Это одно из самых первых ядер операционных систем, написанное на языке, отличном от ассемблера. Более ранними были лишь MULTICS, запрограммированная на ПЛ/1, и TRIPOS, использовавшая BCPL. Таким образом, Си — язык, созданный системными программистами для своих нужд. Это серьезнейшим образом сказалось на некоторых его особенностях: Язык имеет низкоуровневые возможности, позволяющие непосредственно работать с машинными ячейками, в том числе битовые операции и так называемую адресную арифметику. В связи с этим некоторые ученые относят Си к языкам промежуточного, а не высокого уровня. Си позволяет создавать высокоэффективные — быстрые и не требующие больших объемов памяти программы.
Язык Си отличается минимализмом и лаконичностью программ. В отличие от языков, специально создававшихся для первоначального обучения программированию, таких как BASIC (Beginners All-purpose Symbolic Instruction Code — многоцелевой язык символических инструкций для начинающих) или Паскаль, Си дает программисту большие возможности, развязывет ему руки. Но за большую свободу, как известно, приходится платить большей ответственностью. При программировании на Си можно допустить такие ошибки, которые в Паскале невозможны. Брайан Керниган говорит: «Си — инструмент, острый, как бритва: с его помощью можно создать и элегантную программу, и кровавое месиво». В связи со сравнительно низким уровнем языка многие случаи неправильного использования опасных элементов не обнаруживаются ни при компиляции, ни во время исполнения. Это часто вызывает непредсказуемое поведение программы.
Иногда в результате неграмотного использования элементов языка появляются уязвимости. Примером ошибки является обращение к несуществующему элементу массива. Си не имеет проверки индексов массивов (проверки границ). Например, возможна запись в шестой элемент массива из пяти элементов, что, естественно, приведет к непредсказуемым результатам.
Похожей является ошибка переполнения буфера. Для того чтобы помочь программирующим на Си решить эти и многие другие проблемы, было создано большое число отдельных от компиляторов инструментов. Такими инструментами являются программы дополнительной проверки исходного текста программы и поиска распространенных ошибок (статические анализаторы), а также библиотеки, предоставляющие дополнительные функции, не входящие в стандарт языка. Во многих учебниках по языкам программирования традиционным началом изучения языка является написание на нем программы приветствия, выводящей на экран сообщение «Здравствуй, мир!» [12, c. 13].
1.2. Стиль написания программы С++
Следует обратить внимание на стиль написания программы, в том числе использование вертикальных и горизонтальных отступов для отделения логически значимых частей текста друг от друга (при этом отступы образуют лесенку). Правильный стиль необходим также для того, чтобы программа была более понятной и ясной для человека, включая и самого автора — по прошествии некоторого времени! С точки зрения языка программирования Си пробелы несущественны (игнорируются). Удобство восприятия и «прозрачность» программы для человека — один из главных факторов успеха крупных современных профессиональных программных проектов, в которых задействуется множество участников и создаются тысячи и десятки тысяч строк программ. Обратите также внимание на то, что при написании операторов и стандартных функций языка Си используются строчные, а не прописные буквы [10, c. 131].
Что же содержится в следующей строке? В ней пока не встречаются инструкции, непосредственно относящиеся к выводу приветствия на экран. Нам придется сделать довольно длительное отступление и погрузиться в особенности построения программ на языке программирования Си. Как уже говорилось, почти в любом современном языке программирования помимо собственно перечня выполняемых действий программа в обязательном порядке содержит еще несколько секций.
Например, программа на языке Си может содержать так называемые директивы препроцессора, которые обычно идут в начале текста программы и, чтобы отличаться от собственно операторов программы, начинаются с символа # (диез). Препроцессор — это специальная программа, обрабатывающая текст программы до того, как он передается транслятору, и осуществляющая некоторые предварительные действия над ним в соответствии с заданными директивами. Препроцессор имеет возможность обрабатывать ряд других директив, включая обработку макроподстановок, то есть замену в тексте программы специально введенных макроимен так называемыми макрорасширениями (блоками текста), при необходимости — параметрическую замену с указанием или вычислением изменяющихся параметров.
Простейший случай макроподстановки — эмулирование констант, например: #define PI 3.1415926 После этого все вхождения последовательности символов PI в тексте программы будут заменены препроцессором на цепочку символов 3.1415926. Необходимо обратить внимание на то, что замена осуществляется чисто механически — это не настоящая константа в смысле, принятом в языках программирования, в частности, не проводится контроль типов данных. Все же в Си одна из главных задач директив — указание, какие из библиотек (предварительно кем-то разработанных наборов программ, выполняющих полезные функции) будут использованы в программе.
Директива #include указывает на необходимость включения (вставки) в программу содержимого из заголовочного файла stdio.h библиотеки стандартных функций ввода-вывода (STandarD Input/Output). Хотя в принципе нет разницы, содержимое текстового файла с каким расширением включается в тело текущего файла, в большинстве случаев это так называемый заголовочный файл с расширением .h.
Заголовочный файл обычно содержит определения некоторых констант, глобальных переменных и структур данных, а также декларирующие описания — заголовки функций, используемых в том или ином программном модуле. В соответствующем файле исходного текста программы на языке Си, обычно имеющем одинаковое имя с заголовочным файлом, но с расширением .c, должна содержаться реализация данной функции.
Данное условие не относится к функциям стандартной библиотеки, которые поставляются не в виде исходных текстов, а внутри двоичных файлов с машинными кодами, обрабатываемых специальной программой — компоновщиком при сборке исполняемой программы пользователя. О том, что это заголовок системной библиотеки, говорит указание имени включаемого файла в угловых скобках.
Это показывает, что искать данный файл нужно в предопределенных местах среди системных каталогов.
Для обычных заголовочных файлов в директиве include используется взятие имени в кавычки [9, c. 151].
В данном случае вставка текста из stdio.h необходима для дальнейшего использования библиотечной функции printf, предназначенной для вывода информации на экран компьютера. Язык Си не содержит встроенных операторов ввода-вывода, в отличие от большинства других языков программирования, что делает его ядро более компактным, при этом поддержка ввода-вывода выносится в стандартные библиотечные функции. Следующая строка содержит заголовок основной функции программы — main.
Любая программа на языке Си является набором функций (в простейшем случае набор превращается в одну — главную функцию). Термин «функция» здесь имеет не математический, а особый, специфический смысл.
Функция определяется как модуль (часть программы), имеющий в общем случае некоторые аргументы, записываемые в круглых скобках, и способный возвращать некоторое значение. При этом одни функции могут вызывать на выполнение другие.
Функции могут располагаться в тексте программы в произвольном порядке, но система определяет точку входа (начала исполнения) программы с начала функции main.
Поэтому каждая программа на языке Си обязательно должна включать одну (и только одну!) функцию с именем main. Остальные функции могут иметь произвольные имена в соответствии с правилами написания идентификаторов (имен) в языке Си (содержать латинские буквы и цифры и знак _, не содержать в имени пробелов, начинаться с буквы и пр.). Описание функции выглядит следующим образом:
В заголовке перед собственно названием функции пишется тип возвращаемого ей значения. В нашем примере перед main написано ключевое слово int — это означает, что функция возвращает целое число. Поясним, что это за число. Поскольку функция main — главная функция программы, то ее выход подразумевает возвращаемое программой в операционную систему значение. При этом существует соглашение, по которому в случае, когда программа завершается нормально — без возникновения нештатных ситуаций, она возвращает ноль, в противном случае — ненулевое значение. После названия функции main идут круглые скобки без каких-либо символов внутри них, что означает, что наша программа не обрабатывает никаких входных значений (в случае необходимости имеется возможность передать в программу набор некоторых значений с использованием командной строки операционной системы). В следующих после заголовка строках находится тело функции (так на программистском жаргоне называется ее основной текст), в котором содержатся операторы языка Си и вызовы других функций, то есть действия, которые она выполняет.
Тело функции ограничивается фигурными скобками { и }. Такая пара скобок называется в языке программирования Си операторными скобками — ее используют для группировки любого количества операторов, обрабатываемых потом как один оператор в конструкциях языка. Наша функция вызывает одну стандартную библиотечную функцию форматного (с возможностью форматирования — выравнивания и т. д.) вывода информации на дисплей — функцию printf. Аргументом данной функции является текстовая строка (текстовые строки в языке Си принято заключать в двойные кавычки — " и м). В конце строки "«Здравствуй, мир!" присутствуют символы \n — это специальная последовательность символов языка, означающая, что после вывода строки на экран надо перейти к новой строке. Вообще специальные последовательности символов в языке программирования Си, называемые иногда управляющими, начинаются с символа \. Обратите также внимание на то, что стандартным разделителем в тексте программ на языке Си, разграничивающим отдельные действия внутри функции, является точка с запятой. Завершается функция оператором return 0. Оператор return прекращает выполнение любой функции и возвращает в вызвавшую ее (в нашем случае, поскольку функция главная, она вызывается из операционной системы) некоторое значение в качестве результата.
В данном примере мы передаем в операционную систему ноль в качестве свидетельства того, что функция завершилась нормальным образом. Поскольку мы объявили функцию main как возвращающую целое значение, необходимо вставить этот оператор в программу, хотя завершение выполнения функции произошло бы и просто при встрече закрывающей фигурной скобки.
В противном случае при трансляции программы мы получили бы предупреждение. Под предупреждением понимается сообщение о неточности или наличии в программе потенциально опасной конструкции, которая не является полностью недопустимой, как ошибка, в случае которой трансляция завершается неудачей, но должна привлечь внимание программиста. Завершающая строка программы — закрывающая фигурная скобка, указывающая на окончание функции main [6, c. 44].
Глава 2. История языка Java
2.1. Особенности языка Java
Язык Java, хоть и не без труда, но завоевал свое «место под солнцем». Сегодня Java прочно удерживает позиции самого востребованного языка программирования. Успеху языка способствовало бурное развитие интернет-технологий.
Дело в том, что для Java-программ характерна Введение 10 высокая степень универсальности и независимости от аппаратного обеспечения.
Это важно при создании программ, ориентированных на работу в Сети, поскольку конечные пользователи используют различные операционные системы и оборудование. К тому же важную роль сыграла применимость Java для программирования всевозможных мобильных устройств.
Поэтому нет ничего удивительного, что значительная доля коммерческих и свободно распространяемых программ написана на языке Java. Соответственно, спрос на программистов, работающих с языком Java, стабильно высок, а общие тенденции таковы, что он останется высоким и в ближайшее время. Универсальность программ, написанных на языке Java, базируется на использовании виртуальной машины. Это такой специфический «посредник», под управлением которого выполняется байт-код, получаемый при компиляции программы. Здесь нужны пояснения. После того как программа написана, она компилируется. Обычно в результате компиляции программы создается исполнительный файл с машинным кодом, который и выполняется, когда необходимо выполнить программу [5, c. 102].
Проще говоря, при компиляции команды, понятные для программиста, переводятся на «язык», понятный для компьютера. Если речь идет о программе, написанной на языке Java, то все происходит похожим образом, но с некоторыми особенностями. Самое важное, что в результате компиляции Java-программы получается не машинный код, а промежуточный байт-код.
Это нечто среднее между машинным кодом и кодом программы. Если машинный код, как правило, выполняется под управлением операционной системы, то байткод выполняется под управлением специальной программы, которая называется виртуальной машиной (или виртуальной Java-машиной). Понятно, что такую программу на компьютер предварительно следует установить. Возникает вопрос: а в чем же выигрыш от использования виртуальной машины и как все описанное влияет на универсальность кодов? Выигрыш в том, что при написании кода можно абстрагироваться от особенностей операционной системы и аппаратного обеспечения, используемых конечным пользователем.
Эти особенности учитываются — но учитываются на уровне виртуальной машины. Именно виртуальная машина при выполнении байт-кода «принимает в расчет» особенности операционной системы и аппаратного обеспечения компьютера, на котором выполняется программа.
Допустим, есть программа, написанная на языке С++. При ее компиляции получается машинный код, который для разных операционных систем будет разным. Если компилируется программа, написанная на Java, то получающийся в результате байт-код не зависит от операционной системы, которая установлена на компьютере, — он будет одним и тем же для разных операционных систем.
Но вот виртуальная машина для каждой операционной системы своя. Разница в операционных системах «учитывается», когда на компьютер устанавливается виртуальная машина.
Есть еще один важный аспект, касающийся языка Java, на который сразу хочется обратить внимание. Язык Java — полностью объектно-ориентированный язык. Сказанное означает, что для написания даже самой маленькой и самой простой программы придется описать по меньшей мере один класс. Это автоматически создает некоторые трудности в освоении премудростей Java. Особенно сложно тем, кто не имеет опыта программирования. Ведь фактически сразу, с первых шагов, приходится знакомиться с концепцией объектно-ориентированного программирования (сокращенно ООП), которая, надо признать, не самая тривиальная. Но паниковать не стоит — мы найдем способ донести нужные сведения даже до самых неподготовленных читателей. Главное, чтобы было желание освоить язык Java [4, c. 131].
2.2. Программное обеспечение
Если подойти к вопросу формально, то сам по себе язык Java — набор правил, в соответствии с которыми составляется программный код. Но программы пишутся для того, чтобы они выполнялись. А раз так, то нам понадобится специальное программное обеспечение. Хорошая новость в том, что все необходимое программное обеспечение может быть получено совершенно свободно, просто, легально и бесплатно.
Понятно, что есть и коммерческие приложения, предназначенные для написания программ в Java. Но для решения тех задач, которые мы ставим перед собой, стандартного свободно распространяемого программного обеспечения более чем достаточно. Что же нам понадобится? В принципе, можно обойтись минимальными средствами в виде пакета приложений JDK (сокращение от Java Development Kit — средства разработки Java). В состав пакета JDK, кроме прочего, входит компилятор, всевозможные библиотеки, документация и исполнительная система JRE (сокращение от Java Runtime Environment — среда выполнения Java) — фактически виртуальная машина Java. Пакет приложений JDK распространяется бесплатно компанией Oracle (сайт компании www.oracle.com).
В свое время разработчика Java, компанию Sun Microsystems, поглотила корпорация Oracle. Так что теперь поддержкой Java-технологий занимается именно она. Ситуация такая, что без JDK нам не обойтись, но и ограничиваться только пакетом JDK не стоит. Если ограничиться только пакетом JDK, то программные коды придется набирать в текстовом редакторе, а компилировать программу придется «вручную» из командной строки. Поэтому желательно использовать среду разработки (сокращенно IDE от Integrated Development Environment).
Среда разработки содержит редактор кодов, отладчик, позволяющий в интерактивном режиме отслеживать код на наличие синтаксических ошибок, набор прочих утилит, позволяющих сделать процесс написания, тестирования и компиляции программ простым, удобным и где-то даже комфортным (насколько это вообще возможно).
Проще говоря, среда разработки должна использоваться — тем более, если учесть, что имеются очень приличные бесплатно распространяемые среды разработки [1, c. 113].
Мы остановим свой выбор на среде разработки NetBeans. Среда распространяется бесплатно, ее установочные файлы можно загрузить на сайте поддержки проекта www.netbeans.org. Далее кратко рассмотрим, какое программное обеспечение и откуда следует загрузить перед тем, как мы непосредственно приступим к изучению языка программирования Java. Задача наша простая:
• загрузить и установить пакет приложений JDK;
• после установки JDK следует загрузить и установить среду разработки NetBeans.
Действия по загрузке и установке программного обеспечения выполняются именно в том порядке, как они перечислены выше. ДЕТАЛИ Среда разработки NetBeans в процессе работы с программными кодами обращается к системе JDK. Если систему JDK установить до установки NetBeans, то все настройки среды разработки, связанные с JDK, выполняются автоматически. Если систему JDK устанавливать после установки среды разработки NetBeans, то настройки среды разработки придется выполнять самостоятельно. Итак, в первую очередь устанавливаем пакет JDK, для чего предварительно с сайта компании Oracle загружаем установочные файлы. На рис. В.1 показано окно браузера, открытое на странице www.oracle.com. В разделе загрузок (вкладка Downloads) следует найти ссылку на загрузку программного обеспечения для Java. ДЕТАЛИ Существует несколько редакций, или дистрибутивов, Java. Например, платформа Java для создания программного обеспечения уровня больших корпораций называется Java Enterprise Edition (сокращенно Java EE). Стандартная редакция Java предназначена для создания пользовательских приложений и называется Java Standard Edition (сокращенно Java SE). Также существует редакция Java Micro Edition (сокращенно Java ME), используемая при создании приложений для всевозможных мобильных устройств. Мы будем использовать стандартную редакцию Java Standard Edition (или Java SE).
Рис. В.1. Окно браузера открыто на странице www.oracle.com корпорации Oracle После щелчка по гиперссылке для загрузки программного обеспечения для работы с Java, переходим на еще одну страницу, с которой собственно и выполняется загрузка (рис. В.2).
Рис. В.2. Окно браузера открыто на странице загрузки установочного файла пакета JDK и среды разработки NetBeans
В принципе здесь можно просто загрузить пакет JDK, но обычно предлагается еще и способ загрузки, при котором пакет JDK идет в комплекте со средой разработки NetBeans. Это, пожалуй, лучший вариант, который позволяет последовательно установить на компьютер JDK и NetBeans из одного установочного файла. В процессе загрузки предлагается выбрать тип установочного файла в соответствии с используемой операционной системой. Ситуация проиллюстрирована на рис. В.3.
Рис. В.3. Выбор установочного файла в соответствии с используемой операционной системой
Внешний вид сайтов, в том числе и сайт корпорации Oracle, время от времени меняется, поэтому не исключено, что для поиска страницы загрузки программного обеспечения придется проявить некоторую изобретательность. Если со страницы корпорации Oracle загружается установочный файл сразу для JDK и NetBeans, то все, что остается — выполнить установку. Выполняется она просто, так что комментировать здесь особо нечего (со всеми предлагаемыми в процессе установки настройками лучше согласиться). Если же по каким-то причинам загружается и устанавливается только пакет JDK, то придется отдельно загрузить еще и установочный файл для среды разработки NetBeans. В этом случае переходим на страницу www.netbeans.org проекта NetBeans, как показано на рис. В.4.
Рис. В.4. Страница www.netbeans.org проекта NetBeans
Затем переходим к странице загрузки установочных файлов среды NetBeans, на которой следует выбрать версию среды для загрузки (рис. В.5). Разные версии среды разработки отличаются, кроме языка интерфейса, поддерживаемыми технологиями (сюда включаются разные редакции платформы Java и еще несколько дополнительных языков программирования). Версия должна быть такой, чтобы в ней поддерживалась редакция Java SE. Если возможности аппаратного обеспечения позволяют, можно порекомендовать версию среды разработки с максимальным набором поддерживаемых технологий. После выбора версии среды разработки NetBeans загружается установочный файл, после чего устанавливается среда разработки. На этом предварительная подготовка к написанию программ на Java завершается. Заметим лишь, что еще одна полезная страница находится по адресу www.java.com. На рис. В.6 показано окно браузера, открытое на данной странице.
Рис. В.5. Выбор версии среды разработки NetBeans
Рис. В.6. Окно браузера открыто на странице www.java.com поддержки Java
На странице можно загружать обновления платформы Java, которые появляются достаточно часто [9, c. 102].
Заключение
Современное общество просто не может нормально существовать без программирования. Практически все, что нас окружает, является компьютеризованным, а значит – работает на определенного рода программном обеспечении. Сейчас большинство языков программирования, которые активно используются, доведены до высокого уровня совершенства и способны решать практически любые возложенные на них задачи. Но еще несколько десятилетий назад это было совершенно не так – программирование только начинало зарождаться и совершенствоваться и для большинства программистов того времени создать какое-либо подобие игры в шахматы было очень большим достижением.
История языков программирования довольно захватывающая и интересная. Рассмотрим же основные этапы становления этой важнейшей сферы деятельности и вспомним некоторые языки программирования, которые в свое время сыграли решающую роль в развитии всей ИТ-индустрии.
Многие считают родоначальником программирования машин на определенные задачи английского ученого Чарльза Бэббиджема. Именно он в 20-х годах 20-го века сформулировал понятие программы, как последовательности действий машины для получения нужного результата. Конечно, это можно считать довольно условным фактом, так как первые вычислительные аппараты появлялись далеко задолго до 20-го века.
Первым языком программирования можно считать так называемый машинный код, который представлял собой набор нулей и единиц, совмещенных в определенной последовательности. Нулю соответствовало отсутствие напряжения в определенном узле ЭВМ, единице – подача напряжения на некоторый момент времени. Это первый традиционный вариант программирования, но он имел немало недостатков, один из которых – даже малейшая ошибка полностью выводит программу из строя.
Приблизительно в 50-е годы начались активные разработки более совершенных вариантов языков программирования, нежели простые сигналы из нулей и единиц. Американские ученые разработали довольно успешный язык Ada, который использовался для управления военной техникой. Также очень большую роль в ИТ-индустрию внес язык под названием Fortran. Он возник в глубинах компании IBM – главного компьютерного гиганта того времени, и активно использовался для решения научных и технических задач.
Европейские ученые не на шутку взволновались успехами американцев и решили создавать свой язык программирования, дабы не дать США доминировать в области программирования. Благодаря их решению история развития языков программирования дополнилась еще одним представителем – языком Algol, который решал примерно те же задачи, что и его американский конкурент.
Один из участников работы над упомянутым выше Алголом по имени Никлаус Вирт решил создать более универсальный и продвинутый язык. В итоге он представил миру такой легендарный язык программирования, как Паскаль. Именно он внес существенный вклад в развитие данной области знаний и послужит прочной основой для появления других, более совершенных языков. Паскаль стал одним из первых языков, использующих структурное программирование, довольно простой и легко запоминающийся синтаксис. В будущем многие компании и индивидуальные программисты создавали на базе Паскаля свои варианты языков. К примеру, известная Apple создала расширение Паскаля под названием Object Pascal, а компания Borland – очень популярную и удачную интегрированную среду разработки Turbo Pascal.
В 70-х годах велись активные разработки языка С, который в будущем послужил надежной платформой для создания целого ряда своих более совершенных вариантов: Си Шарп, С++ и других. С был уже полноценным высокоуровневым языком программирования, на котором возможно реализовывать практически любые задачи по созданию самого разнообразного ПО. Известный и популярный в наше время язык Objective-C, который разработан компанией Apple и активно используется для написания программного обеспечения на их гаджеты и другие продукты, создан именно на основе того самого языка С из далеких 70-х.
История создания языков программирования была бы не полной, если не упоминать еще и о таких важнейших языках, как Java, PHP, HTML. Java возник в середине 90-х годов и сразу получил широкое применение и популярность. с его помощью одинаково легко пишутся как программы на ПК, так и различные скрипты, веб-приложения и многое другое. HTML язык был разработан британским программистом Т. Бернерсом-Ли в начале 90-х. именно он стал основой всей сети интернет и имеющихся сейчас в не миллионов сайтов. Что касается PHP, то этот популярный нынче язык также возник в 1995 году, имел открытый исходный код и способен реализовать практически любую задумку в сфере создания динамических вебсайтов.
Вот так выглядит история возникновения языков программирования, если смотреть на нее очень поверхностно и вкратце.
Список литературы
- Арнолд К., Гослинг Дж., Холмс Д. Язык программирования Java. 3-е изд.: Пер. с. англ. М.: Издательский дом «Вильямс», 2001.
- ВязовикН.А. Программирование на Java М.: Интернет-Ун-т Информ. Технологий, 2003.
- Информатика / Под ред. Н.В. Макаровой. - М.: Финансы и статистика, 2013.
- Мейер Б. Объектно-ориентированное конструирование программ ных систем / Пер. с англ. М.: Издательско-торговый дом «Русская редакция», 2005.
- Мостовой Д.Ю. Современные информационные технологии // Мир ПК. - №1. – 2013.
- Мугал P. Java. Руководство по подготовке к сдаче экзамена СХ-310035 М.: Кудиц-образ, 2006.
- Острейковский В.А. Информатика. – М.: Высшая школа, 2015.
- Островский С. Компьютерные технологии. – М.: Логос, 2013.
- Семакин И., Залогова Л., Русаков С., Шестакова Л. Информатика. - М.: Лаборатория Базовых Знаний, 2013.
- Хабибулин И. Самоучитель Java СПб: BHV, 2008.
- Хорстманн К.С., Корнелл Г. Библиотека профессионала: Java 2 М.: Изд. дом «Вильямс», 2004.
- Эккель Б. Философия Java СПб: Питер, 2008.
- Понятие функций менеджмента и системы менеджмента
- Разработка регламента выполнения процесса «реализация билетов через розничные кассы» (Реализация объектно-ориентированного подхода к проектированию экономической информационной системы)
- Понятие и принципы авторского права (Субъективные авторские права на произведения науки, литературы и искусства)
- Общие особенности кадровой стратегии малых предприятий (Понятие стратегии управления кадровым потенциалом малых предприятий)
- Менеджмент управления человеческими ресурсами
- Доходы федерального бюджета, пути их роста
- Оборотные активы предприятия (Понятие, классификация, состав и структура оборотных средств)
- Мультипроцессоры (Сущность Мультипроцессоров)
- История возникновения и развития языка программирования Си (С++) и Java (Понятие «программирование»)
- Применение процессного подхода для оптимизации бизнес-процессов (Описание предметной области. Постановка задачи)
- Выбор стиля руководства в организации (Стиль управления в управлении персоналом)
- Прогнозирование эффективности реальных инвестиций коммерческого банка на примере Альфа-банка