среда, ноября 11, 2009

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

Сегодня Google представил язык программирования собственной разработки под названием Go. Я почитала о нем наискосок, там есть сборка мусора, высказываются интересные мысли по поводу многопоточности. Пока ничего революционного не обнаружила.

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

Официальный сайт языка Go, там есть FAQ.

Новость пользуется популярностью, вот уже многопоточный рейтрейсер написали... A Multi-threaded Go Raytracer

Updated 20.11.2009
Ссылки по теме:
Краткий пересказ Effective Go на русском языке

20 коммент.:

Евгений Железников комментирует...

[i]"no new systems programming language has been developed in the last ten years"[/i]
Ди четко игнорируют, ни одного упомянания в доках, хотя многие идеи - те же, ну и ниша вроде где-то рядом.

На слэшдоте тоже обсуждают.

Евгений Железников комментирует...

Ну и да, Go - не уникальное имя для языка программирования:
раз
два

sergk комментирует...

Есть еще такой язык программирования - D (digitalmars.com/d). Имя правда тоже не самое удачное =)

По мне так лучще бы google поучаствовала в его развитии.

Евгений Железников комментирует...
Этот комментарий был удален автором.
Андрей Валяев комментирует...

D - очень старый язык...

Что касается сабжа - какая то смесь паскаля и си... И очень много лишнего в описаниях. :) Это конечно все для безопасности, но тем не менее.

Left комментирует...

D по сравнению с Go чистейшей воды помойка. Задумывался он с той же целью, да - но авторы погрязли в добавлении новых фич и в итоге язык получается не многим проще исходного С++. Go - максимально простой язык, по чистоте концепций очень похож на JavaScript (языки, естественно, очень разные - одинаков лишь подход "оставить в языке только то что необходимо"). За счёт того что язык очень простой лично я в ближайшее время ожидаю появление для него плагинов к современным IDE, средства рефакторинга и статического анализа кода. Вообщем, всего того что для С++ пытаются довести до ума уже пару десятков лет.

Евгений Железников комментирует...

Андрей Валяев
D - очень старый язык

Это с релизом-то в 2007ом году и общей недопиленностью до сих пор?

Left
D по сравнению с Go чистейшей воды помойка. Задумывался он с той же целью, да - но авторы погрязли в добавлении новых фич и в итоге язык получается не многим проще исходного С++. Go - максимально простой язык

Наивно так думать!

D1 краток и лаконичен, изначально вообще был маленьким по числу фич.
Любой развивающийся язык со временем обрастает плюшками, которые могут его запутать и усложнить до неузнаваемости.

Готовы гарантировать, что через n лет того же не произойдет с Go? Это просто пока очень молодой язык, они, пока молодые, все маленькие и пушистые.

Тулзы для Go появятся не потому, что он $ваша_любимая_строчка_спеки, а потому что Google.

m1t0z комментирует...

Глянул мельком в раздел Go For C++ Programmers. Некоторые вещи удивили:


1. Go has pointers but not pointer arithmetic. You cannot use a pointer variable to walk through the bytes of a string.


Хм...


2. Arrays in Go are first class values. When an array is used as a function parameter, the function receives a copy of the array, not a pointer to it.


Хм...


3. However, in practice functions often use slices for parameters...


Окей.


4.Go does not support implicit type conversion. Operations that mix different types require casts


Не сочтите формалистом, но это хорошо. Как минимум, бывает полезным. Пусть и жертвой станет объем кода, пусть программисту придется больше думать, зато меньше неуловимых проблем в будущем.



5.Go does not support function overloading and does not support user defined operators.

Почему же так?

Евгений Железников комментирует...

http://domaingang.com/stories-and-manuals/yahoo-launches-new-programming-language-yo/ :)

Left комментирует...

> Наивно так думать!
Ну почему же :)

> D1 краток и лаконичен, изначально вообще был маленьким по числу фич.
Любой развивающийся язык со временем обрастает плюшками, которые могут его запутать и усложнить до неузнаваемости.

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

Ну а во-2 плюшки надо добавлять когда борщ уже съеден. Т.е. основные фичеры работают и работают хорошо и надёжно. В случае же D как сказал кто-то на RSDN: "Его пишут учёные, а они бросают пилить дерево как только смогли доказать что спилить его возможно"

> Готовы гарантировать, что через n лет того же не произойдет с Go? Это просто пока очень молодой язык, они, пока молодые, все маленькие и пушистые.

JavaScript-у сколько там лет? ;)
Кстати тут же вспоминается история с ECMAScript 4 и почему его отменили.

> Тулзы для Go появятся не потому, что он $ваша_любимая_строчка_спеки, а потому что Google.
Ну по большому счёту меня мало интересует ПОЧЕМУ они появятся. Лишь бы появились ;)

Вообще Go это тот язык о котором я мечтал. На D я посмотрел но он на эту роль явно не годился. И мне кажется будь D почище в концепциях - гугловцы непременно обратили бы на него внимание. По опыту ковыряния с хромом сужу - они очень грамотно выбирают технологии и никогда не изобретают лишних без необходимости.

Алёна комментирует...

2Евгений Железников:

http://domaingang.com/stories-and-manuals/yahoo-launches-new-programming-language-yo/ :)

Это прекрасно :-)

ifp5 комментирует...

Да уж, язык офигительный. Modula-2 в синтаксисе JavaScript и это в 2009 году!

Константин комментирует...

google меня разочаровал

const комментирует...

Железо дешевеет. Языки программирования стали двигаться в сторону простоты и человечности.

Евгений Охотников комментирует...

Прошу прощения за саморекламу, но желающие почитать о языке Go на русском, могут глянуть на мой вольный пересказ статьи Effective Go: http://eao197.narod.ru/desc/short_effective_go.html
С дуру начал писать, потом жалко было бросить. Вот что получилось. Может кому-нибудь пригодиться.

Александр комментирует...

Классика лучше :)

http://www.youtube.com/watch?v=XHosLhPEN3k

Алёна комментирует...

2Евгений Охотников

Прошу прощения за саморекламу, но желающие почитать о языке Go на русском, могут глянуть на мой вольный пересказ статьи Effective Go: http://eao197.narod.ru/desc/short_effective_go.html

Почему бы не попиарить хорошую статью :-)

nvy комментирует...

А ещё есть такое мнение про этот ваш Go:>Императивный эрланг называется Go, и сосёт.<

Андрей комментирует...

а вот вам ссылочка на русское сообщество GO ... и такое уже есть
http://golanguage.ru

Артем комментирует...

Кстати, ресурс для всех интересующихся Go http://4gophers.com/