URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 63340
[ Назад ]

Исходное сообщение
"В состав GCC одобрено включение фронтэнда для языка Go"

Отправлено opennews , 27-Янв-10 21:34 
Разработчики проекта GCC объявили (http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html) о принятии решения по включению в число поставляемых в составе GCC компиляторов фронтэнда "gccgo" для нового языка программирования Go (http://golang.org/), разработанного в недрах компании Google. Новый фронтэнд имеет шанс войти в состав релиза GCC 4.5 (http://gcc.gnu.org/gcc-4.5/). Обзор языка Go можно найти в тексте первоначального анонса (http://www.opennet.me/opennews/art.shtml?num=24209).

URL: http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html
Новость: http://www.opennet.me/opennews/art.shtml?num=25186


Содержание

Сообщения в этом обсуждении
"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Аноним , 27-Янв-10 21:34 
Благословили значит, ну что ж, Аллах им судья

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено fr0ster , 28-Янв-10 12:25 
>Благословили значит, ну что ж, Аллах им судья

Главное чтоб не "гроб сходя"


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено аноним , 27-Янв-10 21:52 
Вот это правильный подход для новых языков - включение в стандартный набор компиляторов. Остальное, со своими кривыми фронтэндами, поддерживающими только какой-нибудь gcc3.3, или, еще хуже реализацией под какую-нибудь JVM, обречено на смерть.

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено аноним , 27-Янв-10 22:02 
так и не изменили имя?
конечно, гугол большой, ему всё можно.

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Ariel , 27-Янв-10 22:15 
Objective-C 2.0 они вообще будут поддерживать, неужели так сложно эппловские патчи наложить?

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Аноним , 27-Янв-10 22:32 
есть мнение, что лицензия не позволяет...

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Ariel , 27-Янв-10 22:49 
лицензия у Darwin GCC 4.2 ничем не отличается от обычного GCC 4.2

и что значит "есть мнение"? исходники открыты, скачайте и смотрите


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено anonymous , 27-Янв-10 22:32 
>неужели так сложно эппловские патчи наложить?

Вообще-то да. Потому что Эппл сознательно ставит палки в колёса сторонним реализациям.


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено User294 , 27-Янв-10 23:59 
И в конечном итоге как и MS нагреет сам себя :)

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Аноним , 27-Янв-10 22:21 
Растет комбайн

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Аноним , 27-Янв-10 22:28 
не надо Go, надо D

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено аноним , 27-Янв-10 22:39 
>не надо Go, надо D

D умер.


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Anonymousapiens , 27-Янв-10 22:59 
Он не умер. Просто он так пахнет.

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено be_nt_all , 27-Янв-10 23:38 
>Он не умер. Просто он так пахнет.

Да не как он не пахнет. Просто в проект пришёл Александреску, и под его дудочку всё переделали. D 2.0 называется. Как только выйдет книга Александреску, рекламная компания нового D начнётся всерьёз.

А Go и D - это не конкуренты. Go - это замена языка Сyclone (http://cyclone.thelanguage.org/), т.е. не объектно-ориентированный системный новый _С_ (без плюсов).

Ну а циклон и вправду умер.



"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено User294 , 28-Янв-10 00:01 
C без арифметики указателей и с GC и с проверками - нечто типа птицы без крыльев. Ни вам предсказуемости, ни вам скорости. По такой же логике хирургу надо дать бензопилу, сказав что теперь вы сможете разделывать мясо намного быстрее и удобнее, что даже будет частично правдой :)

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено pavlinux , 28-Янв-10 03:23 
Вместо С указателей можно придумать чё нить повеселее...


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено User294 , 28-Янв-10 05:55 
Павлин, вот смотри, на сях можно заранее выделить память, заранее ее всю занять и быть уверенным что она не кончится даже если системе будет туго. И быть уверенным что никакой GC не тормознет тебя на фиг знает сколько когда ему мусор припрет собрать. В итоге - поведение процесса получается достаточно предсказуемо. И скажем можно написать монитор состояния других процессов который не умрет тихой смертью когда в системе наступит задница и сможет принять кой-какие меры, например. Вот это да, системная тулза. Способная генерячить предсказуемые системные утилсы и т.п..

И никакие тупые проверки на вшивость (ака защита от програмеров-дебилов) не просадят тебе тугой цикл. При том что заранее провалидировать входные данные можно во многих случаях и потому совсем не обязательно будет в цикле лупить все проверки границ и типов, просрав в скорости в те самые 3 раза, т.к. проверок в итоге окажется в этом месте в 3 раза больше чем остального полезного кода, мля (ну вон у явы и дотнета - оказывается же, а у остальных почему не окажется? Чудес не бывает - если есть рантайм проверки, есть время профуканое на них).


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено аноним , 28-Янв-10 07:38 
>на сях можно заранее выделить память, заранее ее всю занять и

...забыть освободить (что встречается сплошь и рядом)

>И быть уверенным что никакой GC не тормознет тебя на фиг знает сколько
>когда ему мусор припрет собрать.
>В итоге - поведение процесса получается достаточно предсказуемо.

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

>потому совсем не обязательно будет в цикле лупить все проверки границ и типов,
>просрав в скорости в те самые 3 раза

какие такие "те самые", хотелось бы знать

>Чудес не бывает - если есть рантайм проверки

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


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено User294 , 28-Янв-10 14:45 
>...забыть освободить (что встречается сплошь и рядом)

А, типа, GC снабжен AI и лучше програмера знает когда и что уже не нужно? Хрен там, если програмер не освободит поюзанное - оно так и будет до усера в памяти висеть. Вот только обнаружить из-за GC утечку памяти намного сложнее. В прогах без GC это тупо видно невооруженным глазом. В прогах с GC - видим, память - жрется. Ой, фигня, наверное GC потом почистит. Через полдня: "ой, а что-то не чистит", "ой, сейчас память в системе кончится", "бум...". В чем разница? Да в том что просрали лишние полдня на понимание того что течет и вообще так можно заметить только крутые утечки памяти. А на не очень злые все могут годами класть болт. Что и наблюдается. Идиоты не умеющие управлять памятью очень любят рассказывать как им автоматически подтирают зад. По факту же они просто ходят с грязным задом кой-как привыкнув к запаху. Ну, течет и течет, заказчик и так схавает, оперативки побольше набьет, etc. И, заметьте, это впечатление - оно после тестирования ряда реально существующего барахла на дотнете и яве, а не просто так пиндеж в чистом поле. Текут managed языки. Как пить дать. Чуть иначе, но результат совершенно одинаковый.Просто подыхает дольше и мучительнее.

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

Понимаете, если некий процесс занял память и поюзал ее - отобрать ее уже нельзя. Можно только обломить попытки выделения памяти тех кто пытается это сделать. А нет попыток выделения (потому что заранее уже выделено все) - ну и обламывать нечего как бы. Это как с гуманитарной помощью: вы можете рулить кому и сколько ее дать при ее раздаче. Но если абориген уже ее уволок и сожрал - вы уже нихрена изменить не сможете.Ну не будете же вы из его кишков обратно выколупывать?! Ну вот и ось не будет отбирать уже выданную память. Она может только завернуть новые выделения (по факту в системах типа линуха чуть сложнее, ну да не суть).

>какие такие "те самые", хотелось бы знать

Которые видно например в одной и той же либе quicklz.org когда вместо сей юзается жава или дотнет. Ну скисает оно в 3 раза свои на интенсивных операциях. И не может не скисать.

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

Да, разумеется, потому что включать мозг дотнетчики и жабисты не любят. Ну вон уделайте на яве или дотнете или чем там еще с рантайм проверками и GCами скорость декомпрессии в quicklz'шной либе в ее севой инкарнации например - тогда и поговорим, господин жеватель [соплей].


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Damon , 28-Янв-10 20:53 
> А нет попыток выделения (потому что заранее уже выделено все) - ну и обламывать нечего как бы. Это как с гуманитарной помощью: вы можете рулить кому и сколько ее дать при ее раздаче. Но если абориген уже ее уволок и сожрал - вы уже нихрена изменить не сможете.

В современных ОСях на ДЕСКТОПЕ виртуальное адресное пространство КАЖДОГО приложения составляет порядка 3 гигабайт (x86, без -64), на сервере несколько меньше, но не суть. Т.е., каждое приложение может потребовать от ОСи выделить ему на 3 ГБ страниц памяти. Оператива более ограниченный ресурс, по этому как только она закончиться, страницы памяти начнут выделяться из свопа.

> Ну вот и ось не будет отбирать уже выданную память. Она может только завернуть новые выделения...

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


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Чорная дипрессия 666 , 29-Янв-10 15:11 
> А, типа, GC снабжен AI и лучше програмера знает когда и что уже не нужно?

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


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Одмин , 28-Янв-10 10:31 
> не умрет тихой смертью когда в системе наступит задница

ещё как умрёт от oom-killer.


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено User294 , 28-Янв-10 14:49 
>ещё как умрёт от oom-killer.

oom-killer имеет тенденцию стрелять тех кто много памяти жрет, прежде всего. И, кроме того, только идиот воспринимает его как русскую рулетку. А для системщика это - вполне себе предсказуемый инструмент. Он, как бы, настраивается и его вполне можно обучить прибивать некритичные процессы первым делом а критичные - только когда ну совсем никаких вариантов не осталось.


"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено x0r , 28-Янв-10 21:36 
а ссылочку по настройке можно?

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Аноним , 28-Янв-10 00:39 
у Go неплохая объектная модель. Но до D ему раком до Киева, честно. Но пиар делает свое дело.

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено gegMOPO4 , 28-Янв-10 00:54 
И в каком оно состоянии? Вроде бы с gccgo серьёзные проблемы были.

"В состав GCC одобрено включение фронтэнда для языка Go"
Отправлено Аноним , 28-Янв-10 10:23 
Без шансов (в 4,5 по крайней мере).
http://gcc.gnu.org/ml/gcc/2010-01/msg00504.html
> I'm not personally proposing Go for 4.5, as it has some middle-end
> patches which would add new features (basically, -fsplit-stack) and
> would need review.

те Нужно еще рассмотреть изменения в самом GCC, а это долго.
ps Ian Lance Taylor - мэинтейнер языка Go в GCC.