Шаг 1.
Язык программирования Go.
Введение

    Раздел "Язык программирования Go" основывается на материале, изложенном в следующих источниках:

  1. Саммерфилд М. Программирование на Go. Разработка приложений XXI века: пер. с англ.: Киселёв А. Н. – М.: ДМК Пресс, 2013. – 580 с.: ил.
  2. Донован, Алан А. А., Керниган, Брайан, У. Язык программирования Go. : Пер. с англ. — М. : ООО "И.Д. Вильямс", 2016. — 432 с. : ил.

    Разработчиками языка программирования Go были Роберт Грисемер (Robert Griesemer), Роб Пайк (Rob Pike) и Кен Томпсон (Ken Thompson) из Google. Это проект с открытым исходным кодом, так что исходные тексты его библиотек и инструментов, включая компилятор, находятся в открытом доступе. Язык Go создавался как высокоэффективное средство для легкого и простого написания надежных высокоинтеллектуальных программ. Он заимствует и приспосабливает для своих нужд хорошие идеи из многих других языков, избегая возможностей, которые могут привести к созданию сложного и ненадежного кода. Как и все современные языки, Go обладает эффективным механизмом сбора мусора, хорошо подходит для построения инструментария и систем для работы других программистов.

    Go, работает на большом количестве Unix-подобных систем (Linux, FreeBSD, OpenBSD, Mac OS X), а также на Plan 9 и Microsoft Windows; при этом программы, написанные для одной из этих сред, легко можно перенести на другие.

    На дизайн Go оказали влияние следующие языки программирования (рис. 1):


Рис.1. Иерархия языков, оказавших влияние на дизайн Go

    Go унаследовал от:

    Go часто описывают как "C-подобный язык" или "язык Си XXI века" – это компактный и эффективный язык программирования с низкоуровневыми возможностями (указатели). Go обладает особенностями, характерными для высокоуровневых языков (поддержка строк Юникода, высокоуровневые структуры данных, динамическая типизация, автоматическая сборка мусора и высокоуровневая поддержка взаимодействий, основанных на обмен сообщениями, а не на блокировках и разделяемых данных, обширная и всесторонняя стандартная библиотека).

    На следующем шаге постараемся провести сравнительный анализ языков программирования Go, C (C++) и Java.


Содержание Следующий шаг