gb-java-devel/scenarios/jc-1-c.tex

44 lines
12 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[../j-spec.tex]{subfiles}
\begin{document}
\showslide{build/jc-1-b.pdf}
Добро пожаловать на специализацию Java, лучшую из всех специализаций Java, что вы сможете найти.
% ------------------------------------------------------------------------------------------------
\showslide{build/jc-1-b.pdf}
Здравствуйте, меня зовут Иван, я разработчик программного обеспечения в Российских космических системах, начальник группы программистов, автор и преподаватель нескольких курсов в направлении программирования на портале GeekBrains. Пара слов обо мне, почему я нахожусь здесь и планирую Вам что-то рассказывать про язык Java? Для этого придётся вынести за скобки мой опыт работы в цифровой схемотехнике и других языках, в том числе создание бортовой аппаратуры, которая прямо сейчас летает у нас над головами или продолжает доставлять другие полезные грузы в космос. С точки зрения языка Java, обо мне можно сказать, что я являюсь разработчиком нескольких отраслевых информационных систем поддержки единой наземной инфраструктуры российского космического агентства. На моём счету также участие в межотраслевых проектах по созданию единых баз данных космического применения.
%------------------------------------------------------------------------------------------------
\showslide{build/jc-1-b.pdf}
Итак язык Java. Согласно википедии, Java — строго типизированный объектно-ориентированный язык программирования общего назначения, разработанный компанией Sun Microsystems. Разработка ведётся сообществом; язык и основные реализующие его технологии распространяются по лицензии GPL.
Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре, для которой существует реализация виртуальной Java-машины. Дата официального выпуска — 23 мая 1995 года. Традиционно занимает высокие места в рейтингах популярности языков программирования (3-е место в рейтинге TIOBE (на август 2021)). На графике отлично видно, что с 2002 года язык уверенно держится в тройке популярных, значительную часть времени возглавляя его.
Но это всё - сухие факты, ничего не говорящие нам о том, чем руководствовались разработчики языка и что нам, программистам, с этим делать.
Существует, интересная версия происхождения названия языка, связанная с аллюзией на кофе машину как пример бытового устройства, для программирования которого изначально язык создавался. Кстати, в результате работы проекта мир увидел принципиально новое устройство, карманный персональный компьютер, который опередил своё время более чем на 10 лет, но из-за большой стоимости не смог произвести переворот в мире технологии и был забыт. Устройство Star7 не пользовалось популярностью, в отличие от языка программирования Java и его окружения. С середины 1990-х годов язык стал широко использоваться для написания клиентских приложений и серверного программного обеспечения. Тогда же некоторое распространение получила технология Java-апплетов — графических Java-приложений, встраиваемых в веб-страницы; с развитием возможностей динамических веб-страниц технология стала применяться редко и язык стал применяться для бэк-энда.
Итак Язык программирования Java занял свою нишу в системном и прикладном программировании из-за своей высокой скорости работы, и веб-программировании, из-за удобного сетевого окружения, ставшего основой для создания бэк-энда веб-сервисов. Java очевидно испытал влияние языков C, C++, Pascal и других, так что многое в этих языках достаточно досконально изучить один раз, чтобы иметь возможность понимать все связанные.
% ------------------------------------------------------------------------------------------------
\showslide{build/jc-1-b.pdf}
Мы привыкли к тому, что для программирования нужна некоторая среда, которая будет удобно подсказывать нам, что делать, как писать программу, запускать написанный код и помогать нам отлаживать его. Чаще всего это так, но я призываю вас не останавливаться на единственном инструменте, ведь если быть всегда сосредоточенным на отвёртке, вы никогда не узнаете, что люди придумали очень удобный шуруповёрт.
Я не планирую рекламировать ту или иную среду, скорее всего не буду даже много говорить о плюсах и минусах той или иной среды, просто покажу список и коротко расскажу о главных действующих лицах:
\begin{enumerate}
\item NetBeans - если коротко, то эта среда с нами из уважения к истории, она была первой, созданной для разработки на языке Java. Долгое время разработка этой среды не велась, но в последние несколько лет разработчики как будто бы вспомнили о ней и активно взялись за дело, сейчас есть версии под все популярные ОС, поддерживается весь популярный современный функционал, есть прикольные самобытные моменты, вроде расширенных клавиатурных макросов для написания функций с передаваемыми в них массивами;
\item Eclipse - проще, наверное, назвать язык или технологию, под которую нет плагина для этой весьма расширяемой и дополняемой среды программирования. Долгое время, вплоть до недавнего, а где-то и до сих пор, является корпоративным стандартом для написания Enterprise приложений и прочих сложных корпоративных приложений. Весьма гибкая среда и-за того, что разрабатывается Eclipse Foundation к ней можно подключить плагины, решающие почти любые задачи разработки. Из того что я видел своими глазами, Siemens использует Eclipse для разработки своих систем поддержки жизненного цикла изделий;
\item IntelliJ IDEA - стандарт де-факто примерно десять последних лет. Не уверен, можно ли назвать эту среду российской разработкой, но у компании, разрабатывающей эту среду, три русских учредителя. Да и сама эта компания началась именно с этой среды. В этой среде можно настроить почти любую деталь, что часто бывает очень удобно. Среда расширяется плагинами на почти все случаи жизни разработчика. Часто входит в экосистему JetBrains, развёрнутую на предприятии, поэтому тесно интегрируется в другие сферы деятельности компании. Существует как бесплатная, так и платная версия с расширенным функционалом, например, доступа к базам данных.
\end{enumerate}
Отдельно стоит обговорить такую среду, как Android Studio, как мог заметить внимательный зритель, её нет в списке на слайде, но не потому, что в ней нельзя разрабатывать Java-приложения, а потому что если не разрабатывать в ней именно Android приложения, следует отказаться от её использования из-за некоторой избыточности. Среда снабжена значительным количеством надстроек и эмуляторов мобильных устройств, которые попросту будут вам мешать, если вы не используете их в своей профессиональной деятельности. С другой стороны, если ваша цель - это именно мобильная разработка под Android, то и выбора у вас особо нет, только Android Studio.
% ------------------------------------------------------------------------------------------------
\showslide{build/jc-1-b.pdf}
О средах программирования дополнительно поговорили, нужно выбрать какую-нибудь, и скачать. В курсе, кроме этого урока будет использоваться комьюнити версия среды Intellij IDEA, можете для простоты выбрать её. Наверняка, для прохождения предыдущих курсов вы уже скачали и установили JDK, и вот сейчас пришла пора разобраться, что это, какие они бывают, откуда их брать и как их выбирать, мы же за осознанность как-никак.
% ------------------------------------------------------------------------------------------------
\showslide{build/jc-1-b.pdf}
\end{document}