OberonCore
https://forum.oberoncore.ru/

Системный язык Go от Google
https://forum.oberoncore.ru/viewtopic.php?f=26&t=2036
Страница 1 из 6

Автор:  Alexey Veselovsky [ Среда, 11 Ноябрь, 2009 10:40 ]
Заголовок сообщения:  Системный язык Go от Google

http://www.linux.org.ru/view-message.js ... 7924590045
http://golang.org/

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

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

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

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

Автор:  Илья Ермаков [ Среда, 11 Ноябрь, 2009 10:54 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Спасибо за ссылку.

Вот эта штука занятная, очень занятная :)
По области задач, на которую нацелен; по способу решения (без "перезадирания" уровня языка); и по некоторым деталям.

Для тех, кто в курсе этой области :)

Автор:  Geniepro [ Четверг, 12 Ноябрь, 2009 09:53 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Один комментарий в RSDN посмешил:
Цитата:
F> PS: Почитал в группах — авторы не видят необходимости в поддержке Виндовс.
ну, аминь!
бросьте каждый по горсти земли и можно расходиться.

Автор:  Alexey Veselovsky [ Четверг, 12 Ноябрь, 2009 09:58 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Зато авторы не поленились отписаться в мэйллист Haiku-OS с анонсом этого языка, и с вопросом, не хочет ли кто портировать это дело под Haiku ;-)

Автор:  Илья Ермаков [ Четверг, 12 Ноябрь, 2009 13:23 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Кстати, насколько я понимаю, ориентирован Go на native-кодогенерацию.

Автор:  Geniepro [ Четверг, 12 Ноябрь, 2009 13:52 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Alexey Veselovsky писал(а):
Зато авторы не поленились отписаться в мэйллист Haiku-OS с анонсом этого языка, и с вопросом, не хочет ли кто портировать это дело под Haiku ;-)

Ну это обязательно -- раз гугл развивает Haiku, то и этот гугловский язык должен быть в Haiku... :wink:

Автор:  Alexey Veselovsky [ Четверг, 12 Ноябрь, 2009 14:14 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Geniepro писал(а):
Alexey Veselovsky писал(а):
Зато авторы не поленились отписаться в мэйллист Haiku-OS с анонсом этого языка, и с вопросом, не хочет ли кто портировать это дело под Haiku ;-)

Ну это обязательно -- раз гугл развивает Haiku, то и этот гугловский язык должен быть в Haiku... :wink:


Haiku не является проектом Google как бы. И развивают они haiku не более чем скажем gcc.

Автор:  Geniepro [ Четверг, 12 Ноябрь, 2009 14:44 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Google Allocates Six Students for Haiku in Summer of Code 2009!

Автор:  Димыч [ Четверг, 12 Ноябрь, 2009 15:05 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Geniepro писал(а):
Это не доказывает, что Google развивает Haiku. 6 из почти тысячи - это... немного.

Автор:  Сергей Губанов [ Четверг, 12 Ноябрь, 2009 15:07 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Очередной язык с птичьими обозначениями и идиомами. Глаза сломать можно.

Автор:  Сергей Оборотов [ Пятница, 13 Ноябрь, 2009 01:31 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Цитата:
F> PS: Почитал в группах — авторы не видят необходимости в поддержке Виндовс.
ну, аминь!
Дело предлагаете. Так и поступим.

Автор:  Geniepro [ Пятница, 13 Ноябрь, 2009 07:59 ]
Заголовок сообщения:  Re: Системный язык Go от Google

http://golang.org/doc/go_lang_faq.html#ancestors
Цитата:
What are Go's ancestors?

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). However, it is a new language across the board. In every respect the language was designed by thinking about what programmers do and how to make programming, at least the kind of programming we do, more effective, which means more fun.

Автор:  Geniepro [ Пятница, 13 Ноябрь, 2009 13:04 ]
Заголовок сообщения:  Re: Системный язык Go от Google

http://golang.org/src/pkg/http/server.go
Код:
// Create new connection from rwc.
func newConn(rwc net.Conn, handler Handler) (c *Conn, err os.Error) {
    c = new(Conn);
    if a := rwc.RemoteAddr(); a != nil {
        c.RemoteAddr = a.String()
    }
    c.handler = handler;
    c.rwc = rwc;
    br := bufio.NewReader(rwc);
    bw := bufio.NewWriter(rwc);
    c.buf = bufio.NewReadWriter(br, bw);
    return c, nil;
}
Казалось бы гугловцы -- серьёзные люди, а такую херню придумывают раз за разом. Ну что это за присваивание внутри условия if? Зачем тащить из сей такое дерьмище?
Код:
    if a := rwc.RemoteAddr(); a != nil {
        c.RemoteAddr = a.String()
    }

Автор:  Илья Ермаков [ Пятница, 13 Ноябрь, 2009 13:10 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Заскорузлые привычки. Зафиксированные в связях мозга :)

Автор:  Валерий Лаптев [ Пятница, 13 Ноябрь, 2009 13:57 ]
Заголовок сообщения:  Re: Системный язык Go от Google

ИМХО причины те же, что и для введения операции запятая, или условная операция в С.
Язык рассчитан на очень опытных программеров.
И в данном конкретном случае похоже на условную операцию.

Автор:  Илья Ермаков [ Пятница, 13 Ноябрь, 2009 15:47 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Очень опытный программист либо будет чураться как огня таких фишек...
Либо любить их исключительно в силу субъективных факторов.

Автор:  albobin [ Пятница, 13 Ноябрь, 2009 22:02 ]
Заголовок сообщения:  Re: Системный язык Go от Google

if a := rwc.RemoteAddr(); a != nil {
c.RemoteAddr = a.String()
}

2 цитатs из описания языка:
1.
Short variable declarations may appear only inside functions.
In some contexts such as the initializers for if, for, or switch statements, they can be used to declare local temporary variables.
2. Each if, for, and switch statement is considered to be in its own implicit block.

a - LOCAL(в пределах if) TEMPORARY VARIABLE

Что здесь плохого?

Автор:  Info21 [ Суббота, 14 Ноябрь, 2009 02:25 ]
Заголовок сообщения:  Re: Системный язык Go от Google

albobin писал(а):
if a := rwc.RemoteAddr(); a != nil {
c.RemoteAddr = a.String()
Что здесь плохого?
А что хорошего в таком трюкаческом запутывании синтаксиса? Обосновывать нужно усложнение.

Автор:  Валерий Лаптев [ Суббота, 14 Ноябрь, 2009 07:38 ]
Заголовок сообщения:  Re: Системный язык Go от Google

Илья Ермаков писал(а):
Очень опытный программист либо будет чураться как огня таких фишек...
Либо любить их исключительно в силу субъективных факторов.

Ну, видимо, Ричи (или кому-то там из их компании) нравилось... :)

Автор:  Axcel [ Суббота, 14 Ноябрь, 2009 11:27 ]
Заголовок сообщения:  Re: Системный язык Go от Google

В Алголе-68 такие вещи описывались примерно следующим образом: программа (модуль) состоит из элементов (основ), каждая основа выдает значение (void тоже значение). Значение последней основы является значением выражения. В принципе все вроде просто ...

Страница 1 из 6 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/