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)

[#] Ответ на: Google представляет Go от faustus 11.11.2009 14:21:48  

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

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

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

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

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

> питон ничему людей не научил??

Я думаю, что это создатели питона учились у этих людей. Гвидо Ван Россум еще девочек за косички дергал, когда Кен Томпсон работал над unix

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

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

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

Мы понели. Все так и есть. Феерическая расстановка точек над ООП ^)^

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

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

что вы привязались к этому синтаксису? вам не пофигу, есть там фигурные скобочки или нет? ощущаете нежную привязанность к непечатным символам? хотите об этом поговорить?

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

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

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

ООП - частный случай lexical scope.

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

Да? Сколько лет, какое образование, какой опыт работы в команде?

faustus * (11.11.2009 14:41:21)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 14:18:42  

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

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

Автодополнение - одна из самых полезных фич современных IDE.

Ваш Капитан.

faustus * (11.11.2009 14:47:59)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 14:28:02  

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

> Нет, у них просто 20% свободного времени для разрабов. А поскольку разрабам в основном приходится пользоваться такой мерзостью как кресты и жабо - исессна им мечтается о новых, красивых языках.

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

faustus * (11.11.2009 14:53:03)
[#] Ответ на: Google представляет Go от faustus 11.11.2009 14:41:21  
Absurd (фотография)

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

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

>ООП - частный случай lexical scope.

Secretary это подмножество Employee который поджмножество Person. По крайней мере начиналось это так.

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

>Да? Сколько лет, какое образование, какой опыт работы в команде?

Я, кстати, за всю жизнь не разу не употребил goto. На Си я в основном писал под винду и использовал __leave из SEH-блока. То как goto используется при отсутствии SEH в ANSI C я видел только в чужом коде и мне такой подход кажется вполне нормальным.

Absurd ** (11.11.2009 14:59:47)
[#]  

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

Чувакам не дают покоя лавры Erlang. Скрестили ужа с ежом и получился Пщ. Отправлялись бы дедушки на пенсию что ли уже...

anonymous (11.11.2009 15:02:07)
[#]  
CARS (фотография)

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

Вроде всё ясно. Noop они значит замутили типа в замену Java, ну там ООП, все дела… А Go — это типа весь такой низкоуровневый язык с указателями и инструкцией goto. Чего не хватает? Правильно, чего-нибудь чисто функционального! Через месяц-другой анонсируют. И название у него будет «Ffuu» или что-нибудь в этом роде.

CARS * (11.11.2009 15:03:56)
[#]  

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

самое главное что лицензия правильная у языка!

anonymous (11.11.2009 15:04:24)
[#] Ответ на: Google представляет Go от Absurd 11.11.2009 10:28:29  

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

>> Но нет экзепшенов (???)

тормоза

kto_tama ***** (11.11.2009 15:08:26)
[#] Ответ на: Re: Google представляет Go от anonymous 11.11.2009 14:29:41  

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

> Гвидо Ван Россум еще девочек за косички дергал, когда Кен Томпсон работал над unix

Ну так у ван Россума продукт-то и попродуманней получился, чем Томпсоновская халтурка :]

yk4ever * (11.11.2009 15:10:06)
[#] Ответ на: Google представляет Go от volh 11.11.2009 14:38:30  

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

> что вы привязались к этому синтаксису? вам не пофигу, есть там фигурные скобочки или нет?

Нет, не пофигу. Они мешают.

yk4ever * (11.11.2009 15:10:38)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 13:50:42  

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

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

Ну предположим, что говнопитонище уё$%&ое, для таких корифеев как Роб Пайк и Кен Томсон не то что не пример, а просто антипример. Даже Гнида Опоссум сам в своём говнопитоне, недавно путаться начал (несмотря на диктатуру синтаксиса фортрана-4).

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

Спалился питонщик :) ООП неймспейсами даже не начинается, не то-что не заканчивается. А наследование ? А инкапсуляция ?

Совсем другое дело когда язык безтиповый, - тогда нафиг всё ооп ненужно.

Да вместо goto для выхода из 3-х вложеных циклов всегда можно использовать нечто боллее удобоваримое: 1. удовлетворить условия завершения всех циклов разом 2. сгенерировать исключение. 3. воткнуть все вложеные циклы в отдельную функцию, и там где вам хочется вызвать goto просто вернуть управление и эвентуально значение :)

pazak (11.11.2009 15:11:25)
[#] Ответ на: Google представляет Go от faustus 11.11.2009 14:47:59  

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

> Автодополнение - одна из самых полезных фич современных IDE.

Для детей и индусов - очень даже может быть.

yk4ever * (11.11.2009 15:11:28)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 13:47:06  

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

>> Три вложенных цикла, где из внутреннего надо вывалиться совсем наружу

брэйк - завуалированный гоуту

kto_tama ***** (11.11.2009 15:12:08)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 15:10:38  

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

>> Нет, не пофигу. Они мешают.

сразу видно , откуда ноги растут

kto_tama ***** (11.11.2009 15:13:40)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 14:18:42  
burjui (фотография)

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

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

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

burjui (11.11.2009 15:14:34)
[#]  
zenith (фотография)

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

$ hg log | grep '^user:' | awk '{print $2" "$3}' | sort | uniq -c | sort -rn 
   1273 Russ Cox 
    933 Rob Pike 
    862 Robert Griesemer 
    418 Ken Thompson 
    132 Ian Lance 
    116 Kai Backman 
     98 Austin Clements 
     60 David Symonds 
     31 Adam Langley 
     13 Nigel Tao 
     ...

Старички халтурят :)

zenith ** (11.11.2009 15:19:26)
[#] Ответ на: Re: Google представляет Go от pazak 11.11.2009 15:11:25  

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

> Ну предположим, что говнопитонище уё$%&ое, для таких корифеев как Роб Пайк и Кен Томсон не то что не пример, а просто антипример.

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

> ООП неймспейсами даже не начинается, не то-что не заканчивается.

Класс - частный случай нэймспейса. Вы не знали?

> А наследование ?

Наследование - частный случай декларативной диспетчеризации. Вы не знали?

> А инкапсуляция ?

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

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

> Да вместо goto для выхода из 3-х вложеных циклов всегда можно использовать нечто боллее удобоваримое:

У вас странные понятия об удобоваримом.

yk4ever * (11.11.2009 15:20:04)
[#] Ответ на: Google представляет Go от kto_tama 11.11.2009 15:12:08  

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

> брэйк - завуалированный гоуту

Если брэйк с меткой - то гоуту не нужен. Если брэйк без метки - его недостаточно.

yk4ever * (11.11.2009 15:22:09)
[#] Ответ на: Re: Google представляет Go от burjui 11.11.2009 15:14:34  

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

> Автодополнение - полезная фича для тех, кто не любит опечатки и концентрируется на кодинге,

Опечатки хорошая иде поймает до компиляции и пометит красненьким. Там вы их и поправите. А автодополнение в большинстве случаев только мешает.

yk4ever * (11.11.2009 15:24:32)
[#] Ответ на: Re: Google представляет Go от burjui 11.11.2009 15:14:34  
Absurd (фотография)

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

>Автодополнение - полезная фича для тех, кто не любит опечатки и концентрируется на кодинге, а не набивке килобайтов текста.

В голом не-ООПшном Си автодополнение по TAG-сам обычно работает как часы. Прозреваю что в Go TAG-сы тоже будут работать как часы. В отличие от...

Absurd ** (11.11.2009 15:25:34)
[#] Ответ на: Google представляет Go от zenith 11.11.2009 15:19:26  

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

> Старички халтурят :)

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

yk4ever * (11.11.2009 15:26:07)
[#] Ответ на: Re: Google представляет Go от pazak 11.11.2009 15:11:25  
zenith (фотография)

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

Цитата

Да вместо goto для выхода из 3-х вложеных циклов всегда можно использовать нечто боллее удобоваримое

У функции должен быть один выход, иначе получается такая же лапша как и с goto.

zenith ** (11.11.2009 15:32:23)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 15:20:04  

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

> Класс - частный случай нэймспейса. Вы не знали?

феерический бред, если ты о плюсах

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

www_linux_org_ru ** (11.11.2009 15:32:27)
[#]  
k0l0b0k (фотография)

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

>В языке отсутствуют классы, исключения, метапрограммирование и ручное управление памятью, однако присутствуют указатели, сборщик мусора и goto

закапывайте

k0l0b0k ** (11.11.2009 15:32:59)
[#] Ответ на: Google представляет Go от zenith 11.11.2009 15:32:23  
KRoN73 (фотография)

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

>У функции должен быть один выход, иначе получается такая же лапша как и с goto.

Выбирая между множественными выходами и goto выбирать однозначно стоит первое :)

KRoN73 ***** (11.11.2009 15:34:37)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 15:20:04  

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

> Ну, предположим, Пайк не написал ни одного контуперного языка, а поделка Томсона давно уже почила в бозе.

Лучше не предполагайте. За Пайком как минимум соваторство в Alef, Limbo и Newsqueak. Вы не знали?

anonymous (11.11.2009 15:35:39)
[#]  
ferhiord (фотография)

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

По-моему первым туториалом должно быть:

package main 
 
import "fmt" 
 
func main() { 
  fmt.Printf("To dominate 世界\n") 
}

ferhiord * (11.11.2009 15:38:52)
[#] Ответ на: Re: Google представляет Go от pazak 11.11.2009 15:11:25  

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

> воткнуть все вложеные циклы в отдельную функцию, и там где вам хочется вызвать goto просто вернуть управление и эвентуально значение :)

Вообще, если по уму, то return тоже нужно запретить. А значения возвращать как в Матлабе.

faustus * (11.11.2009 15:42:33)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 15:11:28  

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

> Для детей и индусов - очень даже может быть.

Для всех программистов, кому не по барабану гладкий процесс работы.

faustus * (11.11.2009 15:44:38)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 15:20:04  

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

> Класс - частный случай нэймспейса. Вы не знали? > Инкапсуляция - частный случай модульности. Вы не знали?

Мы то знали, и знать будем и не только о "частных случаях" :)

>Наследование - частный случай декларативной диспетчеризации. Вы не знали?

Ну если для тебя наследование этим и заканчивается ...

>Короче, я вижу, что детских книжек вы кучу прочитали, а адекватное понимание концепций в голове не выстроилось. Так и повторяете попугайчиком заученные слова.

Мальчонка, я уже 18 лет в бизнесе :) Меня твоей голой задницей, даже элементарной аргументацией не прикрытой, совсем не напугать. Это ты тут про частные случае попугайничаешь.

>Ну, предположим, Пайк не написал ни одного контуперного языка, а поделка Томсона давно уже почила в бозе.

Говнопитонище, - прибежище недоумков. На питоне ни одной приличной массовой программы не написано до сих пор. Все что ты сейчас в пример приведёшь будет иметь ограниченый контингент пользователей. На "мёртвом"-же С, люди до сих пор продолжают писать приличные вещи.

Познакомся с теми на кого лаешь:

http://en.wikipedia.org/wiki/Rob_Pike

http://en.wikipedia.org/wiki/Ken_Thompson

pazak (11.11.2009 15:46:47)
[#] Ответ на: Google представляет Go от kto_tama 11.11.2009 15:12:08  

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

> брэйк - завуалированный гоуту

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

faustus * (11.11.2009 15:47:52)
[#] Ответ на: Google представляет Go от pazak 11.11.2009 15:46:47  
Absurd (фотография)

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

>http://en.wikipedia.org/wiki/Rob_Pike

>"Object-oriented design is the roman numerals of computing."

Зачот

Absurd ** (11.11.2009 15:49:28)
[#]  

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

> Rather than requiring the programmer to declare ahead of time that two types are related, in Go a type automatically satisfies any interface that specifies a subset of its methods.

мягко говоря небезопасно, в особенности учитывая

>We debated this issue but decided implementing len and friends as functions was fine in practice and didn't complicate questions about the interface (in the Go type sense) of basic types.

значит, стоит мне чуть слажать и не сделать метод функцией (как сделали они), так сразу получатся осложнения

______________________________________

их подход был бы вполне приемлем, если бы они ограничили множество интерфейсов, которые удовлетворяются (satisfies) неявно

www_linux_org_ru ** (11.11.2009 15:49:51)
[#]  

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

Зачитал. Интересно. Отсутствие исключений огорчает, хотя можно, конечно, по старинке, как в Си писать. Невозможность сделать комплексные типы ключами в map тоже огорчительна, мне бы нефиг не сдались генерики при наличии такой фичи. Библиотека в принципе достаточна для простых серверных приложений, но не хватает интерфейса типа DBI. Для десктопа не хватает интерфейса к Gtk/Qt. Потенциал у языка очень хороший.

P.S. Питонофилам -- БАЯЦЦА фигурных скобок :)

Casus ***** (11.11.2009 15:55:49)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 15:20:04  

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

> Наследование - частный случай декларативной диспетчеризации. Вы не знали?

Я не знаю, что такое "декларативная диспетчеризация", но наследование - это прежде всего полиморфизм, виртуальные функции. Это, в принципе, и есть главная фича ООП (вместе с lexical scope), все остальное малосущественно.

faustus * (11.11.2009 15:56:13)
[#] Ответ на: Google представляет Go от www_linux_org_ru 11.11.2009 15:32:27  

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

> феерический бред, если ты о плюсах

Нет, я не о плюсах, я о нэймспейсах. Нахрен мне сдались плюсы.

yk4ever * (11.11.2009 15:58:14)
[#] Ответ на: Re: Google представляет Go от anonymous 11.11.2009 15:35:39  

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

> За Пайком как минимум соваторство в Alef, Limbo и Newsqueak.

Ну я рад за него. И где они, эти языки?

yk4ever * (11.11.2009 15:58:50)
[#] Ответ на: Google представляет Go от fat_angel 11.11.2009 12:03:35  
Attila (фотография)

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

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

Страус головного мозга? Почему все недотёпы пинают goto, зло от которого за пределы одного файла не вылезет, а "добро" от перегруженых операторов не замечают в упор.

Attila (11.11.2009 15:59:04)
[#] Ответ на: Google представляет Go от Casus 11.11.2009 15:55:49  

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

> Невозможность сделать комплексные типы ключами в map тоже огорчительна, мне бы нефиг не сдались генерики при наличии такой фичи.

язык без дженериков обречен

www_linux_org_ru ** (11.11.2009 16:01:22)
[#] Ответ на: Google представляет Go от pazak 11.11.2009 15:46:47  

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

> Ну если для тебя наследование этим и заканчивается ...

Оно к этому сводится.

> Мальчонка, я уже 18 лет в бизнесе

Тем более печально, что у вас мышление на таком зачаточном уровне.

> На питоне ни одной приличной массовой программы не написано до сих пор.

Deluge. Mercurial. Youtube.

Первый краулер Гугла, кстати, работал на питоне.

> На "мёртвом"-же С,

Кто сказал что C мёртв?

yk4ever * (11.11.2009 16:02:09)
[#] Ответ на: Google представляет Go от yk4ever 11.11.2009 15:58:14  

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

> Нет, я не о плюсах, я о нэймспейсах. Нахрен мне сдались плюсы.

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

www_linux_org_ru ** (11.11.2009 16:03:38)
[#] Ответ на: Google представляет Go от fyrer 11.11.2009 10:41:20  
k0l0b0k (фотография)

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

>Предвкушаю реализацию от майкрософт [dot]G

ай да жжош :D в квотез

k0l0b0k ** (11.11.2009 16:03:40)
[#] Ответ на: Re: Google представляет Go от Absurd 11.11.2009 15:49:28  

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

> Зачот

Мне больше про юникс понравилось.

yk4ever * (11.11.2009 16:04:01)
[#] Ответ на: Google представляет Go от pazak 11.11.2009 15:46:47  

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

> Познакомся с теми на кого лаешь:

Я? Лаю? Это вы тут начали набрасываться на беднягу ван Россума :]

yk4ever * (11.11.2009 16:06:27)
[#] Ответ на: Google представляет Go от pazak 11.11.2009 15:46:47  

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

> Познакомся с теми на кого лаешь:

ты *неправильно* перевести обсуждение на личности, а не фич языка программирования -- грамотность "тех" должна быть, заслуги роли почти не играют, важным может быть только безграмотность оппонента

www_linux_org_ru ** (11.11.2009 16:08:29)
[#] Ответ на: Google представляет Go от Casus 11.11.2009 15:55:49  
Absurd (фотография)

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

>Невозможность сделать комплексные типы ключами в map тоже огорчительна, мне бы нефиг не сдались генерики при наличии такой фичи.

Указатель же можно сделать ключем, так что задачу сваливания каких-то identity в пачку без дубликатов такие хеши решают.

Absurd ** (11.11.2009 16:11:15)

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

Rambler's Top100 TopList