Java для взрослых. Полная версия

Алексей Назаров

Ранее части книги публиковались отдельными изданиями под названиями «Java для взрослых» и «Java для взрослых. Часть 2». Эта редакция содержит полную версию книги. Автор книги в прошлом юрист, уже год работает программистом, описывает свой опыт изучения языка java: как учить язык, чтобы максимально быстро начать поиск работы. Пользуясь этой книгой-ментором, вы сможете пройти путь от гуманитария до junior java-разработчика в значительно меньший срок, чем пользуясь различными курсами в интернете.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Java для взрослых. Полная версия предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Глава 2. Выбор языка программирования

Языков программирования очень много и у каждого языка есть своя область применения. Какой-то общей классификации не существует, тем не менее один из разграничивающих параметров — это уровень языка.

Уровень языка — это степень, в которой семантика языка учитывает особенности мышления человека, нежели машины — то есть уровень языка тем «ниже», чем он «ближе к машине», и тем «выше», чем он «ближе к человеку».

Когда я только думал о том, чтобы стать программистом я не имел никакого представления о языках программирования. Слышал только, что одни языки учить легче, другие — труднее. Вот соответственно чем ниже уровень языка, тем учить его труднее, но тем быстрее в среднем будет работать написанная на нем программа и меньше расходовать системные ресурсы.

Еще тут нужно учитывать, что не всегда этот параметр достаточно объективен: например, если говорить об одном из самых низкоуровневых языков программирования — Ассемблере, то он действительно очень сложен, судите сами.

Это листинг программы, которая выводит на монитор сообщение «Hello, world!».

— — — — — — — — — — — — — — — — — — — Hello, world! — — Assembler:

SECTION. data

msg db «Hello, world!», 0xa

len equ $ — msg

SECTION. text

global _start

_start:

mov eax, 4

mov ebx, 1

mov ecx, msg

mov edx, len

int 0x80

mov eax, 1

mov ebx, 0

int 0x80

— — — — — — — — — — — — — — — — — — — — — — — — — — — — —

А вот аналогичная программа на Java:

— — — — — — — — — — — — — — — — — — — — — — Hello, world! — — Java:

public static void main (String [] args) {

System.out.println («Hello world!»);

}

— — — — — — — — — — — — — — — — — — — — — — — — — — — — —

C# приводить не буду — синтаксис похож на Java и области применения сходны: это и веб разработка и десктоп приложения. Тем не менее на рынке труда Java более востребована. Вот результат запроса на одном из самых известных поисковиков вакансий:

10865 вакансий «java»

6153 вакансии «C#»

Теперь таже самая программа на Python:

— — — — — — — — — — — — — — — — — — — — Hello, world! — — Python:

print («Hello world!»)

— — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Всего 1 строка.

Однако Питон более высокоуровневый чем Java, что обеспечивает более низкий порог вхождения, но более узкую область применения:

— относительно недавно стал применяться в веб-разработке.

— Используется в data science: машинное обучение, анализ данных и визуализация.

Ну и конечно программа написанная на Python в большинстве случаев будет выполняться дольше, чем написанная на Java.

А вот, к чему я все это вел, такая же программа на языке GO, который позиционируется как высокоуровневый (как Python), но значительно быстрее:

— — — — — — — — — — — — — — — — — — — — — — Hello, world! — — Go:

import «fmt»

func main () {

fmt.Println («Hello world!»)

}

— — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Я рассматривал GO как кандидата но, когда открыл что-то посложнее понял, что Java читается легче.

Вы, конечно, можете составить свое мнение и посмотреть примеры программ в интернете. На такой маленькой программе сложно показать особенности языков, но на более длинном листинге лично для меня GO совсем не прост.

Кто-то может спросить почему я не упомянул JavaScript. Могу ответить одно — мне не понравился его синтаксис. И насколько я понимаю у него более узкая сфера применения чем у Java. Все это конечно вкусовщина — каждому свое. Посмотрите примеры на этом языке, попробуйте, возможно — это Ваш язык. И конечно сначала посмотрите насколько язык, который Вы выбираете, востребован на рынке труда.

2.1. Плюсы Java

Несмотря на растущую популярность Go и Python, Java остается одним из самых востребованных языков уже более десяти лет.

У Java возможно самая широкая сфера применения. Java используется для:

— веб-разработки — на нем написаны сайты такие как Амазон, РЖД, Одноклассники и т.д;

— мобильной разработки — Java основной язык разработки на Android;

— десктопной разработки — даже есть реализации графических пользовательских интерфейсов операционных систем Linux, Solaris;

— создания серверной логики — бэкэнд большинства крупных сайтов, порталов, магазинов и т. д. написан на Java;

— создания распределенных систем — например Нadoop: набор утилит, библиотек и фреймворк для разработки и выполнения распределённых программ, работающих на кластерах из сотен и тысяч узлов.

— создания баз данных (база H2 написана на Java);

— переносимость. Java можно запустить даже на роботе-пылесосе, если туда установить JVM — виртуальную машину джава в которой исполняется код. Поэтому операционная система совершенно не важна.

2.2. Минусы Java

Конечно, есть и минусы. Из наиболее значимых:

Java создавался как замена С++ поэтому код похож, но более «громоздкий»: один из минусов Java — это многословность, что делает его более читабельным, но загромождает код.

Еще к минусам относят медленность программ, однако это только в сравнении с еще более низкоуровневыми языками такими как С и С++. Но мы помним обратную сторону более «быстрых» языков программирования — сложность изучения. Кроме того, на рынке эти языки востребованы значительно меньше. Они очень «нишевые» на них в основном пишутся операционные системы, системные и десктопные приложения и т. д.

Так что в сравнении с большинством востребованных на рынке труда языков программирования язык Java:

1. В целом быстрее;

2. По востребованности превосходит всех за исключением Python;

3. По широте применения ему практически нет равных.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Java для взрослых. Полная версия предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я