LINUX.ORG.RU

Первый стабильный релиз Go

 ,


0

3

Сегодня состоялся релиз Go 1 — первый стабильный релиз языка программирования Go. Разработчики заявляют, что программы работающие под Go 1 в большинстве случаев будут работать без изменения и в следующих версиях языка. Также теперь будут предоставляться официальные сборки компилятора для всех популярных платформ: Linux, Mac OS X, FreeBSD и Windows.

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

  • Новый тип для юникодных символов.
  • Новый тип для ошибок.
  • Простой синтаксис для удаления элемента из отображения (map).
  • Добавлен синтаксис для циклов по отображениям.
  • Добавлен синтаксис множественного присваивания.
  • Запрещен close для принимающих каналов.
  • Улучшен синтаксис композитных литералов.
  • Теперь можно использовать goroutines перед окончанием инициализации программы.
  • В функциях с именованной возвращаемой переменной нельзя использовать пустой return в случае, если возвращаемая переменная затенена локальной.
  • Изменения правил проверки равенства: добавлена возможность сравнения равенства массивов и структур, убрана возможность проверки равенства функциональных переменных и отображений (кроме сравнения с nil).
  • Полностью переработан модуль стандартной библиотеки time. Теперь он больше не привязан к unix epoch time и позволяет легко оперировать привычными единицами измерения, например, годами или часами. Также теперь различаются временные промежутки (durations) и абсолютные значения времени.

Также обновлен Google App Engine SDK для Go.

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

★★★★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 7)

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

As U wiш

скажи чем ты пользуюшся при кодинге PL/I в 2012 году

а чем пользовалься с той же целью в 2000-x? 1990-х? 1980-х? 1970-х? второй половине 1960-x?

а как отлаживаеш/лся в вышеобозначеные периоды?

я ровно ничего не знаю о PL/I

я знаю что на PL/I писать код имеет смысл при хорошем(и даже отличном) денежном возмещении.

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

Решили просто: D1 не меняется, D2 в разработке, когда он стабилизируется (чего судя по последним выпускам осталось ждать недолго), он будет неизменяем, поскольку станет содержать всё необходимое. Может быть, они будут делать D3, но никто об этом пока не думал.

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

конвертер кода D1 в код D2 самостоятельно? либо D1 собственное подмножество D2 ?

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

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

Objective-C

Эм, его можно использовать для чего-то отличного от разработки под маки/ипады? В смысле свободные иде, библиотеки там и тд...

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

но «передовое» - языки с развитыми системами типов и возможностями ФП.

Это языки, у которых повышенное ЧСВ программистов, на них пишущих, не позволяет решать прикладные задачи, посему эти языки нигде не используются?

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

конвертер кода D1 в код D2 самостоятельно? либо D1 собственное подмножество D2 ?

Да, конвертировать самостоятельно, часто можно увидеть ругань компилятора, что такое-то свойство устарело и не поддерживается и вместо него надо использовать иное, но если выпилили давно, может и просто посылать нафиг. Пока D2 считается нестабильным, при стабилизации обещают средства для более плавного перехода на новую стабильную ветку.

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

И откуда рекомендуется начать ознакомление с сиим языком(книги или ссылки)?

Что полезного из ПО на нем есть(для посмотреть)?

Какие ИДЕ используются для разработки?

Где глянуть на список популярных библиотек(чтоб понять, что под него уже есть)?

и все это конечно интересует исключительно не под макось)

F457 ★★★★
()
Ответ на: комментарий от A-234

Мне тоже бывает страшно подумать о некоторой потере контроля над ходом исполнения программы. Но ведь миримся же мы с «невидимым» вызовом деструкторов при выходе за пределы видимости (в C++).

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

Но я надеялся что они к первой версии допилят полноценную поддержку ARM и особенно Андроид.

У меня на арме отлично работает.

Насколько помню там небыло поддержки fpu, и возможности компилить динамические библиотеки в режиме для ARM. Без этого под андроед на нём писать нет смысла. Что-либо поменялось с тех пор (так было года полтора-два назад)

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

Haskell

А ты говорил нет)

F#, даже D2.

На них вообще пишут то? Ну кроме тестовых примеров для учебников?

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

Проблемы с утечками памяти вызваны недостаточной квалификацией программистов пишущих код. Я сторонник профессионального роста а не костылей помогающих недоучкам выдавать свои поделки за нечто годное. Все это сугубое ИМХО, разумеется.

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

сам как тюниш памяти-использование? всё в голове? или какой дисциплиной пользуешся при динамическом ?

свой gc не пишеш/используеш ясно по треду.

чё как указателями пользуешся? всё что язык[и] дают и всё? остальное силой мысли?

или есть всёж какие личные приёмы?

qulinxao ★★☆
()
Ответ на: комментарий от A-234

> Я сторонник профессионального роста а не костылей помогающих недоучкам выдавать свои поделки за нечто годное.

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

А на ЛОРе такие высказывания - это детский сад.

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

Если разобраться то мы и в С имеем различные atexit и иже с ними. А неявный вызов деструктора на самом деле происходит в строго определенных случаях и это, по сути, - синтаксический сахар.

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

Я сторонник профессионального роста а не костылей помогающих недоучкам выдавать свои поделки за нечто годное.

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

Begemoth ★★★★★
()
Ответ на: комментарий от A-234

Да он всё правильно тебе написал. Для программ на C с большим объёмом кода и сложной структурой, пишутся всякие велосипедные менеджеры памяти...

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

Scala

Посмотрел, что на ней пишут... А ты говорил нет)) Человек освоивший скалу не возьмется за 95% типичных задач. Потому что другой язык не сильно их упростит или сделает менее нудными, а платить больше, чем эти задачи стоят, никто не будет. Посему, человек вложивший труд в освоение сего языка, будет воротить нос от таких задач, что, собственно, и делает их на сегодняшний день чрезвычайно узконишевыми решениями.

F457 ★★★★
()
Ответ на: комментарий от A-234

ИМХО твой вброс все равно, что сказать «2+2=5». Я лично не вижу смысла на такое отвечать по существу. Но вон Бегемот внизу ответил, респект ему за труд просвещения юношей-максималистов :)

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

F#, даже D2.

Полагаю, как в случае с хаскелем и скалой, илита на них ваяет свои узкоспецифичные вещи.

А ты даже не понял, на что я ответил «нет».

Ну поясни тогда уж, дабы взаимопонимания достичь.

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

на 4 вопроса 4 поста

И откуда рекомендуется начать ознакомление с сиим языком(книги или ссылки)?

* Керниган&Ричи Язык программирования Си * The Art of the Metaobject Protocol * Cox Object Oriented Programming: An Evolutionary Approach

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

Не пользуюсь, может кто другой подскажет.

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

А ты даже не понял, на что я ответил «нет».

Ну поясни тогда уж

Ты просишь пояснить тебе твои же слова.

дабы взаимопонимания достичь.

Я тебя вполне понял и к взаимопониманию с тобой не стремлюсь.

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

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

quantum-troll ★★★★★
()
Ответ на: комментарий от F457

Эм, его можно использовать для чего-то отличного от разработки под маки/ипады? В смысле свободные иде, библиотеки там и тд...

Теоретически можно. GCC (или Clang) в руки и GNUstep на шею. Но смысла использовать Objective-C для чего-то отличного от Mac OS X и iOS нет, библиотеки слабые, а язык представляет собой наркоманскую смесь C и Smalltalk'а.

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

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

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

По существу, я так понимаю, возражений нет.

Какой смысл? Ты же настолько упоротый плюсоёб, что считаешь его верхом совершенства, похоже. Пример с указателями в Паскале это показывает.

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

Не видел ни одного примера грамотно составленой архитектуры в которой память бы текла и никто не мог с этим ничего сделать. В слярке ядро не течет, в линуксе вроде тоже. И ни в одном из них сборщика мусора нету, наоборот, встречаются довольно опасные конструкции. Например, в солярке, при написании модуля ядра вам придется при освобождении памяти еще сообщить сколько именно вы собрались освобождать. Халявы как с free не будет, облажаетесь - ядро унесется в страну вечной охоты. А вы мне тут про профессиональных прогеров рассказываете, что мол дескать у деток попка вспухла на каждый malloc свой free не забывать. Я сейчас расплачусь от умиленя.

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

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

Ты так говоришь, как будто это что-то хорошее. Нет, я конечно понимаю, что низкоуровневое программирование ЧСВ повышает, но утверждать, что это единственно правильный путь намекает на то, что человек видит опасность карьере со стороны менее професиональных как он считает людей.

Я сейчас расплачусь от умиленя.

Поплачь, может полегчает.

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

Ты просишь пояснить тебе твои же слова.

У тебя какие-то проблемы с пониманием и логикой)) «А ты даже не понял, на что я ответил „нет“.» Я как раз и прошу объяснить на что ты ответил «нет».

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