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

GO язык программирования компилируемый.

Пламенный привет посетителям этой страницы, пришедшим из социальных сетей, да и всем остальным тоже!

В апреле 2021-го года наблюдал удивительное явление: обильный поток посетителей из 4-х социальных сетей. В связи с этим настоятельно рекомендую всем неоднократно и регулярно посещать сайт rtbsm.ru — там в общих чертах изложена Российская Теннисная Балльная Система Марии (Шараповой).

Приглашаю всех полюбоваться на Фото и Видео красавицы Марии — надеюсь, что Вы поделитесь адресом сайта rtbsm.ru с друзьями и знакомыми.

Главная проблема — известить Марию, чтобы она лично как можно скорее заявила на весь мир о РТБСМ.

GO язык программирования позволяет легко и быстро создавать быстрые исполняемые файлы и поэтому значительно превосходит язык PYTHON по скорости работы.

Заинтересовался языком GO 11.12.2023-го г. и без проблем установил его на свой ноутбук, написал простейшую программу под названием main.go и командой go main.go запустил программу — при этом мелькает окно ДОСа и результат не виден. Думаю, что нужно сделать Останов или вставить Запрос.

Застрял на выборе подходящей IDE и командах запуска компилятора.

Установил Notepad++ — он не искажает имя файла в отличие от Notepad.

Для компиляции программ и получения EXE-файла использую в Терминале команду go build g:\GO\text_of_program.go - удивляют огромные мегабайтные файлы простейших программ, причём исполняемые файлы оказываются в каталоге C:\Users\yusha , ибо такова настройка.

Выбор подходящей IDE и её настройку опишу на отдельной странице — пробую несколько IDE, но ещё не выбрал.

Привожу информацию со страницы https://golangify.com/go-beginning :

Начало программирования в Go — что нужно знать?

Go является компилируемым языком программирования со статической типизацией. Команда разработчиков дизайна и SDK состоит из специалистов с многолетним опытом в сфере программирования.

У Go есть много характерных черт. Некоторые уникальны, прочие заимствованы из других языков программирования:

Премиум  канал по Golang. Рекомендуем Вам супер TELEGRAM канал по Golang, где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании!

https://t.me/golang_org — Подписаться на канал

Уроки, статьи и Видео. Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

https://vk.com/golang_org — Go в ВК
https://t.me/golang_talk — ЧАТ в Telegram

  • встроенная поддержка параллельного программирования;
    • горутины (зелёные потоки) и легкий старт новых горутин;
    • каналы (на основе модели CSP) и выборочные механизмы синхронизации между горутинами.
  • типы контейнера map и slice являются объектами первого класса;
  • полиморфизм через интерфейсы;
  • value boxing and reflection through interfaces;
  • указатели;
  • замыкание функции;
  • методы;
  • отложенные вызовы функций;
  • включение типа;
  • исключение типа;
  • сохранение памяти;
  • автоматический сбор мусора;
  • отличная кроссплатформенная совместимость.

Кроме того, не лишним будет отметить следующие аспекты языка:

  • Синтаксис Go намеренно разрабатывался простым, ясным, в какой-то степени схожим с другими популярными языками программирования. Таким образом, изучение Go (https://golangs.org/golang-intro) не вызывает особых сложностей;
  • Go поставляется с впечатляющим набором пакетов стандартного кода, что предоставляет все виды общей функциональности. Большинство пакетов являются кроссплатформенными;
  • Сообщество поклонников Go активно развивается, регулярно создавая новые высококачественные пакеты и проекты (https://github.com/avelino/awesome-go) для импорта и использования.

Программистов Go часто называют сусликами (англ. gophers). Этот зверек также является логотипом данного языка программирования. Далее в статье мы будем использовать английский вариант термина — гофер.

Хотя Go является компилируемым языком со статической типизацией, в нём также есть довольно много функций, присущих динамическим скриптовым языкам. Затея объединить эти два типа языков может показаться сомнительной, но у Go всё получилось довольно неплохо.

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

Читабельность является важным фактором, что влияет на дизайн Go. Одному гоферу нетрудно понять код Go, написанный другим гофером.

Компиляторы в Golang

В настоящее время самый популярный компилятор Go написан на Go и поддерживается командой разработчиков Go. Позже он будет упоминаться, как стандартный компилятор Go, или gc (англ. Go compiler).

Не путайте с другим GC — garbage collection, или сборка мусора.

Команда разработчиков Go поддерживает ещё один компилятор Go — gccgo. В настоящее время его использование менее популярно, чем gc. Тем не менее, оба компилятора находятся в активной разработке. На данный момент команда Go занимается улучшением gc.

gc поставляется с официальным Go SDK. Go SDK 1.0 был выпущен в марте 2012 года. Версия Go совместима с версией Go SDK. Это две основные версии языка, выпущенные с разницей в год.

После релиза Go 1.0 синтаксис Go немного изменился, было много улучшений для инструментов в Go SDK, особенно для gc.

Например, заметные лаги, вызванные сборкой мусора, являются распространенной проблемой для языков с автоматическим управлением памятью. Однако, начиная с Go 1.8, улучшения, внесенные с реализацией параллельной сборки мусора в gc, по большей части устранили проблему задержки.

gc поддерживает кроссплатформенную компиляцию. К примеру, мы можем создать исполняемый файл Windows на ОС Linux и наоборот.

Большинство программ, написанных на Go,  компилируются довольно быстро. Время компиляции является важным фактором успешного развитии. Короткое время разработки — одна из причин, почему многим программистам нравится программировать на Go.

Преимущества исполняемых файлов Go:

  • небольшой объём памяти;
  • быстрое выполнение кода;
  • короткая продолжительность подготовки.

Некоторые другие компилируемые языки, такие как C/C++/Rust также обладают данными преимуществами, в каких-то аспектах выигрывают в сравнению с Go. Однако у Go перед ними есть свои плюсы:

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

Все перечисленные выше преимущества делают Go отличным языком и хорошим выбором для самых разных проектов.

В настоящее время Go широко используется в сетях, системных инструментах, разработке баз данных и в блокчейне. В последнее время всё большее число разработчиком используют Go для создания игр, проектов с большими объёмами данных и ИИ.

Конечно, Go вовсе не идеален. В дизайне Go есть определённые минусы. Особенно это заметно с текущей версией Go 1. К примеру, Go не поддерживает произвольные неизменяемые значения. Это приводит к тому, что многие значения, не предназначенные для изменения в стандартных пакетах, объявляются как переменные.

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

Лично я пока что не собираюсь активно программировать на языке GO, но пытаюсь понять его возможности и особенности.

!…

Приглашаю всех высказываться в Комментариях. Критику и обмен опытом одобряю и приветствую. В особо хороших комментариях сохраняю ссылку на сайт автора!

И не забывайте, пожалуйста, нажимать на кнопки социальных сетей, которые расположены под текстом каждой страницы сайта.
GO язык программированияПродолжение тут…

Deviz_10

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.