Linux.org.ru
Новости - Галерея - Форум - Трекер - Wiki - Поиск
[#]  
Bsd-un (фотография)

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

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

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

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

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

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

Метки: go, google, plan9, unix

Bsd-un *** (11.11.2009 3:31:15)
Проверено: hibou (11.11.2009 7:53:57)

[#]  
fat_angel (фотография)

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

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

fat_angel * (11.11.2009 12:03:35)
[#]  
Vargos (фотография)

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

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

Vargos (11.11.2009 12:10:58)
[#] Ответ на: Google представляет Go от psionik 11.11.2009 8:48:09  
PayableOnDeath (фотография)

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

GoOpenOffice

PayableOnDeath * (11.11.2009 12:13:43)
[#]  

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

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

anonymous (11.11.2009 12:14:45)
[#]  
hexenlord (фотография)

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 * (11.11.2009 12:14:54)
[#]  
mio (фотография)

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

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

mio (11.11.2009 12:18:22)
[#] Ответ на: Google представляет Go от mio 11.11.2009 12:18:22  
mv (фотография)

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

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

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

mv **** (11.11.2009 12:35:49)
[#] Ответ на: Google представляет Go от psionik 11.11.2009 8:48:09  

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

http://golang.org/doc/go_faq.html

What is the origin of the name?
“Ogle” would be a good name for a Go debugger.

BreadFan ** (11.11.2009 12:37:41)
[#]  
matumba (фотография)

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

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

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

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

matumba * (11.11.2009 12:39:52)
[#] Ответ на: Re: Google представляет Go от burjui 11.11.2009 11:47:26  
matumba (фотография)

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

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

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

matumba * (11.11.2009 12:44:21)
[#]  

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

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

farafonoff (11.11.2009 12:48:43)
[#]  
ferhiord (фотография)

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

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

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

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

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

ferhiord * (11.11.2009 12:50:55)
[#]  
ferhiord (фотография)

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

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

ferhiord * (11.11.2009 12:53:33)
[#]  

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

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

telepat (11.11.2009 12:54:34)
[#] Ответ на: Google представляет Go от wfrr 11.11.2009 8:31:27  

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

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

да, а за ним World of Goo

anonymous (11.11.2009 12:57:32)
[#] Ответ на: Re: Google представляет Go от burjui 11.11.2009 11:47:26  

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

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

anonymous (11.11.2009 12:57:49)
[#] Ответ на: Google представляет Go от mio 11.11.2009 12:18:22  

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

вас тоже труп страуса покусал?

anonymous (11.11.2009 12:58:28)
[#] Ответ на: Google представляет Go от anonymous 11.11.2009 10:38:11  

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

> использующие goto идут на (неразборчиво)

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

http://lists.suckless.org/dev/0911/2303.html

grusha (11.11.2009 13:04:17)
[#] Ответ на: Re: Google представляет Go от anonymous 11.11.2009 10:44:02  
Absurd (фотография)

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

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

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

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

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

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

Absurd ** (11.11.2009 13:06:24)
[#] Ответ на: Google представляет Go от grusha 11.11.2009 13:04:17  
Absurd (фотография)

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

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

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

Absurd ** (11.11.2009 13:11:10)
[#] Ответ на: Google представляет Go от telepat 11.11.2009 12:54:34  
kbps (фотография)

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

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

100 пудов

kbps *** (11.11.2009 13:12:43)
[#]  

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

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

kristall * (11.11.2009 13:13:31)
[#] Ответ на: Re: Google представляет Go от Absurd 11.11.2009 13:11:10  

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

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

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

sv75 **** (11.11.2009 13:13:48)
[#]  

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

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

Erlang meets D?

sv75 **** (11.11.2009 13:22:11)
[#] Ответ на: Google представляет Go от fat_angel 11.11.2009 12:03:35  

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

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

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

sv75 **** (11.11.2009 13:24:19)
[#] Ответ на: Re: Google представляет Go от anonymous 11.11.2009 12:57:49  
burjui (фотография)

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

Надо устраиваться в Google. Там трава кошерная (^_^)

burjui (11.11.2009 13:28:11)
[#] Ответ на: Google представляет Go от RedPossum 11.11.2009 11:29:45  

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

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

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

yk4ever * (11.11.2009 13:34:32)
[#]  
zenith (фотография)

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

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

zenith ** (11.11.2009 13:36:05)
[#] Ответ на: Google представляет Go от sv75 11.11.2009 13:24:19  

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

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

Xenius * (11.11.2009 13:37:08)
[#] Ответ на: Re: Google представляет Go от Xenius 11.11.2009 13:37:08  

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

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

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

sv75 **** (11.11.2009 13:44:29)
[#]  

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

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

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

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

yk4ever * (11.11.2009 13:45:51)
[#] Ответ на: Re: Google представляет Go от Xenius 11.11.2009 13:37:08  

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

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

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

yk4ever * (11.11.2009 13:47:06)
[#] Ответ на: Google представляет Go от wfrr 11.11.2009 8:31:27  
INFOMAN (фотография)

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

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

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

INFOMAN *** (11.11.2009 13:47:21)
[#] Ответ на: Google представляет Go от mio 11.11.2009 12:18:22  

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

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

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

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

yk4ever * (11.11.2009 13:50:42)
[#]  
zenith (фотография)

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

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

zenith ** (11.11.2009 13:50:52)
[#]  

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

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

vold * (11.11.2009 13:52:25)
[#]  
Gukl (фотография)

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

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

Gukl * (11.11.2009 13:57:11)
[#] Ответ на: Google представляет Go от kristall 11.11.2009 13:13:31  
Attila (фотография)

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

>Кота в мешке не утаишь.

И шило в мешке не продашь :)

Attila (11.11.2009 13:57:47)
[#] Ответ на: Google представляет Go от alg0rythm 11.11.2009 8:22:36  

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

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

pazak (11.11.2009 14:01:43)
[#] Ответ на: Re: Google представляет Go от Xenius 11.11.2009 13:37:08  

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 (11.11.2009 14:01:47)
[#] Ответ на: Google представляет Go от zenith 11.11.2009 13:50:52  

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

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

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

yk4ever * (11.11.2009 14:02:47)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 13:45:51  
Gukl (фотография)

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

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

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

Gukl * (11.11.2009 14:02:55)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 13:50:42  
mio (фотография)

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

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

mio (11.11.2009 14:09:35)
[#] Ответ на: Google представляет Go от zenith 11.11.2009 13:50:52  

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

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

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

yk4ever * (11.11.2009 14:11:08)
[#] Ответ на: Google представляет Go от Gukl 11.11.2009 14:02:55  

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

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

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

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

yk4ever * (11.11.2009 14:13:36)
[#] Ответ на: Google представляет Go от grusha 11.11.2009 13:04:17  

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

> "People who unconditionally say "goto is bad" are idiots who don't understand how computer programs work." http://lists.suckless.org/dev/0911/2303.html

Ключевое слово "unconditionally"...

Читайте Дейкстру http://evrika.tsi.lv/index.php?name=texts&file=show&f=388

anonymous (11.11.2009 14:14:20)
[#] Ответ на: Google представляет Go от mio 11.11.2009 14:09:35  

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

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

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

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

yk4ever * (11.11.2009 14:18:42)
[#]  
robot12 (фотография)

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

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

robot12 ***** (11.11.2009 14:19:42)
[#] Ответ на: Google представляет Go от RedPossum 11.11.2009 11:29:45  

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

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

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

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

faustus * (11.11.2009 14:21:48)
[#]  

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

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

anonymous (11.11.2009 14:25:17)

http://www.linux.org.ru/

Rambler's Top100 TopList