LINUX.ORG.RU

Компилятор языка Go больше не использует Си для сборки

 , ,


2

5

Разработчики официального компилятора языка программирования Go объявили об окончательном отказе от использования дополнительного компилятора языка Си при сборке и компиляции проекта. Теперь проект полностью переписан на Go с использованием небольшого количества ассемблера.

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

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

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

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

Соглашусь с предыдушим оратором. А если тонкая душевная организация заставляет считать это неприемлемым, иди в художники. Будешь говорить: «Я - художник, я так вижу».

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

fxd

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

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

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

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

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

h4tr3d ★★★★★ ()
Последнее исправление: h4tr3d (всего исправлений: 1)

поматросил побутстрапил и бросил

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

Засчитано.

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

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

Засчитано

что именно?

Иначе в коде разброд и шатания.

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

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

Разброд и шатание начинаются когда у команды или проекта нет согласованного стиля стиля оформления.

То есть регулярно. Плохо уже то, что есть возможность подобного. Это заставляет тратить время на срачи по поводу стиля кода в новых команде/проекте. И тратить время на объяснение этого каждому новому члену команды.

В остальных случаях indent спасет отца русской демократии.

Он поддерживает все ЯП? Кроме того неудобно при правке чужого кода.

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

feofan ★★★★★ ()
Последнее исправление: feofan (всего исправлений: 2)
Ответ на: комментарий от feofan

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

форматтеры придумали не завтра. впиливать один из стилей в компилятор - удодская идея.

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

Для go форматтер тоже есть - gofmt. Но если почитаешь дальше, я развернул мысль, почему именно так считаю.

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

А какой там конкретно единый стиль - не суть важно.

if
{ ... } else
{ ....}
elif { 
.... }
Deleted ()
Ответ на: комментарий от feofan

Для go форматтер тоже есть - gofmt

в нём можно отходить от стандарта компилятора?))

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

ты оправдываешь костыли.

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

эта каша - новый стандарт компилера. стиснув зубы иди кодируй)

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

Почитай «Совершенный код». Там написано, почему умные люди такой стиль никогда не выберут. Основная идея - борьба со сложностью. Язык go эту идею в полной мере реализует.

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

быстрофикс

Основная идея - скакать галопом

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

Deleted ()
Ответ на: fxd от msgascii

что у каждого человека свое видение удобного

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

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

несомненно, но тут речь шла об ограничениях самого компилятора.

оно мешает применять различные стили форматирования кода.

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

У компилятора си тоже есть ограничения. Нельзя использовать стиль без ; Кое-кто говорил про костыли? Разве нельзя считать ; костылем для разделения инструкций? :)

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

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

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

Там через rpython, который является подмножеством питона.

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

Там через rpython, который является подмножеством питона.

Который транслируется в Си, а уже Си - в машинный код.

proud_anon ★★★★★ ()

Отлично. Побольше бы нативных библиотек под Go.

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

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

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

Если го такой же шит как петон, то ему дорога туда же.

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

Костыль у тебя вместо мозгов, если их хватает на то что бы писать такие посты.

anonymous ()

Переписали рантайм и компилятор на Go. Вот что бабло животворящее делает. Да... Хаскелистам такое,увы, не грозит.

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

PyPy.

Так ведь там через Си.

Неважно, какой целевой язык - Си или ассемблер.

tailgunner ★★★★★ ()

Чтобы поставить Go, нужно его собрать. Чтобы собрать Go нужно его поставить.

Feonis ★★ ()

Среди причин указывается...

Зачем что-либо оправдывать?? Догфудинг же! Если это «универсальный» язык, напиши себя на нём же! :) Всё правильно сделали. Осталось узнать, насколько УДОБЕН этот новичок для компиляторных затей - иметь в языке указатели - далеко не самое важное!

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

gcc обычно уже идёт в базовой системе. В той же stage3, например. А вот go придётся где-то скачивать в бинарном виде.

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

ghc(компилятор хаскелля) тоже требует ghc для сборки в Gentoo. И ничего - качаем готовый бинарный образ ебилдом и собираем.

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

иметь в языке указатели - далеко не самое важное!

либо я не распознал сарказм, либо ты никогда не писал на pl/sql

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

gofmt это просто утилита которая идёт в поставке с компилятором. Никто тебя не заставляет писать в этом стиле. Можешь написать chinafmt, который будет форматировать как тебе угодно. Компилятору пофиг.

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

Гентупроблемы. В других дистрибутивах go есть в репах собранный.

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

В конце концов, gccgo никто не выпиливал. Так что можешь собрать с помощью него.

feofan ★★★★★ ()
Последнее исправление: feofan (всего исправлений: 1)

неужели все разработчики компиляторов и IDE уже в Штатах, либо Европе? ищу такого разработчика..

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