Читать бесплатно книгу «Java для взрослых. Полная версия» Алексея Назарова полностью онлайн — MyBook
image

1.2 Что будет в этой книге

Все, что будет в этой книге подчинено только одной цели – как можно быстрее сделать из новичка программиста уровня «джуниор», чтобы начинать искать работу. Это книга – гайд как учить Java, чтобы стать джуниор-разработчиком.

1.3. Чего НЕ будет в этой книге

Здесь не будет никакой воды, рассуждений и избыточной информации.

Здесь не будет глубокого изучения какого-либо инструмента\технологии.

Эта книга не заменит Вам книги по Java. Объясняю еще раз: это книга-ментор, которая будет вести Вас и направлять, поясняя, что и в какой степени изучать в Java и не только.

При этом, конечно, всегда нужно иметь ввиду, что у каждого человека разная скорость освоения материала. Не могу гарантировать что у Вас получится быстрее в два раза чем у меня, но точно уверен, что если идти этим путем – можно стать Java-разработчиком. По крайней мере я им стал.

1.4. Для кого эта книга

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

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

1.5. Начальные требования

Для того, чтобы начать без боли погружаться в программирование нужны 2 вещи:

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

2. Владение английским на уровне хотя бы чтения обычных текстов. Если этого нет можно, конечно, продолжать, но учить английский все равно придется и без знания языка будет сложнее понимать термины, аббревиатуры и т. д. Не говоря о том, что часто нужно будет читать техническую литературу, поскольку все что на русском, как правило уже не актуально т.к. перевод занимает не менее года после выхода оригинала.

Также следует иметь ввиду, что учиться придется постоянно. Не получится выучить язык программирования и просто писать код. Язык весьма обширен и досконально выучить его нереально, к тому же он постоянно развивается, выходят новые версии. Кроме языка нужно будет изучать еще много инструментов (приложений). Так что работа в ИТ – это постоянное обучение, особенно для программиста.

Глава 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. По широте применения ему практически нет равных.

Глава 3. Среда разработки

В этой главе мы поговорим об IDE – Integrated Development Environment – среде разработки. Вы часто будете встречать такое сокращение – IDE.

Что такое среда разработки (IDE) – это приложение, которое включает в себя:

Редактор кода.

Компилятор.

Сборщик.

Отладчик.

Это рабочий инструмент программиста. В некоторых источниках Вы можете встретить мнение, что начинать нужно программируя в блокноте. Вероятно, это правильно, если Вам 13 лет и до трудоустройства еще далеко. Но раз Вы читаете эту книгу – значит, время ограничено.

Учитесь сразу работать в IDE – это значительно ускоряет обучение, так как там есть подсветка синтаксиса (ключевые слова выделяются цветом), есть подсказки – среда Вам подскажет варианты завершения кода и конечно сразу подсветит синтаксические ошибки.

Сред разработки существует великое множество – примерно около трех десятков. На данный момент лидируют три:

1. IntelliJ IDEA

Де факто – стандарт индустрии. В большинстве компаний используют именно ее. Существует куча плагинов на все нужды и потрясающая документация. Есть платная и свободная версии. Далее в этом разделе мы установим Idea и рекомендую пользоваться именно ей. В большей части обучающего видео Вы увидите именно эту среду разработки.

2. Eclipse

Тоже очень часто используется разработчиками, и во многих видео Вы можете увидеть Эклипс. Бесплатна.

3. NetBeans

Бесплатна. Менее распространена чем предыдущие.

Конечно это «в среднем по больнице» – наверняка где-то есть разработчики которые используют другие IDE.

Конец ознакомительного фрагмента.

Бесплатно

4.43 
(7 оценок)

Читать книгу: «Java для взрослых. Полная версия»

Установите приложение, чтобы читать эту книгу бесплатно