Ранее части книги публиковались отдельными изданиями под названиями «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 и других