ДонНТУ   Портал магистров

Программирование на Java

Содержание

Начало пути

Я начал учиться программировать на Java три месяца назад. Начало было положено с изучения книги Head First Java авторов Кэти Сьерра, Берт Бейтс. Данная книга оказалась очень простой для понимания, т.к. сложные вещи в ней написаны в разговорной манере, и с применением всевозможных игр и упражнений. Так программирование постепенно стало моим хобби.

Рисунок 1 – Книга Head First Java

Рисунок 1 – Книга Head First Java

За последние годы своей жизни я разочаровался в соотношении «созидание/потребление». Слишком много моего свободного времени занимало потребление и прокрастинация. VK, подкасты, Twitter, YouTube, телевизионный спорт – этот список можно продолжать и продолжать. В этих занятиях нет ничего плохого: они интересны, познавательны и в чем-то полезны, но, по сути, направлены исключительно на потребление. Даже чтение замечательной книги – процесс потребления, не говоря уже о новостной ленте в социальных сетях.

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

Несмотря на семью, подработку, другие занятия и увлечения, у меня всё равно оставалось свободное время. И большую его часть я тратил на просмотр видео на YouTube. В какой-то момент я почувствовал себя бесполезным в этой жизни, и казалось, что этот процесс уже необратим.

Подумав о том, что еще с детства мне нравились всевозможные задачки на логику (впрочем, как и сейчас), я вспомнил о схожей с моей специальности – программировании. С программированием за пределами учебных заведений мне уже приходилось сталкиваться – это были онлайн курсы по основам программирования. Пройдя те курсы для саморазвития, они оставили свой след в моей голове и не давали покоя.

Итак, передо мной стоял огромный выбор языков программирования. Что же выбрать? – спрашивал я себя. Посмотрев информацию о всех самых популярных языках, я остановился на старом, всем известном – Java. Одной из основных причин такого выбора являлся тот факт, что Java применяется в разработке мобильных приложений, что больше всего меня и заинтересовало.

1. Основные сведения о Java

Java – сильно типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре с помощью виртуальной Java-машины. Дата официального выпуска – 23 мая 1995 года. На 2018 год Java – один из самых популярных языков программирования.

Рисунок 2 – Логотип языка программирования Java

Рисунок 2 – Логотип языка программирования Java

2. История создания

Изначально язык назывался Oak («Дуб»), разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств. Из-за того, что язык с таким названием уже существовал, вскоре Oak был переименован в Java. Назван в честь марки кофе Java, которая, в свою очередь, получила наименование одноимённого острова (Ява), поэтому на официальной эмблеме языка изображена чашка с горячим кофе. Существует и другая версия происхождения названия языка, связанная с аллюзией на кофе-машину как пример бытового устройства, для программирования которого изначально язык создавался. В соответствии с этимологией в русскоязычной литературе с конца двадцатого и до первых лет двадцать первого века название языка нередко переводилось как Ява, а не транскрибировалось, как это стало общепринятым позднее.

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

3. Основные особенности языка

Программы на Java транслируются в байт-код Java, выполняемый виртуальной машиной Java (JVM) – программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.

Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание.

Часто к недостаткам концепции виртуальной машины относят снижение производительности. Ряд усовершенствований несколько увеличил скорость выполнения программ на Java:

  1. применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде;
  2. широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках;
  3. аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами архитектуры ARM).

Идеи, заложенные в концепцию и различные реализации среды виртуальной машины Java, вдохновили множество энтузиастов на расширение перечня языков, которые могли бы быть использованы для создания программ, исполняемых на виртуальной машине. Эти идеи нашли также выражение в спецификации общеязыковой инфраструктуры CLI, заложенной в основу платформы .NET компанией Microsoft.

Заключение

Из собственных программ, пока что имеется только написанный консольный калькулятор. Таким образом я иду маленькими шагами на пути к большой цели! В планах – написать полноценное приложение под Android и выложить его на Google Play.

Рисунок 3 – Структура работы консольного калькулятора

Рисунок 3 – Структура работы консольного калькулятора

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

Список источников

1. wikipedia.org – Сведения о Java.
2. javarush.ru – Обучающие материалы и курсы.
3. geekbrains.ru – Онлайн курсы по программированию.
4. tproger.ru – Подборка полезных статей по программированию.