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

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

Я начал с основ Java, и у меня возникли проблемы с программой «hello world», потому что раньше я использовал Python. Когда я переключился на Java, вся концепция классов и объектов, методов, таких слов, как public, static, void, println и т. д., казалась мне неподходящей. Я чувствовал, что Java может быть немного сложным для меня, но потом решил, что должен уделить этому некоторое время. Итак, я начал с изучения того, как работает программа на Java, а затем перешел к изучению компилятора, JDK, использования памяти и данных и так далее. Прежде чем я смог это понять, я увлекся программированием и поверил, что это будет чем-то, чем я хотел бы заниматься в качестве карьеры.

Мы часто слышим, что в Java слишком много синтаксиса, что в классах и объектах сложно разобраться, что C++ лучше и т. д., но я лично считаю, что язык объектно-ориентированного программирования, такой как Java, слишком сильно оклеветан, несмотря на зависимость индустрии программного обеспечения от Java. Да, у него более длинный код и он медленнее, чем C++, но я не думаю, что это веские причины не использовать Java. Java — прекрасный язык с тысячами приложений, таких как разработка для Android, и средами Java, такими как «Spring», который используется в бэкэнде.

Но что именно происходит в Java? Java не поддерживает одношаговую компиляцию, поскольку это язык программирования, не зависящий от платформы. Вместо этого он запускается в два этапа: сначала с помощью независимого от ОС компилятора, а затем с помощью виртуальной машины (JVM), адаптированной для каждой операционной системы. Два основных шага описаны ниже.

Исходный файл «.java» сначала обрабатывается компилятором, который затем кодирует исходный код в машинно-независимую кодировку, известную как байт-код. Каждый класс в исходном файле имеет свой собственный файл «.class», содержащий его содержимое.

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

Когда дело доходит до Java, очень важно понимать фундаментальные концепции, такие как классы и объекты, методы, конструкторы и объектно-ориентированное программирование (ООП). Пакеты Java также очень полезны при создании проектов. Одним из моих любимых аспектов моего опыта работы с Java было то, насколько мне нравился процесс обучения. Это относится не только к Java; у каждого языка есть свой путь, и программист должен либо наслаждаться им, либо изучать его ради работы, что не является хорошей практикой.

Все дело в последовательности и в том, как вы применяете свои навыки решения проблем в коде. Язык используется, чтобы помочь вам выбрать путь и помочь вашей системе понять, что вы хотите реализовать. Трудно быть постоянным в некоторых аспектах, однако есть цитата, которая всегда мотивирует меня писать код на регулярной основе.

«Вы не рождаетесь со страстью, но вы можете что-то освоить и развивать свою страсть».

Я надеюсь, что вам понравилось это читать, и что это дало вам некоторую ясность.

~КРИШАНУ ДАС

ЧЛЕН IEEE-PCS, VIT (VELLORE)