Но это не значит, что Java нужен только для банков: на нём можно делать Android-приложения, программы для ПК и многое другое. В этой статье расскажем, что такое Java, чем он отличается от других языков и когда используется.
У Java есть два свойства, которые определяют, какие задачи на нём можно решать. У этих свойств сложные названия, но с ними стоит разобраться прежде, чем идти дальше.
Java — объектно-ориентированный язык программирования (ООП). Всё взаимодействие в нём происходит через объекты. Это в целом похоже на то, что творится в реальном мире: кот взаимодействует с хозяином, кассир — с покупателем, а клиент банка — со своим счётом.
Все эти сущности описывают в коде и учат взаимодействовать друг с другом. В итоге программа в стиле ООП состоит из отдельных блоков, которые хорошо расширяются и масштабируются. Поэтому язык Java подходит для разработки программ, которые планируют долго использовать и постоянно развивать.
Java берёт лучшее из компилируемых и интерпретируемых языков. Чтобы разобраться в этом свойстве, нужно шагнуть ещё немного назад. Язык программирования — это язык, на котором программист и процессор договариваются, как выполнять команды. Так вот процессор не полиглот и не обязан знать все языки, на которых им хотят покомандовать. Поэтому язык программирования нужно переводить на язык процессора. Делается это двумя способами — интерпретированием и компилированием.
Схематично это выглядит так
В Java есть виртуальная Java-машина — посредник между кодом и железом. Она и обеспечивает главный плюс языка Java — кросс-платформенность.
В Java программист пишет код не под macOS, Windows или Linux, а под Java-машину — а она уже сама адаптирует код к железу и операционной системе
Например, когда мы платим телефоном, информацию о платеже обрабатывает десяток разных устройств, чтобы она попала в платёжные системы, у покупателя списались деньги и поступили продавцу. Большинство этих операций проводят конкретные программы на Java. И их нужно поддерживать и развивать. Поэтому в ближайшие десятилетия ни один джавист не потеряет работу из-за того, что Java заменит какой-то новый язык — даже если он быстрее, проще и безопаснее.
Платёжная система — лишь один пример использования Java. Таких систем много, и все их нужно поддерживать и обслуживать. Учитывая, сколько кода в мире написано на Java, мы считаем, что у этого языка есть шансы остаться навсегда наравне с языком C.
Большие компании не используют одну технологию, но в том или ином виде Java присутствует в Google, Facebook*, Telegram, Яндексе и многих других. Java скрыт под капотом, и обычный пользователь его не видит. То, что мы видим в интерфейсе, — это не Java, а JavaScript. Это язык, который работает только в браузере, и с Java у них из общего только название.
Язык Java же работает, когда пользователь обращается к серверу. Разберём на примере:
Java работает почти везде, но особенно сильные позиции он занимает в enterprise‑разработке. Так называют комплексную b2b‑разработку под одну конкретную компанию, например, банк, производственную, страховую или логистическую компанию. У таких компаний большие задачи и серьёзные требования к надёжности, безопасности и кросс‑платформенности. И язык Java их обеспечивает.
Тип языка. Мы уже разобрались, в чём разница между интерпретируемыми и компилируемыми языками, теперь можем сравнить.
Python | Java | C |
|---|---|---|
Интерпретируемый | Компилируемые |
Java медленнее C, потому что C компилируется в язык процессора и не выполняет двойную работу, как Java, код которого сначала компилируется в байткод, а потом в язык процессора.
Python | Java | C |
|---|---|---|
Медленный | Быстрый |
Java, Python | C | |
|---|---|---|
Гибкие | Не гибкий |
Python | Java | C |
|---|---|---|
Простой | Сложный |
Python | Java |
|---|---|
print («Hello, World!») | public class HelloWorld { |
Для программирования на Java не требуется специальных математических навыков, но полезно обладать алгоритмическим мышлением. Алгоритмическим мышлением называют способность решать задачи с помощью построения алгоритмов. Но и эта способность развивается через постоянную практику.
Вот пример простой задачи на построение алгоритма. Вам нужно провести танк на базу мимо болот. Танк едет только вперёд, доступные команды: повернуть вправо, повернуть влево и вперёд = Х. Где Х — количество клеток. Постройте алгоритм, по которому танк доберётся до базы.
Правильный список команд: вперёд = 1; влево; вперёд = 3; вправо; вперёд = 3; вправо; вперёд = 3; вправо; вперёд = 1
* сервис предоставляется организацией, признанной экстремистской на территории РФ
С основ: синтаксиса Java, переменных, типов данных, условий, циклов, методов, массивов, базового ООП. Затем можно переходить к практическим задачам и небольшим проектам: консольным программам, мини-приложениям, к работе с файлами и базами данных.
Полезные ресурсы для старта: