LINUX.ORG.RU

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

 , , ,


0

0

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

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

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

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

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

★★★

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

Ответ на: комментарий от KblCb

> Помилуйте, причём тут образование? Этом скорее способствует сытость и лень, столь свойственные западному программисту. А рассматриваемому нами сыну касты ремесленников некогда рассматривать свой код с художественной точки зрения: ему кушать хочется и семью кормить надо.

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

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от faustus

faustus

Почему не ФП? Там ещё цельнее и логичнее.

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

KblCb ★★★★★
()
Ответ на: комментарий от KblCb

да-да - все кулпроггеры тащатся от ФП и сруспамят им где только могут, а заодно очень тщательно скрывают все то, что пишут с его использованием

lester ★★★★
()
Ответ на: комментарий от Puzan

1) Рассмотрим класс грибов и образец Puzan

2) Все грибы дышат (потребляют кислород, выделяют углекислый газ)

3) Пусть А - класс грибов, N1 - образец Puzan, N2 - образец мухомор

> Исходя из определения, образец N1 класса A может не обладать всеми свойствами образца N2 класса А.

4) наблюдаем, что образец N1 класса не обладает всеми свойствами образца N2 класса A (Puzan не растёт в лесу)

> Таким образом, если класс А - это совокупность свойств всех образцов, входящих в этот класс (т.е. N1+N2+...+Nn), то N1 (или N2 или Nn) может НЕ обладать ВСЕМИ свойствами класса А.

5) N1 не обладает всеми свойствами класса A == Puzan не обладает всеми свойствами класса грибов

6) Но тем не менее, он гриб :)

Ч.Т.Д.

unC0Rr ★★★★★
()
Ответ на: комментарий от unC0Rr

2.5) Puzan и мухомор дышат - имеют общие свойства

unC0Rr ★★★★★
()
Ответ на: комментарий от Puzan

> По другому: свойства Nn есть подмножество свойств класса А.

Значит элемент Nn не входит в класс A. Если бы входил - обладал бы всеми его свойствами.

> Таким образом, если класс А - это совокупность свойств всех образцов, входящих в этот класс

Класс обладает не объединением, а пересечением свойств всех его элементов.

А вы - двоечник.

yk4ever
()
Ответ на: комментарий от Puzan

> т.е. A = N1 + N2, т.е. A * N1 = N1, A * N2 = N2,

A = N1*N2, A*N1 = A, A*N2 = A

А вы - двоечник.

yk4ever
()
Ответ на: комментарий от www_linux_org_ru

www_linux_org_ru

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

Упсс... Ошибочно приравнял их к московским наркоманам-дотнетчикам... С другой стороны в Индии семьи больше.

KblCb ★★★★★
()
Ответ на: комментарий от kristall

>>Если А - частный случай Б, то А обладает ВСЕМИ свойствами Б. Понятно?

Вернее является подмножеством Б. Не?

anonymous
()
Ответ на: комментарий от anonymous

> Класс подразумевает интерфейс, инкапсуляцию и наследование. отсюда и растут те самые 3 слова,

Ну вот видите, вы уже в своих Волшебных Словах путаетесь. Следующий!

> Дактайпинг - это, по вашему, не полиморфизм? Это не полиморфизм. Это типизация. Но заодно открывает возможность к полиморфизму.

Дактайпинг - это именно полиморфизм. А типизация называется "динамическая". Читайте определения. Следующий!

> Когда есть интерфейсы - наследование не нужно. Это неверно. Что, если нужно общее поведение у нескольких типов?

Реализуете интерфейс всеми типами. Читайте определение интерфейса. Почему вы ещё здесь?! Следующий!

yk4ever
()
Ответ на: комментарий от lester

lester

да-да - все кулпроггеры тащатся от ФП и сруспамят им где только могут, а заодно очень тщательно скрывают все то, что пишут с его использованием

Неужели кто-то здесь ещё думает что новые языки придумывают для того чтобы писать на них программы?

KblCb ★★★★★
()
Ответ на: комментарий от KblCb

> Что есть дактайпинг?

Вы не регламентируете ограничение на передаваемый вам аргумент. Вы получаете в качестве аргумента объект и пробуете с ним творить всякое разное (например, говорите ему "дай элемент номер три", "скажи свою длину"). Если объект на ваши требования реагирует адекватно (т.е. реально отдаёт какой-то элемент и целочисленную длину, т.е. ведёт себя как массив) - значит он для ваших целей подходит и его можно считать массивом.

Короче, примерно то же, что и динамическая типизация.

yk4ever
()
Ответ на: комментарий от yk4ever

> Класс подразумевает...

О это волшебное слово! Никто толком и не понимает сущности, но вдолбленное во времена юности священное благоговение приводит к дикому фанатизму. Человеки, опомнитесь, кроме класса в понимании СРР есть еще куча простых и понятных форм организации!

anonymous
()
Ответ на: комментарий от KblCb

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

Я кагбе читал интервью с разрабами Хаскелля и они с вами несогласны. Их опыт показывает, что профессиональные программисты-императивщики схватывают ФП куда быстрее полных нубов.

yk4ever
()
Ответ на: комментарий от KblCb

> С другой стороны в Индии семьи больше.

Один знакомый индус недавно женился. Грит "у нас свадьба была очень скромная, по-семейному, всего триста человек". Мы спрашиваем - а обычно как? Он: ну тыщи две в среднем.

yk4ever
()
Ответ на: комментарий от Karapuz

> ЛОР снова торт

Угу. Я чё-та напрягся в последнее время, игнор меньше скора растёт. Но, кажись, скоро всё войдёт в норму.

yk4ever
()
Ответ на: комментарий от Puzan

>Подсказка: все свойства Nn принадлежат классу А, но это не все свойства, которые есть у класса А. По другому: свойства Nn есть подмножество свойств класса А.

Для детишек из децкого сада объясняю:
Дорогие ребятки есть такой класс "Хищники";
К этому классу относятся подклассы "Кошечки" и "Собачечки";
А теперь, дорогие мои дитишечки, мы заведем себе два объектика "Шарик" класса "Собачечки" и "Гав" класса "Кошечки";
А теперь, дитишечки, скажите мне, что-же общего у "Шарика" и "Гав"?
Правильно! Вкусная, превкусная котлета, которую "Гав" надёжно спрятал.

Attila ★★
()
Ответ на: комментарий от Sanitar

> Этож PHP!

Пальцем в небо. В пыхе массивы не динамические, а гибридные; вместо gc рам рефкаунт; системы модулей там нет.

yk4ever
()
Ответ на: комментарий от pazak

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

EVE online. в гугле наберите

stave ★★★★★
()
Ответ на: комментарий от anonymous

Да нет же. Тогда А не обладает всеми свойствами, да и не понятно о каких собственно свойствах идет речь. Скорее всего он имел ввиду, что Б есть класс, а А есть его конкретный представитель. Или еще лучше, Б категория, cкажем моноид, и натуральные числа с операцией сложения, как его представители -это А (например).

kristall ★★
()
Ответ на: комментарий от RedPossum

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

Ruby наоборот? :)

jackill ★★★★★
()

Как же они надоели новыми языками...

anonymous
()
Ответ на: комментарий от Casus

Как я помню, самую высокую скорость компиляции дает Паскаль, нет?

eugine_kosenko ★★★
()
Ответ на: комментарий от Git

thanks за линк, с удовольствием посмотрел. конфетка и в самом деле очень даже вкусная получилась. много новых, смелых и интерессных идей. праотцы во всей красе, так сказать — язык получился чистым, выразительным м мощным. вполне может стать адекватным преемником C и недоростков с переростками вроде C++, D и Java. впервые задумался на тем, чтоб слезть с C и поучить что-то новое. что ж будим портировать под опенёк.

beastie ★★★★★
()
Ответ на: комментарий от yk4ever

> Бряки и ретурны не существуют в принципе

И то и другое есть в Хаскеле :-)

eugine_kosenko ★★★
()

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

amix ★★★
()
Ответ на: комментарий от kamre

Ха, прикольно, а я знаю этого Фрэнка. Он у нас со стороны заказчика. :)

WFrag ★★★★
()
Ответ на: комментарий от KblCb

>Неужели кто-то здесь ещё думает что новые языки придумывают для того чтобы писать на них программы?

А что, есть другие задачи ? :) LOL

Вот читаю тред, и думаю, а смотрели ли вообще выступление Пайка ?

Задачи стоящие перед Go ? Для чего вообще создавался Go ?

robot12 ★★★★★
()

Что бы понять Go лучше, советую почитать про Alef и Limbo.

Первый правда давно помер, но можно и оживит. Второй чувствует себя вполне так живым :)

robot12 ★★★★★
()
Ответ на: комментарий от wfrr

>хентайщик?

угу. а лучший хентай - Tonari no Totoro. как хентайщик хентайщику советую. а "В джунглях всё было хорошо, пока не пришла Гуу" - так себе.

tommy ★★★★★
()
Ответ на: комментарий от faustus

> А я считаю - необходимо заставлять народ писать цельные, логичные программы. А не абы как, по пути наименьшего сопротивления - тут break, там return, свитчи еще суют везде.

"Если Вы такие умные, что ж Вы строем не ходите ?" - так что-ли ?

Darkman ★★★
()
Ответ на: комментарий от yk4ever

> Её нигде нет, кроме Scheme. Больше она нигде не прижилась из-за своей злобности.

Это continuations-то нигде нет ?! Смаллталкерам это расскажите, ага. То-то они seaside который год пилят. Плюс на CL их Грехем реализовывал.

Darkman ★★★
()
Ответ на: комментарий от zenith

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

Что-то? А можешь обосновать?

anonymous
()
Ответ на: комментарий от Darkman

> Это continuations-то нигде нет ?! Смаллталкерам это расскажите, ага. То-то они seaside который год пилят. Плюс на CL их Грехем реализовывал.

Ну флаг им всем в руки. На мой взгляд - тот же return, только более зловещий. Профита не видно.

yk4ever
()
Ответ на: комментарий от anonymous

>>Если А - частный случай Б, то А обладает ВСЕМИ свойствами Б. Понятно?

>Вернее является подмножеством Б. Не?

Б при этом - подмножество свойств, которыми обладает А. Вообще, тчо за чушь тут народ порет с А и Б? Класс - ни разу не множество объектов, класс - множество приналежащих объекту свойств.

arkhnchul ★★★
()
Ответ на: комментарий от yk4ever

> На мой взгляд - тот же return, только более зловещий. Профита не видно.

> тот же return

OMG ! А то что там состояние сохраняется - это так - мелочи. Да ?

> Профита не видно.

Really ?

Darkman ★★★
()
Ответ на: комментарий от beastie

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

+1

> выразительным м мощным. вполне может стать адекватным преемником C

Ну я думаю они над самим языком ещё поработают, - есть над чем. Пока ещё трудно сказать насколько "адекватной" будет замена.

pazak
()
Ответ на: комментарий от pazak

> Ну я думаю они над самим языком ещё поработают, - есть над чем. Пока ещё трудно сказать насколько "адекватной" будет замена.

Не будет она "адекватной". В первую очередь из-за GC. Си много где в риалтайме используется - какой там к чёрту GC.

Darkman ★★★
()
Ответ на: комментарий от Darkman

> какой там к чёрту GC.

Инкрементальный. Или ты можешь контролировать скорость выполнения free(void*) ?

Casus ★★★★★
()
Ответ на: комментарий от Casus

> Или ты можешь контролировать скорость выполнения free(void*) ?

Наш системщик пришибёт мгновенно, если увидит динамическое выделение памяти в риалтайм-приложении. Максимум пулы, а там освобождение блока константно по времени.

Darkman ★★★
()
Ответ на: комментарий от Darkman

s/константно/не выше заданного порогового значения/

Darkman ★★★
()
Ответ на: комментарий от yk4ever

>Ну вот видите, вы уже в своих Волшебных Словах путаетесь. Следующий!

Какой же ты толстый, я уже замучился протирать от жЫра монитор!

>Дактайпинг - это именно полиморфизм. А типизация называется "динамическая". Читайте определения. Следующий!

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

>Реализуете интерфейс всеми типами. Читайте определение интерфейса. Почему вы ещё здесь?! Следующий!

facepalm.cpp Давай ка заменим слово "наследование" на subclassing, может тогда ты осилишь понять, что реализация интерфейса это не сабклассинг. Сабклассинг это сохранения данных и/или поведения.

И перестань хамить, неуч.

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