Статья Введение в язык программирования Golang

Философия языка. План на данный курс.

me_gopher.png


Пролог
Добравшись до работы и заварив кофеек, ваш покорный слуга начинает повествовать о том, что такое GOlang. На самом деле, вступление в курс будет не самым интересным, так как практическая часть будет отсутствовать. :(
Ранее я уже давал приблизительный список того, что планирую рассказать от себя. (жмяк) Надеюсь, Вам всем будет интересно и даже опытные разработчики будут хотя бы улыбаться при чтении данных постов. Итак, я думаю, что после такого вступления, есть смысл начать вещать! 👻👻👻


Введение
Go - компилируемый многопоточный язык программирования, который появился на просторах интернета в ноябре 2009 года. Создавался он внутри компании Google. Изначально go создавался на замену таким языкам программирования, как С++ и С. Но мы все прекрасно понимаем, что такие языки не сместить. Роб Пайк, один из разработчиков языка, говорит:
Целью Go не является проведение исследований в области дизайна языков программирования; она заключается в улучшении рабочей среды его разработчиков и их коллег. Go больше нацелен на разработку программ, нежели на исследования в области языков программирования. Или, другими словами, Go был спроектирован так, чтобы служить в первую очередь целям разработки.
Чем же он, собственно, завоевал своих новых фанатов:
  • Строгая типизация​
  • Полноценная поддержка указателей (для любителей следить за памятью, ага, да)​
  • Автоматический сборщик мусора (чтобы облегчить жизнь любителям следить за памятью)​
  • Динамические массивы, слайсы, мапы ( хеш-карты/таблицы)​
  • Goroutines
  • Обработчики ошибок (об этом я расскажу позже)

Строгая типизация - позволяет понять, что именно делает программа и позволяет избежать ряд ошибок
Полноценная поддержка указателей - удобное взаимодействие с памятью
Автоматический сборщик мусора - не надо активно следить за памятью, сборщик все сделает сам
Динамические массивы - немного удобств
Goroutines - вот тут очень долго рассказывать все плюшки. Поэтому скажу просто - ФАНТАСТИЧЕСКИЕ ПОТОКИ
Обработчики ошибок - не следим за ошибками - дебажим код очень долго :D

Философия языка
Авторы стремились максимально упростить язык и убрать из него сложные и "ненужные" конструкции. ИМХО, но им это удалось. Go - очень сильно похож на С, поэтому все пишут на нем в функциональном стиле, несмотря на то, что некоторые вещи из ООП присутсвуют в нем.
Основная задумка создания Go заключалась в том, чтобы решать высоконагрузочые задачи. Собственно поэтому Go ушел в облачную сферу.
Много можно говорить и философствовать на эту тему, но мне кажется, что данный язык настолько универсальный, что сводить его в определенные рамки не стоит. Основная сила и мощь заключается в его потоках. И конечно же, разработчики на Go всегда приветсвуют микросервисную архитектуру вместо монолитного ядра. В чем плюсы и минусы такой архитектуры мы с вами разберем позже.

План на данный курс
  • Пройдемся по базовым элементам языка (типы, операторы и т.д.)
  • Познакомимся со встроенными утилитами
  • Разберем архитектуры приложений
  • Разберемся со взаимодействием с памятью
  • Углубленно изучим goroutines и race condition
  • Попробуем сами создать сервер с устойчивостью к нагрузкам
  • Познакомимся с тестами и запустим их на наш сервер
P.S. Я всегда готов принимать все ваши замечания в свой адрес. Я не делаю курс, который даст вам знания, на которые можно опираться на совещаниях, но познакомить вас с ЯП, я все таки решил. Будут рассмотрены небольшие кейсы, которые я сам люблю задавать людям на собеседованиях, возможно это вам и пригодится).
P.P.S. Я очень надеюсь, что вам понравится мой цикл статей на тему Go. И надеюсь, что кто то решится уйти на него, как на основной язык.
 

MLNK

Mod. Ethical Hacking
Red Team
23.01.2018
560
706
BIT
7
Go Go Goper ranges!
B79paXxIcAAu0CN.jpg


Жду продолжения и побольше практических примеров.
 
  • Нравится
Реакции: G0p43R

SearcherSlava

Red Team
10.06.2017
943
1 262
BIT
223
Здравы будьте. Почитать не забудьте:

Алан А. А. Донован, Брайан У. Керниган. Язык программирования Go
Докси К. Введение в программирование на Go
Фарина М, Батчер М. Go на практике
 
  • Нравится
Реакции: Denzon, bujhm и G0p43R

G0p43R

Green Team
27.02.2018
125
167
BIT
0
Алан А. А. Донован, Брайан У. Керниган. Язык программирования Go
Докси К. Введение в программирование на Go
Фарина М, Батчер М. Go на практике
Керниган - святое 🙂
До сих пор лежит на работе, регулярно открываю.
ваше замечание связано как либо с содержанием?
 

SearcherSlava

Red Team
10.06.2017
943
1 262
BIT
223
Керниган - святое 🙂
До сих пор лежит на работе, регулярно открываю.
ваше замечание связано как либо с содержанием?

Никоим образом. Это для развития поисковых навыков у форумчан, интересующихся данным ЯП-)))
 

G0p43R

Green Team
27.02.2018
125
167
BIT
0
Никоим образом. Это для развития поисковых навыков у форумчан, интересующихся данным ЯП-)))
Я планировал литературу и площадки дать в следующей статье. Буду ссылаться на Ваше сообщения. И буду крайне признателен, если Вы сможете поправлять меня в том или ином случае. Я рад, что не один знаком с такой литературой🙂
 

SearcherSlava

Red Team
10.06.2017
943
1 262
BIT
223
Я планировал литературу и площадки дать в следующей статье. Буду ссылаться на Ваше сообщения. И буду крайне признателен, если Вы сможете поправлять меня в том или ином случае. Я рад, что не один знаком с такой литературой🙂

Поправить тебя не смогу, т.к не совсем прогер, вся подобная литература лежит на поверхности, особенно хорошо, когда имеются оба варианта (eng и ru), и есть возможность её параллельного изучения для наработки профессиональных компетенций.
 

fuzzz

Green Team
03.02.2019
249
470
BIT
2
Вводная статья без хеллоу ворлда , не салидно как то... Даже ссылки нет
Статья не о чем. Откройте любую книжку по программированию и прочитайте оглавление. Там будет тоже самое написано.

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

Такое должно публиковаться тут Мои статьи на Codeby
А лучше вообще такое не публиковать. Я таких статей могу 500 штук написать.
Статья без практики это мусор.
 
Последнее редактирование:
  • Нравится
Реакции: Sombrero и BKeaton

batu5ai

Grey Team
31.01.2018
103
110
BIT
47
Вводная статья без хеллоу ворлда , не салидно как то... Даже ссылки нет
Статья не о чем. Откройте любую книжку по программированию и прочитайте оглавление. Там будет тоже самое написано.

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

Такое должно публиковаться тут Мои статьи на Codeby
А лучше вообще такое не публиковать. Я таких статей могу 500 штук написать.
Статья без практики это мусор.


Разделяю недоумение по внезапному голду, но мб он что-то уже написал, что улетело в голд? Вдруг сча прожжет напалмом по форуму, как Ondrik8 , clevergod или марлин? Обсуждение было тут + были небольшие пожелания и предложения + вроде как задуман цикл статей. Мои мысли высказал notBrut0r, поэтому не стал захламлять тему, а вот писать гайды по хеллоу ворлду учитывая и обилие курсов(особенно en!)... ну такое. Без практики и правда громко звучит слово "статья", но исходя из содержания - дальнейшие статьи уже будут статьями и будут вкуснее, чем просто синтаксис.
 
  • Нравится
Реакции: BKeaton и fuzzz

G0p43R

Green Team
27.02.2018
125
167
BIT
0
Вводная статья без хеллоу ворлда , не салидно как то... Даже ссылки нет
Всю практическую часть я буду давать в след статье. Я специально не вводил сюда даже базовые вещи, чтобы не заставлять читателя впитывать в себя сразу все. И я даже в начале описал, что практики не будет, поэтому скучно будет)

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

В любом случае, спасибо, я Вас услышал)
 
  • Нравится
Реакции: BKeaton и fuzzz

r0hack

DAG
Platinum
29.09.2017
522
1 089
BIT
0
Вводная статья без хеллоу ворлда , не салидно как то... Даже ссылки нет
Статья не о чем. Откройте любую книжку по программированию и прочитайте оглавление. Там будет тоже самое написано.

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

Такое должно публиковаться тут Мои статьи на Codeby
А лучше вообще такое не публиковать. Я таких статей могу 500 штук написать.
Статья без практики это мусор.
Так это же не отдельная статейка, а цикл... без будущих частей не совсем правильно оценивать.
 
  • Нравится
Реакции: BKeaton

fuzzz

Green Team
03.02.2019
249
470
BIT
2
Так это же не отдельная статейка, а цикл... без будущих частей не совсем правильно оценивать.
Я просто не понимаю вот чего. Даже если цикл, да? Тогда о чем первая статья? О том что будет в цикле. Ну это такое себе... Что человек узнает нового о Го В статье? ничего. Узнает что будет цикл . Ну такое себе....

Как бы поступил я? Сразу бы рассказал про хеллоу ворлд и написал что это первая часть. Включил бы ввод-вывод. Переменные и типы.
Рассказал как строить простые функции. + циклы и условия.

Во второй части я бы уже рассказывал про другое. А не растягивал это на миллиооооооооооооооооон статей.

Даже если цикл будет полностью написан. Вот эту статью будут пропускать и начинать с той статьи где есть хеллоу ворлд.

Можно было же поступить иначе и в конце цикла создать топик со ссылками на все темы которые были описаны. Но не так как сейчас.
 

fuzzz

Green Team
03.02.2019
249
470
BIT
2
G0p43R у тебя есть есть права на редактирования статьи. Возьми и добавить о том где живет Го - сайт. И добавить текст с хеллоу ворлдом. И как собирать код компилировать. И тогда можно уже считать это статьей.
 
  • Нравится
Реакции: labvictx и BKeaton

Сергей Попов

Кодебай
30.12.2015
4 727
6 721
BIT
444
Простите как вы попали в голд тим?
Не совсем корректно задавать подобный вопрос. В группу невозможно попасть случайно, наверное есть причины.
А лучше вообще такое не публиковать
Провели беседу, обещал исправиться. Не рубите с плеча, мы всем форумом 2 года статей по GO просили от @G0p43R
 
  • Нравится
Реакции: BKeaton и fuzzz

fuzzz

Green Team
03.02.2019
249
470
BIT
2
Не совсем корректно задавать подобный вопрос. В группу невозможно попасть случайно, наверное есть причины.

Провели беседу, обещал исправиться. Не рубите с плеча, мы всем форумом 2 года статей по GO просили от @G0p43R
Да конечно я понимаю, что он не просто так. И у него есть заслуги , всё это я прекрасно понимаю. Человек просто хотел критики он ее получил. Не просто какая-то критика. А адекватная на мой взгляд. Возможно я перегнул палку, каюсь. Но, хочется тут сказать вот, что. Когда смотришь на старших собратьев по уму, хочется от них действительно классных статей. Поэтому мое негодование и было связано с этим.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!