LINUX.ORG.RU

Google представляет Go

 , , ,


0

0

Go — экспериментальный язык програмирования, разработанный в Google. Основные разработчики языка — Роб Пайк и Кен Томпсон, также известные как разработчики unix и plan9.

Go предназначен в первую очередь для написания крупных серверных приложений и способен сократить время сборки с десятков минут до нескольких секунд (в сравнении с C++) за счет системы модулей и явного указания зависимостей.

В языке отсутствуют классы, исключения, метапрограммирование и ручное управление памятью, однако присутствуют указатели, сборщик мусора и goto. Также на уровне языка поддерживаются легковесные процессы (goroutines) и каналы (channels).

Можно использовать фигурные скобки и юникод в идентификаторах.

>>> Подробности

★★★

Проверено: hibou ()

Google представляет Go

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

fat_angel ★★★★★ ()

Google представляет Go

Так вот на чем писали ДыроХром!

Vargos ()

Google представляет Go

Не нужно. Есть D.

anonymous ()

Google представляет Go

Зашёл на их сайт, ткнул наугад в страницу Memory Model, увидел следующее - про их goroutines:

The go statement that starts a new goroutine happens before the goroutine's execution begins. For example, in this program:

var a string;

func f() {
	print(a);
}

func hello() {
	a = "hello, world";
	go f();
}
calling hello will print «hello, world» at some point in the future (perhaps after hello has returned).

Как это «some point in the future», «perhaps»? Это из разряда эзотерической стохастической Java, где-то читал про такую шутку. Создаётся впечатление, что ребята просто решили выбить из Гугла денежек, какбэ под перспективную разработку.

hexenlord ()

Google представляет Go

Новый взгляд так сказать. Сейчас как раз пишу серверную аппликуху на С++. Представляю как это могло бы выглядеть на го. В задумчивости. Не везде без ооп хорошо. В играх например приятно видеть классы игрок. нпс, итем и т.д.

mio ★★ ()
Ответ на: Google представляет Go от mio

Google представляет Go

> Новый взгляд так сказать. Сейчас как раз пишу серверную аппликуху на С++. Представляю как это могло бы выглядеть на го. В задумчивости. Не везде без ооп хорошо. В играх например приятно видеть классы игрок. нпс, итем и т.д.

А ты на Эрланге попробуй её писать.

mv ★★★★★ ()

Google представляет Go

> однако присутствуют указатели, сборщик мусора и goto.

Ах, от возможностей просто кружится голова!...
:)))))

Опять гуглу чешется навелосипедить? То браузер сделали убогее IE, то якобы ОС написали - причём закрытую, теперь вот недоязык... чо им не спится-то!?!

matumba ★★★★★ ()
Ответ на: Re: Google представляет Go от burjui

Google представляет Go

> А вообще, молодцы ребята из Google - не гуи пинают...

Что смешно, именно ГУЙ последнее время - больная мозоль многих девелоперов. Ещё как-то вырвался вперёд M$ с WPF, но остальные жуют сопли и перекрашивают устаревшие концепции. Нам бы и не надо всяких ХАМЛов, лишь бы сама библиотека была вразумительной. Но такой нет. :(

matumba ★★★★★ ()

Google представляет Go

А мне оно php напомнило. Для некоторых целей идеальный язык.

farafonoff ★★ ()

Google представляет Go

Идея отличная.

Классы в системном программировании не нужны... Но с памятью надо быть аккуратным (хрен найдёшь в большом проекте, что где течёт). goto видимо оставили, т.к. это действительно удобный способ переходов, если правильно использовать, — позволяет уменьшить размер кода и повысить читабельность. Юникод из коробки требует время (в смысле 21 век на дворе :)).

И даже если так стоит вопрос: почему не C++? а) да, он жутко медленный при сборке б) нечитабельный в) мешанинина в библиотеке из «старого» Си и «нового» Си++ (только моё ИМХО)

В общем, я за такой язык... А то иногда из-за того, что не хочется много отлаживать, пишу системный код на Питоне.

ferhiord ★★ ()

Google представляет Go

Пока первое, что мне не понравилось: os.Stdout.WriteString(s) — ну зачем разный регистр? :(

ferhiord ★★ ()

Google представляет Go

Пишущие на нём будут, я так полагаю, Goпниками?

telepat ()
Ответ на: Re: Google представляет Go от burjui

Re: Google представляет Go

"ребята из google" каждую неделю новый язык придумывают

anonymous ()
Ответ на: Re: Google представляет Go от anonymous

Re: Google представляет Go

>>По первому взгдяду это то чего я и хотел - Си с динамическими массивами, gc и системой модулей. ООП и генерики выкинули, молодцы. Но нет экзепшенов (???)

>А разве в си масивы не динамические?

Много бойлерплейта вокруг realloc() - надо параллельно сохранять размер зарезервированной области и по факту занятой. И кроме того, уныло приводить типы и трахаться со смещениями либо юзать топорный препроцессор родом из начала 70-х.

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

ООП имхо частный случай работы с сетами.

Absurd ★★★ ()
Ответ на: Google представляет Go от grusha

Re: Google представляет Go

>"People who unconditionally say "goto is bad" are idiots who don't understand how computer programs work."

Это старая религия родом из анти-фортрановской реакции 70-х и людей учившихся на книжках людей подверженных анти-фортрановской реакции 70-х.

Absurd ★★★ ()
Ответ на: Google представляет Go от telepat

Google представляет Go

>Пишущие на нём будут, я так полагаю, Goпниками?

100 пудов

kbps ★★★ ()

Google представляет Go

Да вот совершенно верно. Насчет Go to. Понятно ведь, хрен редьки не слаще. Целое поколение программистов превратили в мазохистов, рассматривающих Go to как признак плохого стиля. Дескать это понижает читабельность кода. И вот на месте, где раньше просто стояло Go to, выросла целая идеология, известная как ООП. Было вырублено огромное количество деревьев для того чтобы сторонники этой идиотской идеологии могли печатать свои наукобразные писульки, тем самым оправдывая свое никчемное существование. Но правду не скроешь. Кота в мешке не утаишь.

kristall ★★ ()
Ответ на: Re: Google представляет Go от Absurd

Google представляет Go

> Это старая религия родом из анти-фортрановской реакции 70-х

Религия может и старая, а последователи у неё бывают очень даже и молодые.

sv75 ★★★★★ ()

Google представляет Go

Я не понял идею. :(

Erlang meets D?

sv75 ★★★★★ ()
Ответ на: Google представляет Go от fat_angel

Google представляет Go

> Епт, сколько ж говнокодеров не мыслящих существования без goto спалилось в треде.

Вы просто либо на Си не писали, либо дурак.

sv75 ★★★★★ ()
Ответ на: Google представляет Go от RedPossum

Google представляет Go

> И массив - это массив. Хочешь передать его в функцию, передастся не указатель на него, а весь массив. Зачем?

У вас дислексия. Вы не в состоянии читать мануалы. Обратитесь к специалисту за квалифицированной помощью.

yk4ever ()

Google представляет Go

NIH-синдром в действии.

zenith ★★★ ()
Ответ на: Google представляет Go от sv75

Re: Google представляет Go

А можешь показать кусок кода, где без goto не обойтись?

Xenius ★★★★★ ()
Ответ на: Re: Google представляет Go от Xenius

Google представляет Go

> А можешь показать кусок кода, где без goto не обойтись?

Его всегда можно убрать, вопрос --- зачем? Читаем тред "жизнь без исключений", берём сырсы ядра своей ОС, смотрим на goto.

sv75 ★★★★★ ()

Google представляет Go

Про язык: семантика хорошая; за слайсы, замыкания, интерфейсы и корутины зачот. Однако синтаксис стрёмный (фигурные скобки фу, питон ничему людей не научил??). Отсутствие итераторов после LINQ/Haskell/Python - это тоже уже несерьёзно.

Короче, как язык приложений - не сильно привлекательно. Как системный язык - надо посмотреть производительность (и зачем тогда вшитый юникод?).

Ну и, разумеется, всё лучше чем C++.

yk4ever ()
Ответ на: Re: Google представляет Go от Xenius

Google представляет Go

> А можешь показать кусок кода, где без goto не обойтись?

Три вложенных цикла, где из внутреннего надо вывалиться совсем наружу. Это для гото вообще основной валидный юзкейс.

yk4ever ()
Ответ на: Google представляет Go от wfrr

Google представляет Go

> Потом выйдет Goo ?

И в нём мы будем составлять программы из Goo Balls

INFOMAN ★★★★★ ()
Ответ на: Google представляет Go от mio

Google представляет Go

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

Вы в каких-то диких терминах мыслите - "приятно видеть классы". Вам что от ООП нужно? Нэймспейсы? Есть в Go, см. модули. Декларативная диспетчеризация? Есть в Go, см. интерфейсы. Вы в шоколаде.

Но, повторюсь, го мне не кажется хорошим языком приложений.

yk4ever ()

Google представляет Go

Паттерн-матчинга нет, вывода типов нет, и это в 21-м веке? Закапывайте.

zenith ★★★ ()

Google представляет Go

Скоро каждая компания будет иметь свой язык.

vold ★★★★★ ()

Google представляет Go

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

Gukl ★★ ()
Ответ на: Google представляет Go от alg0rythm

Google представляет Go

Я с Вас балдею ! О ком тут ещё можно подумать ? Нет это просто однофамильцы !

pazak ()
Ответ на: Re: Google представляет Go от Xenius

Re: Google представляет Go

> А можешь показать кусок кода, где без goto не обойтись?

"Structured Programming with go to Statements" DONALD E. KNUTH
http://pplab.snu.ac.kr/courses/adv_pl05/papers/p261-knuth.pdf
Кнут уже показал ещё тогда, когда возня против goto только начиналась.

anonymous ()
Ответ на: Google представляет Go от zenith

Google представляет Go

> Паттерн-матчинга нет, вывода типов нет, и это в 21-м веке?

Зато компиляция шустрая :]

yk4ever ()
Ответ на: Google представляет Go от yk4ever

Google представляет Go

> Однако синтаксис стрёмный (фигурные скобки фу, питон ничему людей не научил??).

Научил, именно Питон и научил - что скобки-таки нужны.

Gukl ★★ ()
Ответ на: Google представляет Go от yk4ever

Google представляет Go

От ооп нужнее всего : пишешь имя объекта, ставишь точку и список вываливается что с ним можно делать :) Ну, вы понели

mio ★★ ()
Ответ на: Google представляет Go от zenith

Google представляет Go

> вывода типов нет, и это в 21-м веке?

Кстати, всё-таки немного есть. Автоматический тип lvalue и даже мультирезультат наличествуют.

yk4ever ()
Ответ на: Google представляет Go от Gukl

Google представляет Go

> Научил, именно Питон и научил - что скобки-таки нужны.

Я вам уже неоднократно говорил, что notepad - плохой выбор текстового редактора для программиста.

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

yk4ever ()
Ответ на: Google представляет Go от mio

Google представляет Go

> От ооп нужнее всего : пишешь имя объекта, ставишь точку и список вываливается что с ним можно делать :) Ну, вы понели

Ох, мляяяя... вот и такие "погромисты" по земле ползают. Не знает, что ему написать, пишет объект с точкой и ждёт пока за него IDE программу придумает.

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

yk4ever ()

Google представляет Go

Вот ДЗ то обзавидуется ... у людей с GC проблемм нет :)

robot12 ★★★★★ ()
Ответ на: Google представляет Go от RedPossum

Google представляет Go

> Из более заметных концептаульных отличий они добавили указатели, но нет арифметики указателей.

Это называется handlers - как в Яве.

Вообще, непонятно, зачем Гугл тратит ресурсы на разработку велосипедов. У них NIH-синдром?

faustus ()

Google представляет Go

(LISP (RULES (THEM (ALL))))

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.