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

  • Автор темы G0p43R
  • Дата начала
G0p43R

G0p43R

Gold Team
27.02.2018
125
154
Философия языка. План на данный курс.

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


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


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

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

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

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

ytre4k0

New member
24.11.2019
1
0
По Пайтону было? Будет?
 
5h3ll

5h3ll

Mod. Ethical Hacking
Red Team
23.01.2018
351
569
Go Go Goper ranges!
Введение в язык программирования Golang


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

SearcherSlava

Red Team
10.06.2017
705
1 033
Здравы будьте. Почитать не забудьте:

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

G0p43R

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

SearcherSlava

Red Team
10.06.2017
705
1 033
Керниган - святое 🙂
До сих пор лежит на работе, регулярно открываю.
ваше замечание связано как либо с содержанием?
Никоим образом. Это для развития поисковых навыков у форумчан, интересующихся данным ЯП-)))
 
G0p43R

G0p43R

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

SearcherSlava

Red Team
10.06.2017
705
1 033
Я планировал литературу и площадки дать в следующей статье. Буду ссылаться на Ваше сообщения. И буду крайне признателен, если Вы сможете поправлять меня в том или ином случае. Я рад, что не один знаком с такой литературой🙂
Поправить тебя не смогу, т.к не совсем прогер, вся подобная литература лежит на поверхности, особенно хорошо, когда имеются оба варианта (eng и ru), и есть возможность её параллельного изучения для наработки профессиональных компетенций.
 
fuzzz

fuzzz

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

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

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

alЬt

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

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

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

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

G0p43R

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

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

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

r0hack

DAG
Gold Team
29.09.2017
485
905
Вводная статья без хеллоу ворлда , не салидно как то... Даже ссылки нет
Статья не о чем. Откройте любую книжку по программированию и прочитайте оглавление. Там будет тоже самое написано.

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

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

G0p43R

Gold Team
27.02.2018
125
154
Так это же не отдельная статейка, а цикл... без будущих частей не совсем правильно оценивать.
Не, парень прав, что без практики - все мусор. Поэтому я в начале и описал, что будет скучно)
 
  • Нравится
Реакции: Pirnazar
fuzzz

fuzzz

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

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

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

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

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

fuzzz

Grey Team
03.02.2019
171
298
G0p43R у тебя есть есть права на редактирования статьи. Возьми и добавить о том где живет Го - сайт. И добавить текст с хеллоу ворлдом. И как собирать код компилировать. И тогда можно уже считать это статьей.
 
  • Нравится
Реакции: labvictx и Pirnazar
SooLFaa

SooLFaa

Администратор
15.07.2016
814
1 319
Этот парень в голд - потому что он мега классный. У меня всё. Я пошёл.
 
  • Нравится
Реакции: Pirnazar и fuzzz
The Codeby

The Codeby

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

fuzzz

Grey Team
03.02.2019
171
298
Не совсем корректно задавать подобный вопрос. В группу невозможно попасть случайно, наверное есть причины.

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

taksitaksilno

Happy New Year
21.02.2019
11
2
будет что-то связанное с пентестом на go?
 
Мы в соцсетях: