Google представляет новый язык программирования Go

62 комментария
Google представляет новый язык программирования Go
Good news everyone! Google обявил о выпуске нового open source языка программирования под названием Go. Вот как сам Google описывает Go в своём блоге: «Go – это попытка скомбинировать скорость разработки в динамическом языке типа Python с безопасностью и производительностью компилируемого языка типа C или C++. Согласно нашим экспериментам, даже большие сборки компилируются буквально мгновенно. При этом скомпилированный код выполняется также быстро как C код.» Ускорение компиляции реализовывается за счёт системы модулей и явного указания системы зависимостей. Стоит отметить достаточно специфические особенности языка – здесь отсутствуют generic классы, ручное управление памятью и исключения. При этом есть указатели, goto и поддержка "лёгких" процессов goroutines, разрешены также и юникод идентификаторы. Официальной эмблемой языка стал суслик Гордон. Google надеется, что Go станет отличным языком для написания серверных приложений с поддержкой разработки под мультипроцессорные системы и свежим и лёгким взглядом на объектно-ориентированное проектирование. Подробности на сайте Golang.org А так выглядит интерпретация пресловутого «Hello World» на новом языке:
05 package main 07 import fmt “fmt” // Package implementing formatted I/O. 09 func main() { 10 fmt.Printf(”Hello, world; or Καλημέρα κόσμε; or こんにちは 世界n”); 11 }

Горячие события

Testing Stage 2020
26 марта — 28 марта

Testing Stage 2020

Киев
JSNation 2020 Amsterdam
3 июня — 5 июня

JSNation 2020 Amsterdam

Amsterdam

Читайте также

В сети появился курс по Python от Агентства нацбезопасности США
В сети появился курс по Python от Агентства нацбезопасности США

В сети появился курс по Python от Агентства нацбезопасности США

Вышел отчёт HackerRank Developer Skills Report: модные Gо и full-stack разработчики
Вышел отчёт HackerRank Developer Skills Report: модные Gо и full-stack разработчики

Вышел отчёт HackerRank Developer Skills Report: модные Gо и full-stack разработчики

Google запустила новый курс по автоматизации задач на Python
Google запустила новый курс по автоматизации задач на Python

Google запустила новый курс по автоматизации задач на Python

Dice: самые востребованные у работодателей программистские навыки связаны с данными
Dice: самые востребованные у работодателей программистские навыки связаны с данными

Dice: самые востребованные у работодателей программистские навыки связаны с данными

3 комментария

Обсуждение

1

Чтобы не выпускали Google или Apple из-за уже налаженной репутации и маркетинга это всегда привлечёт внимание масс, независимо от того насколько данный продукт интересен и инновационен.

Александр Флахбарт
Александр Флахбарт программист в BELHARD
-1

Зарекомендовали, ведь, а не просто нахрапом рекламой на каждом столбе.

А в данном случае вопрос в том насколько упорно сам google будет проталкивать этот язык или оставит в качестве так, эксперимента и базы для каких-то ещё наработок. Без активной поддержки будет Go маргинальным языком для энтузиастов, как и другие подобные начинания.

1

Имхо, судя по синтаксису языка - это извращение какое-то. http://golang.org/doc/effective_go.html

Anonymous
Anonymous Senior Pomidor в Силикон Лаб
-1

Хм, а что не так с синтаксисом?

1

адская примесь паскаля, си, эрланга и еще какой-то ереси.

Anonymous
Anonymous Senior Pomidor в Силикон Лаб
2

Ну а JavaScript, в таком случае - помесь Джавы, Паскаля и Скима, и ничего, пользуется популярностью ;)

0

согласен,
создавали какие-то любители асма и ненавистники ООПшных языков

Anonymous
Anonymous Senior Pomidor в Силикон Лаб
0

Ну ООП языки традиционно как-то не сильно популярны в системном программировании (Sing# не в счёт, там вообще парадигм намешано), а тяга к низкоуровневости вполне логична, если учесть, что гугль хочет этим языком заменить у себя Си.

1

О, новый язык, очень актуально - похоже Вавилонское смешение языков продолжается и по сей день :)

0

суслик Гордон, это что, шутка?
интересно чем он программирует, размер лап и 2х зубьев идентичен... : )))

Александр Флахбарт
Александр Флахбарт программист в BELHARD
1

Gordon the Gopher это персонаж какого-то детского шоу в Великобритании.

0

похоже что шутка... может GO для детей...

0

Что не было озвучено в статье

http://golang.org - оф.сайт
http://golang.org/doc/install.html - страница загрузки "игрушки"

Группа разработчиков из компании Google, в число которых входят легендарные создатели платформы Unix Кен Томпсон (Ken Thompson) и Роб Пайк (Rob Pike)...
На данный момент проект Google Go включает в себя язык программирования, набор компиляторов для преобразования программного кода в запускаемые приложения, а также библиотеки runtime package, позволяющие включать в программы большое количество встроенных функций.
Предлагаемый язык программирования пригоден для написания сложного серверного ПО и приложений, запускаемых в окне веб-браузера. Наиболее показательными образцами использования Go являются серверная часть официального сайт проекта и популярного сервиса Google Gmail.
Разработчики смогут создавать приложения со встроенной поддержкой многоядерных процессоров и параллельных вычислений, а также будут избавлены от целого ряда сложностей, характерных для объектно-ориентированного программирования. Программистам предлагается набор функций и инструментов, присутствующих в современных языках программирования, таких как «сборщик мусора» и механизмы управления памятью. Go допускает распределение нагрузок между серверами и клиентскими устройствами, при этом в роли последних могут выступать как настольные компьютеры, так и мобильные устройства.

0

так Gmail на этом Go написан?!

Алексей Данченко
Алексей Данченко Инженер-программист в ЛюксСофт
0

Нет. Это, похоже, журналисты придумали.. Или кто-то не так что-то понял.
"Aside from that, Go isn't used in production anywhere at Google yet. It's going to take time before it's ready for more expansive use, but Google hopes that it will eventually provide a good alternative to the C the company uses extensively."

0

вот и я засомневался... про GWT там инфа 100%, а серверная часть хз

0

> запускаемых в окне веб-браузера

Он что, в JS умеет компилиться?

-1

сейчас почти любая серверная платформа генерит на сервере JS

Anonymous
Anonymous Software Engineering Team Leader в EPAM
0

Странно это все. Тот же Гугл уже давно продвигает свой GWT (Google Web Toolkit), который тоже по сути представляет собой фреймворк для написания клиент-серверного ПО на Java. То есть разрабатывать предлагается на Java (правда в несколько ограниченном виде), а компилируется все в итоге на HTML JS.

0

не смешивайте все в одну кучу, это разные вещи, GWT удобен (?) для написания RIA и всего-лишь (имхо тут больше клиентской части) . Серверное ПО != RIA.

Anonymous
Anonymous Software Engineering Team Leader в EPAM
0

Если Серверное ПО != RIA, то что тогда есть серверное ПО? Если имеется в виду крупные серверные системы типа поисковых машин или соц. сетей, то, я думаю, что тогда круг использования нового языка сильно сужается.

Pavel Pliatniou
Pavel Pliatniou Python-developer в Wargaming / Гейм Стрим
0

Весьма интересно что из этого выйдет... Все же Google App Engine на Python в плане среды для веб-приложений в свое время было воспринято на ура моими знакомыми, и по мне (как разрешили регистрацию для Беларуси) - неплохая штука...

0

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

Алексей Данченко
Алексей Данченко Инженер-программист в ЛюксСофт
1

Ну вроде бы в статье выше нигде веб-приложения и не упоминались.

1

обсуждение не туда зашло, gmail и gwt зачем-то вспомнили :)

1

>>с безопасностью и производительностью компилируемого языка типа C или C

никого не смущает слово "безопастность" в этом предложении?
с каких это пор с/c++ - безопастные языки?))

Алексей Данченко
Алексей Данченко Инженер-программист в ЛюксСофт
0

Меня вчера тоже смутило это предложение. Но тут вывод какой: не надо читать на ночь советских газет :) На сайте языка вроде бы ничего нет ни про gmail, ни про безопасность С, так что лучше почитать оригинальныe Tutorial / FAQ / Language Design FAQ.

Anonymous
Anonymous Senior Pomidor в Силикон Лаб
0

Видимо, подразумевалась статическая проверка типов в Си в противоположность питоновской динамической типизации. Хотя, ИМХО, использование указателей и goto- горааааздо более опасная вещь, чем определение типа в рантайме :)

Алексей Данченко
Алексей Данченко Инженер-программист в ЛюксСофт
0

А можно пояснить, какое отношение использование goto, например, в с++ имеет к безопасности?

Anonymous
Anonymous Senior Pomidor в Силикон Лаб
1

http://lib.1024.info/text/author/EdsgerDijkstra/GotoConsideredHarmful.html
Безопасность (корректность выполнения) зависит от степени понимания программистом процессов, происходящих в программе. Один из наиболее используемых и общепринятых способов достижения этого понимания - структурное программирование. goto снижает степень структурированности ПО, следовательно, в общем случае ухудшает понимание, следовательно ухудшает безопасность. Ну это если по теории. На практике уже много раз убеждался, что чем более сложным является control flow, тем чаще программа падает. Причём количество ошибок возрастает экспоненциально.

Конечно, если уметь пользоваться, то и неструктурное программирование может сделать программы более понятными, но так ли много людей, которые действительно умеют им грамотно пользоваться? :)

2

Эти языки появляются тысячами каждую миллисекунду

И каждую наносекунду появляется факториал миллиона библиотек для этих языков

И каждая библиотека в упор не совместима с предыдущей версией

А когда эта неразбериха принимает мировой масштаб - выпускают миллион кроссплатформенных языков пытаясь объединить все эти языки, библиотеки и платформы.

И опять ничего не получается и выпускается очередной язык

Да когда же вы угомонитесь, едрен батон? Еще книги с Москвы не завезут, а технология уже устареет

Anonymous
Anonymous Senior Pomidor в Силикон Лаб
0

Хм, а что Вы предлагаете? Не изобретать новых языков?

Сергей Глебов
Сергей Глебов Function Leader в SK hynix memory solutions Eastern Europe
0

Ой, а можно я предложу?
Да, давайте не изобретать.

Anonymous
Anonymous Senior Pomidor в Силикон Лаб
0

И программировать паралелльные процессы на Си?

Сергей Глебов
Сергей Глебов Function Leader в SK hynix memory solutions Eastern Europe
0

Я, к сожалению, старый хрен уже. Новых слов мало знаю.
Нет, зачем же на Си. На С . Чудесно программируются. Этими вот руками.
Даже не плакал почти, пока программировал - ну так, в подушку только перед сном чуть-чуть порыдаю - а так ни-ни.

1

В этом что-то есть.... отчасти: стиральная денежная машина (для коммерческих проектов).

Совершенно очевидно, что при такой динамичной смене версий и т.д. многие технологии просто не успевают быть использованными и даже просто изученными. Т.е. их производят намного быстрее потребления. Соответственно, возникает вопрос: а зачем тогда их плодить???

Вижу три варианта:

- работа на перспективу при наличии спонсорства/бюджета;
- прокрутка разных средств (осваивание выделенных бюджетов);
- просто ну не могут мегадевелоперы не девелопить :) Это (эгоистическая) природа человека... причем, даже если это почти не будет использоваться.. Отчасти пересекается с пунктом 1.

1

хех, во многом Вы тут правы на мой взгляд, и мне кажется что в каждом живет дух первооткрывателя(попытка стать первоисточником), что например ярко прослеживается в постоянстве создания все новых CMS всеми кто пробует себя в WEB программировании, но это далеко не осваивание средств, ведь за частую такие вещи пишутся на чистом энтузиазме.

1

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

0

>>>В этом что-то есть.... отчасти: стиральная денежная машина (для коммерческих проектов).

Хорошая идея, кстати... Для park.by

Anonymous
Anonymous Team Leader в Booking.com
-1

Google создаст Perl с питоновским синтаксисом?

1

Я не понимаю, почему бы не держаться синтаксиса C - это стандарт для Java, C#, JavaScript... создан программистами, программистам вроде как нравится... устоявшийся синтаксис...

Это как в машине - газ справа, тормоз посередине, сцепление слева, руль вверху - все привыкли, всем удобно...

В принципе, можно и ногами рулить - как в танке рычагами... но зачем ради красивой идеи тысячи водителей переучивать?

0

;) спросите, как видят образ машины многие из тех, кто создает эти технологии:
газ - справа, тормоз - большая педаль слева... "пузырек" с пол-литрами кофе - в подстаканнике... :)

0

Ещё подставка для ноута обязательна, чтобы программить или сурфить, пока стоишь на красном или в пробке :)

Anonymous
Anonymous Team Leader в Booking.com
0

А почему бы не придерживаться синтаксиса Perl'а? То, на что на C потребуется 5 строк, Perl легко умещает в одну? Или почему бы не придерживаться синтаксиса LISP'а? LISP код очень легко генерить, ведь всё есть список? Или почему бы не придерживаться синтаксиса...

И так можно до бесконечности. :)

Anonymous
Anonymous Software Engineering Team Leader в EPAM
0

Ну вы и сравнили популярность всех С-подобных языков с Perl. Это жеж несоизмеримо.

Anonymous
Anonymous Team Leader в Booking.com
0

http://royal.pingdom.com/2009/11/06/perl-far-from-dead-more-popular-than-you-think/

Белорусский аутсорсинг -- неудачная выборка для оценки популярности технологий. :)

0

Спасибо за ссылку...
А то вчера проискал упоминание о Перл на job.co.uk и аналогичном сайте для US... Одно упоминание (просмотрел больше 100)

Anonymous
Anonymous Team Leader в Booking.com
-1

88 jobs found (5 pages)

Я не думаю, что за день количество вакансий увеличилось в 88 раз. :)

0

Не понял! На каком сайте искали-то?

Anonymous
Anonymous Team Leader в Booking.com
0

job.co.uk

0

>>>>>>>>Или почему бы не придерживаться синтаксиса LISP'а? LISP код очень легко генерить, ведь всё есть список?
------------------------------------------------------------------------------------------------------------------------------------------------------
Язык программирования LISP конечно очень легко генерить.
Похоже тот, кто писал интерпретатор для него только этим и был озабочен - чтобы побыстрее написать подобный "генератор"...
Иначе он бы вместо "польской записи" (*( 3 2) 4) - которая превращает обычное мат. выражение (3 2)*4 в какой-то чудовищный набор бесполезных скобок (Lots of Irritating Single Parentheses) - использовал бы обычную устоявшуюся - и программировать на ЛИСП смог бы каждый.

Anonymous
Anonymous Team Leader в Booking.com
0

Отличный язык: не даёт мозгам закиснуть. :)

1

Ну это как кому...
По мне - не даёт мозгам закиснуть - это скорее к Прологу. Чтобы написать программу, надо хорошо продумать её логику - иначе будут глюки. Кстати, это даже и с JavaScript помогает.... Если хорошо продумать логику и структуру, то и ошибок меньше, и отлаживать скорее.
Да и в жизни так... Вот мы ходим на работу каждый день... Если записать это всё в терминах Prolog'a - то сначала получится бесконечная рекурсия. Так программа не заработает - надо ставить граничное условие выхода из рекурсии - иначе зависнет всё (как это порой и случается). До каких пор я буду работать на этой работе?! До пенсии? Какое-то мрачноватое граничное условие. Ищещь другое, более гламурное.

Если свою жизнь переписать в терминах Прологовской логики, то абсурднсоть очень многого стала бы видна как на ладони :)

Но это так, отступление. Оффтоп. На поэзию (в прозе) потянуло...

Anonymous
Anonymous Senior Pomidor в Силикон Лаб
0

Почитайте про макросы и работу с AST, и какие вещи это позволяет делать. Тогда, думаю, все вопросы к скобкам и польской записи отпадут.

-1

>>>>>>А почему бы не придерживаться синтаксиса Perl'а? То, на что на C потребуется 5 строк, Perl легко умещает в одну?
-------------------------------------------------------------------------------------------------------------------------------------------------------
Это так (мне лично Перл нравится), но не все мыслят как Larry Wall. Для многих Перл "тяжело поднять" - и их можно понять - там весь код, сплошная регулярка.
Но главное - "язык программирования будущего" Perl сейчас далеко не стандарт.
А "Си" - стандарт. Сотни тысяч программистов мыслят в терминах Си. Зачем их переучивать? Это компьютер должен подстраиваться под человека, а не наоборот.

Anonymous
Anonymous Team Leader в Booking.com
0

Это ты ещё Perl 6 не видел. :)

0

Мне и 5-го хватило :)

Алексей Данченко
Алексей Данченко Инженер-программист в ЛюксСофт
1

Вообще-то в Go синтаксис считается в основном Сишным: "Go is mostly in the C family (basic syntax), with significant input from the Pascal/Modula/Oberon family (declarations, packages), plus some ideas from languages inspired by Tony Hoare's CSP, such as Newsqueak and Limbo (concurrency)"

1

>>>>>>>>>в основном Сишным
--------------------------------------------------------------------

Тогда тем более проще сделать его сишным полностью!

0

За основу взят Си, но получилось какое-то уродское смешение языков.
nil вместо null вообще раздражает :)

0

nil вместо null вообще раздражает :)
----------------------------------------------------------------

:)
автор GO похоже испытал влияние ЛИСПа

0

чем то он мне яву напоминает =)