• Все
  • Видеоблог
  • Новости
  • Языки программирования
  • Переводы
  • Lifehacks
  • Карьера в IT

< Назад

Главная / Языки программирования / Начнем с Go

Новости

Начнем с Go

№1 язык программирования в тренде

Начнем с Go

 

 

Я, будучи разработчиком Java с давних времен, очень заинтересовался появлением Go (GoLang). Благодаря уже переполненному пространству языков программирования, Go за последние годы стал одним из основных языков программирования. Этот график ниже показывает экспоненциальное увеличение популярности Go.

 

go

 

В 2020 году Javascript занимает первое место с долей активных пользователей около 22% в месяц, затем идут Python и Java по 14% каждый. Go все еще стоит на 4%. Впереди у Go еще долгий путь, он быстро растет без признаков замедления.

Исходя из мира Java, а иногда и Python, я хотел выяснить, почему многие новые разработчики и многие стартапы переходят на использование Go, как языка программирования для бэкэнда. Прежде чем говорить больше о Go, если вы никогда не слышали об этом или не знаете о нем много, Go (или GoLang) - это язык программирования, созданный разработчиками в Google, анонсированный в 2009 году, выпущенный в 2012 году. Также я упомянул это GoLang, и вы можете услышать, что другие называют его GoLang, но настоящее название этого языка программирования - «Go», а не GoLang. Путаница из-за главной страницы языка программирования Go - https://golang.org/. Итак, в этой статье я перестану использовать GoLang и просто буду использовать Go, и вы должны сделать то же самое.

Итак, чтобы узнать об этом языке программирования, я начал с домашней страницы Go и должен сказать, что официальная документация по Go - одна из лучших, которые я видел. За ней очень легко следовать, и вам не нужно ссылаться на какие-либо другие учебники или книги, чтобы выучить Go. Это удивительный тур, который проведет вас через различные концепции, его синтаксис. Зайдите сюда - https://tour.golang.org/welcome/1.

 

go logo

 

Синтаксис


Когда вы впервые смотрите на синтаксис любого языка программирования, вы, как правило, запутываетесь, раздражаетесь и хотите от него далеко уйти. Но для Go это было освежающим. Посмотри это-

 

go Syntax

 

Синтаксис выглядит интуитивно понятным, простым, а приведенная выше небольшая функция подчеркивает многие преимущества этого языка. Посмотрите, как вы можете вернуть несколько значений из функции. Инициализация переменных не имеет суеты. Все выглядело чистым для меня. У него есть простые способы определения переменных, констант и инициализации. Еще одно важное уточнение - циклы. Я часто не вижу причин, чтобы иметь много различных типов конструкций циклов - while, for and wait-for-it, do-while. Когда я пишу код, я всегда использую только цикл for, чтобы он был простым, и он обрабатывает все варианты использования, которые предлагает while или do-while. С Go, я думаю, создатели чувствовали то же самое. Таким образом, у вас есть только одна конструкция цикла for.

 

for loop

 

Вышеуказанный цикл выглядит достаточно просто. Но подождите, они сделали это еще лучше. На данный момент, это действует как while.

 

for loop

 

Я люблю бесконечный цикл

 

бесконечный цикл

 

Вы получили представление о том, насколько синтаксис интуитивно понятен и чист. Посмотрите на документацию, чтобы узнать больше.

 

Производительность


Если есть одна область, где Go опережает Python или Java, то это скорость выполнения. Go на порядок быстрее, чем эти языки, даже без какой-либо оптимизации со стороны разработчика. Go компилируется непосредственно в машинный код.


Другая неотъемлемая особенность Go - возможность одновременного выполнения. Большинство современных языков программирования (таких как Java, Python и т. Д.) относятся к однопоточной среде 90-х годов. Большинство из этих языков программирования поддерживает многопоточность. Но настоящая проблема заключается в одновременном выполнении, поточной блокировке, условиях гонки и взаимоблокировках. Эти вещи затрудняют создание многопоточного приложения на этих языках. Go построен с учетом параллелизма. Go имеет Goroutines вместо потоков. Goroutines - это функции, которые выполняются одновременно с другими функциями. Goroutines можно рассматривать как легкие нити. Стоимость создания Goroutine крошечная по сравнению с потоком. Следовательно, приложения Go обычно работают одновременно с тысячами подпрограмм. Goroutines мультиплексируются в меньшее количество потоков ОС. Там может быть только один поток в программе с тысячами Goroutines. Если какая-либо программа в этом потоке блокирует ожидание ввода пользователя, тогда создается другой поток ОС, а остальные программы перемещаются в новый поток ОС. Все это влияет на время выполнения, и мы, программисты, абстрагируемся от этих сложных деталей и получаем чистый API для работы с параллелизмом. Goroutines общаются, используя каналы. Каналы по своей конструкции предотвращают возникновение условий гонки при доступе к общей памяти с помощью Goroutines.

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

 

Вывод

 

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

 

 

 

Похожие

blogName

Языки программирования

Oct 20 2020

8 проектов NodeJS, которые стоит проверить

Читать дальше
blogName

Языки программирования

Jan 17 2024

В чем разница между null и undefined в JavaScript?

Читать дальше
blogName

Языки программирования

Dec 26 2023

Что такое парадигма программирования? Простыми словами

Читать дальше
blogName

Языки программирования

Oct 16 2023

Что такое Kotlin?

Читать дальше

Получай полезные статьи, новости и темы ежедневно