Версии Java
На данный момент существует множество реализаций Java платформы, из которых популярны две – открытая версия OpenJDK и Oracle Java.
Основные отличия между этими версиями заключается в том, что в Oracle Java содержатся некоторые закрытые компоненты, а так же компоненты, защищенные патентами. OpenJDK является реализацией спецификаций Java с полностью открытым исходным кодом. Начиная с 7 версии OpenJDK является эталонной реализацией Java SE. Для большинства пользователей нет особой разницы какой именно версией Java пользоваться, но в некоторых случаях закрытая реализация от Oracle проявляет себя с лучшей стороны.
COBOL
Один из старейших языков, используемых до сих пор, был создан Грейс Хоппер в конце 1950-х годов и предназначался для стандартизации разработки крупномасштабных бизнес-приложений на компьютерах. Блестящая концепция, которая до сих пор применяется в кроссплатформенных SDK. Через системы COBOL проходят невероятные 95% транзакций ATM, причем многие из этих устройств работают круглосуточно 365 дней в году. Такие поставщики устройств, как IBM, разрабатывают более мощные машины, предназначенные для COBOL, но продолжают обслуживать и обновлять существующие системы из-за затрат и рисков, связанных с их заменой. В ближайшее время COBOL никуда не уйдет. Это хороший выбор для тех, кто хочет работать с клиентами из финансовой сферы.
Области применения: банковское дело / финансы, международные корпорации, правительства.
Кроссплатформенный пользовательский интерфейс
На разных ОС — независимо от того, как технически достигнута работа в них — стандартные элементы интерфейса имеют разные размеры. Поэтому простое жесткое позиционирование элементов интерфейса невозможно — под другой ОС они могут налезать друг на друга. Существует несколько подходов.
- Единый стиль, общий для всех ОС. Программы выглядят одинаково под всеми ОС. Так работают интерфейсные библиотеки Java наподобие Swing.
- Плюс: можно жестко расставлять элементы управления на манер Delphi; оригинальный стиль.
- Минус: системе приходится иметь свои экранные шрифты; стиль отличается от стиля ОС.
- Самоадаптирующийся интерфейс, подстраивающий сетку под реальные размеры элементов управления. Типичные примеры — wxWidgets, XUL.
- Плюс: стандартный стиль ОС, очень быстрый и «скинующийся» под Windows XP, Vista и 7; некоторая автоматизация локализации.
- Минус: чтобы собрать самоадаптирующуюся сетку, требуется квалифицированный ; затруднена плотная компоновка.
- Гибридный подход реализован в GTK+.
- Плюс: шрифты можно брать из системы, а не «тащить» свои; некоторая автоматизация локализации.
- Минус: берет все недостатки от первых двух подходов. Стиль отличается от стиля ОС; затруднена плотная компоновка.
В любом случае, под другими ОС требуется хотя бы минимальное тестирование, так как возможны ошибки компоновки.
Как запустить файл в windows
На операционной системе Виндовс можно запустить jar файл специальными программами. Давайте перечислим основные варианты.
Oracle Java Runtime Environment
Это приложение, которое позволит просматривать документы на персональном компьютере. Вы сможете работать даже с теми играми, которые наотрез отказываются «сотрудничать» со стандартными программами.
Eclipse
Это бесплатная разработка, которая создана для работы с таким форматом. Простое и понятное меню не вызовет проблем и сложностей. В нем разберется начинающий пользователь, ведь все разложено по полочкам.
7-Zip
Этот архиватор поможет разобраться, как открыть файл jar. Подходит для использования документов с соответствующим форматом (Рисунок 2). Полнофункциональное приложение доступно для бесплатного скачивания. Скачать программу 7-Zip возможно на нашем сайте.
Рисунок 2. Внешний вид интерфейса программы 7-zip для работы с файлами jar
WinRAR
Этот архиватор умеет обрабатывать большинство расширений. С ним намного комфортнее понять, как запустить jar файл (Рисунок 3). Продукт используется на разных платформах.
Рисунок 3. Рабочий интерфейс приложения WinRaR для работы с файлами .jar
IZArc
Бесплатная программка, которая поддерживает работу с доками разных форматов. Очень простая и понятная разработка. Интерфейс продуман до мельчайших подробностей.Программа IZArc доступна на нашем сайте.
ZipZag
Работа с архивами будет комфортной и простой. Каждый пункт меню понятен для пользователя с небольшим опытом. Вы сможете просматривать документы формата, не сталкиваясь с проблемами.
Java Development Kit
Интерактивный пакет разработан специально для подобных расширений. Это полноценный набор инструментов, которые выполняют полезные функции.
Теперь вы знаете, как запустить jar файл в windows с помощью специальных пакетов.
Виды программ в Linux
Перед тем, как мы перейдем к запуску программ, нужно сначала понять что представляет из себя программа. В Linux программы отличаются от других файлов только тем, что для них установлен флаг исполняемости. Я уже подробно писал об этом в статье поэтому не буду повторяться.
Все программы можно поделить на несколько типов:
- Бинарные программы — содержат инструкции процессору уже готовые к выполнению, большинство программ находятся в таком формате, они быстрые и выполняются сразу же системой;
- Программы на байт-коде — это уже не процессорные инструкции, а инструкции определенной виртуальной машины, которая может их выполнять, без виртуальной машины такие команды не могут быть выполнены. Такие программы потребляют больше ресурсов, но тоже достаточно быстрые, их преимущество в том, что они могут выполняться без изменения везде где может работать виртуальная машина. К таким программам можно отнести программы на Java.
- Скриптовые программы — эти программы состоят из набора команд в виде обычного текста, которые выполняет специальный интерпретатор. Такие программы более медленные, но зато они проще в разработке и их код можно легко и быстро изменить.
А теперь перейдем к запуску программ.
Какие версии Java бывают и чем отличаются
Существует несколько реализаций Java для Linux. Самыми популярными являются OpenJDK и Oracle Java. В Linux обычно пользователь устанавливает одну из этих реализаций.
- Oracle Java — реализация Java для Linux от компании Oracle. В ней содержатся некоторые закрытые (проприетарные) компоненты и компоненты, которые защищены патентами.
- OpenJDK — реализация Java для Linux с открытым исходным кодом.
Обе версии вполне работоспособны и в Linux можно использовать любую из них. Но иногда, для некоторых приложений, рекомендуется использовать Oracle Java.
В Linux пакеты с Java представлены в двух редакциях:
- JRE — Java Runtime Environment — компоненты, предназначенные для запуска Java-программ в Linux.
- JDK — Java Development Kit — компоненты, предназначенные для запуска, компиляции и разработки Java-программ.
Выделяем память в Java
эвристики сборщика мусора
- Вы должны понимать, сколько полезных объектов должны находиться в памяти постоянно (Live set). Это правильнее всего измерять эмпирически, то есть надо:
- производить тесты;
- делать Heap Dump;
- смотреть, из чего состоит куча и как она будет расти при увеличении числа запросов или количества данных.
- Молодое поколение либо берётся по умолчанию в процентном отношении от кучи, либо выставляется динамически. Например, фишка G1 collector как раз в том, что он сам умеет правильно выбирать размер young space. Для остальных сборщиков мусора лучше его выставлять руками, опять же исходя из эмпирических соображений.
- Сборщику мусора обязательно нужен резерв, так как для того, чтобы собирать мусор, он где-то должен в памяти быть. Чем больше у вас памяти под мусор, тем меньше CPU будет тратиться на 1 Гбайт освобождённой памяти. Этот баланс никогда нельзя «выкрутить в ноль». Размер резерва зависит от особенностей вашего приложения и используемого сборщика мусора, как правило, это 30–50%.
- Итого, общий размер вашей кучи (-Xmx) состоит из:
- размерамолодого поколения;
- размера live set;
- резерва.
1. Си
Я не преувеличу, если скажу, что этот язык был создан для этой операционной системы. Это уже старый язык. Он создавался в семидесятых годах инженером из Bell Labs Денисом Ритчи специально для написания ядра Unix. Дело в том, что в те времена программы и операционные системы писались на ассемблере и нужно было для каждой архитектуры писать программу отдельно, потому что наборы инструкций отличались. Разработчикам Unix нужен был высокоуровневый язык программирования, на котором они смогли бы написать Unix один раз и собирать его для всех платформ. Таким языком стал Си.
Ядро Linux, основано на Unix, а поэтому тоже написано на Си, также на Си реализованы все модули ядра, драйверы, а также огромное количество системного программного обеспечения. Если вы задавались вопросом, на чем написан Linux то теперь знаете ответ. На Си разработаны множество утилит из набора GNU, X сервер, набор библиотек для работы с графикой GTK и многое другое, некоторые оконные менеджеры. Но для написания новых программ Си используется все реже, ему на замену пришла его объективно ориентированная модификация С++.
Как добиваются кроссплатформенности
Кроссплатформенные языки программирования
Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Например, C (язык программирования), C++ (язык программирования), Free Pascal — кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. Это позволяет — при надлежащем качестве кода — не переписывать основной движок программы, меняются только особые системозависимые части.
Не менее важны для кроссплатформенности стандартизованные библиотеки времени выполнения. В частности, стандартом стала библиотека языка Си (см. POSIX (Portable Operating System Interface for Unix)). Из крупных кроссплатформенных библиотек — Qt (программного обеспечения), GTK+, FLTK, STL, Boost, GLSL (OpenGL Shading Language), SDL, OpenAL, OpenCL.
Кроссплатформенные среды исполнения
Ещё на заре ПК компания IBM сделала свой персональный компьютер совместимым с CP/M. Это позволило запускать на нём уже имеющиеся программы.
PHP (язык программирования), Perl, Python, Tcl и Ruby (язык программирования) — кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.
Среды исполнения ActionScript Virtual Machine, JVM (Java Virtual Machine) и Visual Basic .NET также кроссплатформенны, однако на их вход подаётся не исходный текст, а промежуточный код. Поэтому программы, написанные на ActionScript, Java и C Sharp, можно запускать под разными ОС без предварительной перекомпиляции.
Кроссплатформенный пользовательский интерфейс
На разных ОС — независимо от того, как технически достигнута работа в них — стандартные элементы интерфейса имеют разные размеры. Поэтому простое жёсткое позиционирование элементов интерфейса невозможно — под другой ОС они могут налезать друг на друга. Существует несколько подходов.
1. Единый стиль, общий для всех ОС. Программы выглядят одинаково под всеми ОС. Так работают интерфейсные библиотеки Java наподобие Swing.
- Плюс: можно жёстко расставлять элементы управления на манер Delphi (язык программирования); оригинальный стиль.
- Минус: системе приходится иметь свои экранные шрифты; стиль отличается от стиля ОС.
2. Самоадаптирующийся интерфейс, подстраивающий сетку под реальные размеры элементов управления. Типичные примеры — Qt (программного обеспечения), wxWidgets, XUL.
- Плюс: стандартный стиль ОС, очень быстрый и «скинующийся» под Windows XP, Microsoft Windows Vista и Microsoft Windows 7; некоторая автоматизация локализации.
- Минус: чтобы собрать самоадаптирующуюся сетку, требуется квалифицированный программист; затруднена плотная компоновка.
3. Гибридный подход реализован в GTK+.
- Плюс: шрифты можно брать из системы, а не «тащить» свои; некоторая автоматизация локализации.
- Минус: берёт все недостатки от первых двух подходов. Стиль отличается от стиля ОС; затруднена плотная компоновка.
В любом случае, под другими ОС требуется хотя бы минимальное тестирование, так как возможны ошибки компоновки.
Java
Для того, чтобы запустить код Java из Python необходимо создать maven java проект (я пользуюсь IntellIJ). В нем создать модуль (я назвал его pkg_java) и в нем создать класс (название: JavaPrime) с логикой проверки числа на простоту методом Ферма:
Далее необходимо создать .jar файл из данного модуля, для этого в File->Project Structure необходимо создать новый Jar артефакт:
Создание jar-артефакта
После чего выполнить Build->Build Artifacts, высветится список всех доступных артефактов, необходимо выбрать только что созданный и нажать build, в итоге будет создан .jar файл модуля.
Путь к .jar файлу
Теперь необходимо подключить .jar файл к Python. Для этого первым делом нужно установить библиотеку JPype1, выполнив , и подключить созданный .jar к проекту:
Модуль Java был успешно загружен, теперь можно пользоваться тестом Ферма.
Использование Пружинного Ботинка
5.1. Использование Maven и Defaults
Если мы используем Spring Boot с Maven, мы должны сначала подтвердить, что наш параметр упаковки установлен в jar , а не war в нашем pom.xml файл.
4.0.0spring-bootjarspring-boot
Как только мы узнаем, что это настроено, мы можем запустить пакет цель:
mvn package
5.2. Установка точки входа
Установка нашего основного класса-это то, где мы находим различия между созданием jar с обычным Java-приложением и fat jar для приложения Spring Boot . В приложении Spring Boot основной класс на самом деле является org.springframework.boot.loader.Ярлаунчер .
Хотя наш пример не является приложением Spring Boot, мы могли бы легко настроить его как консольное приложение Spring Boot .
Наш основной класс должен быть указан как начальный класс:
com.baeldung.jar.JarExample
Мы также можем использовать Gradle для создания Spring Boot fat jar .
4. Perl
Perl — это ещё один скриптовый язык программирования разработанный Ларри Уоллом в 1987 году. У этого языка очень огромные возможности для работы с текстом. Регулярные выражения, которые используются в современных языках программирования, например, PHP, очень часто пошли именно отсюда. Но у Perl есть огромный недостаток, этот язык имеет очень сложный синтаксис и высокий порог вхождения.
Много старого кода в Linux написано на Perl, это различные скрипты сборки ядра, часты пакетного менеджера dpkg, скрипты системы инициализации и многое другое. Из современных программ, написанных на Perl можно отметить скрипт просмотра информации о системе inxi. Как правило, всё новое пишется на Python, но переписывать старое особого смысла нет.
Bash
Сценарии командной оболочки Unix, созданные Кеном Томпсоном в начале 1970-х годов, тесно связаны с языком программирования C. Bash — обновленная оболочка Unix — была впервые выпущена в конце 80-х годов и до сих пор активно разрабатывается. На Bash обычно пишутся сценарии конфигурации сервера, поэтому это хороший выбор для работы в современных облачных средах с контейнерным хранением и микросервисами. Скрипты командной оболочки используются достаточно часто, так что знание этого языка пригодится.
Также стоит обратить внимание на zsh, который в настоящее время является оболочкой по умолчанию в macOS. Области применения: администрирование сервера, инструменты интерфейса командной строки, DevOps, виртуализация
Области применения: администрирование сервера, инструменты интерфейса командной строки, DevOps, виртуализация.
Операционные системы
Современные операционные системы также часто являются кроссплатформенными. Например, операционные системы с открытым исходным кодом, например, NetBSD, Linux, FreeBSD, AROS могут работать на нескольких различных платформах, чаще всего это x86, m68k, PowerPC,DEC Alpha, AMD64, SPARC (Scalable Processor ARChitecture).Первый выпуск Microsoft Windows NT 4 вышедший в 1996 году поддерживал четыре платформы (x86,DEC Alpha, MIPS (Microprocessor without Interlocked Pipeline Stages) и PowerPC),в дальнейших версиях Windows NT осталась только поддержка платформы х86.Современная Microsoft Windows может работать как на платформе Intel x86, так и на Intel Itanium (точнее, для Itanium есть только версии Windows 2000/XP, Windows 2003 и Windows 2008, после чего поддержка была свёрнута). Операционная система NetBSD является самой переносимой, она портирована на большинство существующих платформ.
Что такое Java
Java — это язык программирования, разработанный компанией Sun Microsystems, которую потом купила компания Oracle.
Программы, написанные на Java обычно работают в различных операционных системах, то есть являются кроссплатформенными. Для запуска таких программ необходимо наличие в системе Виртуальной машины Java (Java Virtual Machine — JVM), то есть, проще говоря, наличие некоторых дополнительных компонентов, которые обеспечивают возможность запуска Java-программ в системе.
Обычно, когда говорят о том, что в Linux нужно установить Java, то имеют ввиду, что нужно установить Виртуальную машину Java, чтобы получить возможность запускать программы, написанные на Java.
Что такое Java-программирование: история и вклад
Java — это язык программирования общего назначения, который следует парадигме объектно-ориентированного программирования и подходу «Написать один раз и использовать везде» . Java используется для настольных, сетевых, мобильных и корпоративных приложений. Подробная информация:
- Загрузки Java
- Документация Java
- Сообщество Oracle Java
- JavaWorld — популярный портал о Java
- JavaRanch — форум для Java-разработчиков
Java — это не только язык программирования, но и экосистема инструментов, охватывающая почти все, что может понадобиться при программировании на Java. В нее входят:
- Java Development Kit (JDK) — комплект разработчика Java. С помощью JDK и стандартного блокнота можно писать и запускать/ компилировать код на Java;
- Java Runtime Environment (JRE) — исполняющая система Java. Механизм распространения программного обеспечения, состоит из автономной виртуальной машины Java, стандартной библиотеки Java (Java Class Library) и инструментов настройки.
- Integrated Development Environment (IDE) — интегрированная среда разработки. Инструменты, которые помогают запускать, редактировать и компилировать код. Самые популярные из них — IntelliJ IDEA, Eclipse и NetBeans.
Java можно найти везде. Это основной язык разработки для Android. Он используется в веб-приложениях, правительственных веб-сайтах и технологиях обработки больших данных, таких как Hadoop и Apache Storm. Java подходит и для научных проектов, особенно в области обработки естественного языка. Язык Java преобладал и в программировании для мобильных устройств, задолго до появления смартфонов — первые мобильные игры в начале 2000-х годов были написаны на Java. Java, благодаря своей долгой истории, заработал свое место в Зале славы программирования. Индекс TIOBE, один из самых авторитетных индексов популярности программ в мире, при составлении рейтинга использует результаты поисковой выдачи. Несмотря на растущую популярность Go и Python, Java остается на вершине списка уже более десятилетия.
Индекс TIOBE, Август 2018 года
Все началось в начале 1990-х, когда команда Sun Microsystems начала разрабатывать улучшенную версию C ++ — независимую от конкретной платформы, удобную для начинающих и с автоматическим управлением памятью. Исследование привело к созданию совершенно нового языка. Название Java — одно из десятков других, предложенных командой. Сегодня логотип кофейной чашки с паром — это неприметный, но узнаваемый символ программирования. И уже неясно, что было первым: одержимость программистов кофеином или ассоциация с Java.
Как Java изменила мир программирования:
Гибкость. Java доказала, что C — процедурный, управляемый вручную и зависящий от платформы код — это не предел совершенства . Благодаря Java, все больше людей начали применять объектно-ориентированное программирование, которое сейчас используется повсеместно.
Апплеты. Еще до появления JavaScript, в Java добавили апплеты — небольшие веб-программы, которые предоставляют интерактивные элементы для визуализации и обучения
Они не используются ни для чего, кроме простой анимации, однако апплеты привлекли внимание многих программистов и подтолкнули их к разработке HTML5, Flash и JavaScript
Разработка через тестирование. Java TDD — уже давно не экспериментальная практика, а стандартный способ разработки программного обеспечения. Введение JUnit в 2000 году считается одним из самых больших достижений Java.
React Native
Единый воркфлоу и инструменты: неважно, работаете ли вы на Android- или iOS-версией — все равно используете одни инструменты.
По этой причине — скорость и простота разработки.
Обвязка унаследованного приложения в JS API и гибридные приложения: допустим, у вас уже есть готовое приложение для iOS, и вы хотите перейти на React Native. Тогда можно обернуть нативные компоненты так, чтобы они были доступны в React Native
Так вы можете постепенно переходить на React, и получается гибридное приложение — половина его нативная, а половина — в React, и несколько унаследованных компонентов — в JS API.
Установка Java 8 в Ubuntu 20.04
1. Как установить OpenJDK в Ubuntu 20.04
Если необходимо установить OpenJDK в Ubuntu, то никаких сторонних репозиториев подключать не нужно. Восьмая версия платформы есть в официальном репозитории Ubuntu 20.04. Чтобы установить JDK на Ubuntu необходимо выполнить команду:
Для установки JRE в Ubuntu необходимо выполнить команду
После этого можно узнать версию Java:
Версия 1.8.0 эквивалентна версии 8.
2. Как установить Oracle Java 8 в Ubuntu 20.04
Далее необходимо поставить галочку напротив пункта I reviewed and accept the Oracle Technology Network License Agreement for Oracle Java SE тем самым подтверждая принятия условия лицензионного соглашения.
Для скачивания файла необходимо войти в свою учетную запись Oracle или создать новую, только после этого начнется загрузка выбранной версии. После завершения загрузки необходимо создать директорию /usr/lib/jvm/:
Распакуйте в неё скаченный ранее архив:
Добавьте исполняемый файл Java к списку утилиты для управления версиями Java:
После этого активируйте данную версию:
Введите цифру 1 для выбора версии Java. В данном случае будет выбрана ранее скачанная версия Oracle Java 8.
Некоторым приложениям необходим путь к исполняемым файлам Java в переменных окружения. Создайте файл /etc/profile.d/javajdk.sh:
И впишите следующее содержимое:
Чтобы загрузить эти переменные необходимо выполнить команду:
После этого проверьте версию Java:
Что нужно, чтобы начать учить Java
Скажем сразу: Java – не самый простой язык для новичка. Человеку, который никогда не имел дела с программированием, понадобится изучить много нового. Это и алгоритмы, и структуры данных, и способы их применения – а еще дополнительные инструменты, с которыми так или иначе сталкивается любой разработчик.
Обучение занимает как
минимум несколько месяцев, начинается с задач по основам Java и заканчивается созданием
собственных масштабных проектов. А когда вы освоите язык, вы сможете сами
написать себе портфолио: знаний и навыков хватит, чтобы создать рабочий проект.
Алгоритмическое мышление
От разработчика требуется мыслить определенными категориями. Java – довольно сложный язык, и даже
начинающему специалисту желательно поначалу разобраться в азах ComputerScience.
Программирование
требует от специалиста хорошего понимания, что он в принципе делает. А здесь
нужно базовое понимание алгоритмов и работы языков программирования. Это не
значит, что алгоритмическое мышление нужно осваивать отдельно: обычно курсы по
любому ЯП построены так, чтобы человек усваивал эти знания в процессе обучения.
Установка IDE
Написать первую программу можно даже в командной строке:
понадобится только пакет для разработки Java Development Kit. Но этот вариант
подходит только для максимально простого кода.
Чтобы решать более-менее
масштабные задачи, понадобится интегрированная среда программирования –
сокращенно IDE. Это
программное обеспечение, которое позволяет писать, компилировать и выполнять
код, отлаживать ошибки и выполнять много других задач. Отличный вариант, позволяющий
упростить разработку. Вам понадобится установить одну из существующих IDE для Java перед началом работы: обычно это
IntelliJ IDEA или NetBeans.
Задачи на основы программирования
Обычно первые задачи по основам программирования на Java или любом другом языке не имеют отношения к реальным проектам. Это математические или логические задачки, которые предлагается решить с помощью программного кода.
Так человек
знакомится с новыми для себя понятиями, учится ими пользоваться и применять в
нужных ситуациях. Заодно тренируется алгоритмическое мышление и нарабатывается
навык.
Основные структуры
Если
решение задач – практическая часть обучения, то изучение структур и понятий –
теоретическая. Язык включает в себя множество конструкций, операторов и
возможностей. Вам предстоит познакомиться с переменными и константами, их
типами и особенностями использования.
Конструкции изучаются от простого к
сложному: от арифметических операций, знакомых с детства, до написания
рекурсивных функций. Так построена любая образовательная программа по
разработке, и Java – не
исключение.
Особенности языка JAVA
Перечисленные выше структуры и базовые задачи в том или ином виде встречаются в
большинстве популярных ЯП. А когда вы изучите основы, понадобится перейти к
деталям, характерным именно для Java.
Особенности обработки кода и преобразования его в байт-код,
кроссплатформенность, отдельные инструменты и конструкции – чтобы хорошо знать
язык программирования, нужно глубоко погрузиться в его изучение. На тот момент
ваших знаний уже будет достаточно, чтобы легко воспринять и применить на
практике новую информацию.
Объектно-ориентированное
программирование
Java
– язык, рассчитанный на ООП. Так называется подход в программировании, в
котором сущности представлены в виде классов и объектов. Класс – это модель,
которая описывает сущность, объект – ее экземпляр.
Программирование на Java всегда подразумевает
объектно-ориентированный стиль написания кода, поэтому разбираться в нем нужно
уметь. Поначалу подход кажется непонятным, но стоит один раз усвоить его
основные позиции – дальше будет легче.
Актуальные инструменты
После того как вы полностью усвоите базу, можно будет переходить к инструментам
и понятиям, которые используются в коммерческом программировании. Это
фреймворки, с которыми работают программисты, существующие методологии и
подходы к организации работы.