Android разработчик? Выбирай - Java (не Kotlin) и вот почему:

При обсуждении выбора языка программирования для обучения разработки под Android часто возникает вопрос: почему бы сразу не начать с Kotlin, нового языка, разработанного компанией JetBrains, который уже давно заявил о себе на рынке мобильной разработки? Но есть веские причины, почему начинать изучение мобильной разработки под Android с Java имеет смысл, особенно для новичков. В этой статье мы рассмотрим несколько ключевых аргументов в пользу изучения Java перед Kotlin при разработке под Android.

Android разработчик? Выбирай - Java (не Kotlin) и вот почему:

1. Больше карьерных перспектив: Java является одним из самых популярных и широко используемых языков программирования в мире. Умение работать с ним открывает двери к множеству карьерных возможностей не только в мобильной разработке, но и в других областях IT. Если вы вдруг решите изменить направление своей карьеры или попробовать себя в других областях, знание Java будет вам весьма полезно. Этот язык используется в таких IT-специальностях, как разработка веб-приложений, backend разработка и многое другое.

2. Наследование особенностей Java: Kotlin разработан для совместимости с Java и написан поверх Java Virtual Machine (JVM). Это означает, что он унаследовал многие особенности своего старшего брата.

- Знание Java может оказаться полезным при работе с памятью и поиске утечек, поскольку Kotlin использует механизм сборки мусора JVM.

- Также это знания Java помогут лучше разобраться в generics. В Java, дженерики используются для обеспечения типобезопасности коллекций и обобщенных классов. Однако, на этапе компиляции информация о типах стирается (затирается), что означает, что она недоступна во время выполнения программы. Изучение этой концепции поможет вам лучше понять, как работают обобщенные типы данных в Java, и как эта особенность может повлиять на ваш код.

- Изучение Java поможет вам понять, как работает полиморфизм и наследование, и какие правила применяются при передаче объектов между методами и классами.

3. Понимание преимуществ Kotlin: Пока вы не попробуете писать на Java, вам может быть сложно по-настоящему оценить преимущества Kotlin. Java, несомненно, является мощным и гибким языком, но его синтаксис может показаться устаревшим и громоздким. Когда вы начнете работать с Kotlin, вы почувствуете разницу: его более современный синтаксис делает код более читаемым и компактным, что приводит к увеличению производительности и удовольствия от написания кода. Тут конечно идет речь об таких основных преимуществах как:

- Дата классы (Data Classes): В Kotlin есть специальный тип классов, называемых дата классами, которые предназначены для хранения данных. Они автоматически предоставляют методы для чтения и записи данных, а также методы для сравнения объектов.

- Extension функции (Extension Functions): расширения функциональности существующих классов с помощью extension функций. Вы можете добавлять новые методы к классам без необходимости изменения их исходного кода.

- Корутины (Coroutines): представляют собой легковесный механизм асинхронного программирования в Kotlin.

- Null Safety (Безопасность от нулевых ссылок): Kotlin по умолчанию предоставляет безопасность от нулевых ссылок.

- Иммутабельность (Immutability): Kotlin поощряет использование неизменяемых структур данных.

4. Продвижение по карьерной лестнице: Понимание Java является необходимым условием для того, чтобы стать опытным разработчиком. Без глубокого понимания Java вы не сможете стать middle или senior разработчиком. Знание Java не только помогает в освоении Kotlin, но и является фундаментом для дальнейшего карьерного роста.

5. Даже если вы меня ненавидите за эту статью вам все равно придется учить джава (чтобы потом стать мидлом (см пункт выше))

6. Java это база.

В завершение, хотелось бы задать вопросы читателям: Вы согласны с тем, что начинать с Java имеет смысл перед переходом на Kotlin? Или, может быть, вы считаете, что можно обойтись без изучения Java и сразу начать с Kotlin? Поделитесь своим мнением в комментариях!

22
3 комментария

а лучше выбирать вообще c++ или может даже ассемблер

Ну и глупости вы пишите, друг мой.