LINUX.ORG.RU

Вышел Go 1.5

 


0

6

19 августа 2015 года вышел шестой стабильный релиз языка Go.

Основные изменения:

  • Компилятор и рантайм был транслирован с C на Go, убрав последние остатки C из кодовой базы Go;
  • сборщик мусора был полностью переписан, что позволило уменьшить паузы во время сборки мусора на порядки;
  • изменили значение GOMAXPROCS (количество одновременно исполняющихся горутин) с 1 до количества логических CPU;
  • изменения в линкере позволили распространять Go-пакеты в виде динамических библиотек, которые можно линковать с программами как на Go, так и на C.

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

★★★

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

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

Вам не кажется, что не совсем честно сравнивать скорость скриптовых/VM-языков с компилируемым?

Не знаю, не я сравнивать начал, я только прокомментировал чужое «И тормозит также». Не важно, корректное или нет сравнение, важно, что оно категорически неверно.

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

Теперь при попытке установить Go 1.5 сначала скачается Go 1.4?

А как ты GCC ставишь? :)

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

Google зачем-то разрабатывает и использует lmctfy

We are not actively developing lmctfy further and have moved our efforts to libcontainer. In future, we hope to replace the core of lmctfy with libcontainer.

libcontainer на go.

holuiitipun ()
Последнее исправление: holuiitipun (всего исправлений: 1)
Ответ на: комментарий от Alexoy

Компания Docker пишущая на Go — вошла в число компаний со стоимостью, превышающей миллиард долларов США. Все Rust-ы трижды сдохнут пока что-то такое на них напишут.

Этот сраный докер на баше в 100 строк уже написали.

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

Ты бы посмотрел архивы с исходными кодами для пакетов любого Linux дистрибутива, там 99% - это C или C++. И это потому что они лучшие, и других не надо. Менять язык и получать после этого замедление работы программ станет только сумасшедший.

Ты бы посмотрел на архивы с историей человеческой цивилизации, там 99% - сидели в пещерах. И это потому что они лучше (лучше домов с удобствами), и других не надо. Менять пещеру на комфортабельный дом, с перспективой его развития и улучшения, станет только сумасшедший.

iu0v1 ()
Ответ на: комментарий от cherry-pick

С++ - это мейнстрим, активно развивается, повсеместно используется и таковым он останется навсегда. Все эти попытки создания новых языков выглядят нелепо.

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

Этот сраный докер на баше в 100 строк уже написали

Да-да, а операционная система с GUI и софтом влезает на дискетку 1.44Мб.

Зачем нужна Java на ЛОР, когда сайт можно на .bat-файлах под Windows сделать?

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

FORTRAN - это мейнстрим, активно развивается, повсеместно используется и таковым он останется навсегда. Все эти попытки создания новых языков выглядят нелепо.

BASIC - это мейнстрим, активно развивается, повсеместно используется и таковым он останется навсегда. Все эти попытки создания новых языков выглядят нелепо.

PL/M - это мейнстрим, активно развивается, повсеместно используется и таковым он останется навсегда. Все эти попытки создания новых языков выглядят нелепо.

COBOL - это мейнстрим, активно развивается, повсеместно используется и таковым он останется навсегда. Все эти попытки создания новых языков выглядят нелепо.


Fixed.

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

Свали в детский сад, тут взрослые дяди общаются. Этот язык для бэкенда, никто твой любимый tuxracer на нём переписывать не собирается.

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

Go уже вовсю используется на практике и в продакшне.

Не стоит выдавать желаемое за действительное.

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

Не стоит выдавать желаемое за действительное.

Docker — это уже массовый продакшн. И на GitHub по числу активных коммитов Golang уже в десятку вошёл. По числу новых вотчеров проектов — вообще на второе место после JavaScript: http://githut.info

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

Вылезай из манямирка, сейчас дофига компаний используют Go, даже в отсталой России.

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

Также, Go очень многое взял от Limbo, в частности, параллелизм, юникод, каналы... Собственно, над его созданием как раз и трудится один из основных авторов Limbo - Роб Пайк... :)

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

self.work.tasks.map { |task| task.do! }.map(&:to_money).sum.send_to(self.credit_card)

Напиши это на Go.

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

Go очень многое взял от Limbo, в частности, параллелизм, юникод, каналы...

параллелизм каналы

facepalm.jpg

А Билл Гейтс изобрел Интернет, да?

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

Я, может, невнятно выразился.. Я не говорю, что Роб Пайк изобрел параллелизм и каналы в Limbo, а говорю про реализацию этих механизмов, они очень похожи у Go и Limbo... Будь внимательней и не передергивай...

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

кончая Gogs

надежных

операции с гитом через аналог system()

китайские драмы

Ну оооок.

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

Если языку 30 лет, то ясное дело на нём больше будет написано в сумме, чем на новом.

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

И я скорее намекал на постоянное упоминание Rust в темах Go

Это работает в обе стороны.

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

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

едва ли не лучшими в индустрии реализациями ... GC

Я не в теме, просто любопытствую - правда что ли? Неужели реализации в той же джаве или шарпе отстают?

DarkEld3r ★★★★★ ()

Я понимаю так, это как python или ruby, только не тормозит, да?

и рядом не лежало
питон - это же скриптовый язык

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

Я не в теме, просто любопытствую - правда что ли? Неужели реализации в той же джаве или шарпе отстают?

GC - это сферический конь в вакууме

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

Гуглеры мамой клянутся, что stop the world должен отрабатывать не дольше 10 мс, а в среднем 1-2 мс. А это уже почти soft real-time. Ни JVM, ни CLR (хотя это под вопросом), насколько мне известно, таким похвастать не могут.

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

Go - топовый язык последних лет.

А Tiobe выдает, что он даже в число 50-ти не входит.

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

У Java есть Azul, который якобы вообще без пауз. В «обычной» JVM паузы GC можно настраивать.

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

Если бы синтаксис Go был максимально схож как у C/D/Java/C# то действительно код было бы легко читать и приятно переходить на C у которого добавили новые возможности. В этом плане язык D это мой идеал, однако успехи языка не радуют и дело не в синтаксисе...

I-Love-Microsoft ★★★★★ ()

Или кратко: будь у Go максимально C-подобный синтаксис, может я бы и заинтересовался языком. Я считаю всё что сделали в Go можно было надстроить над чистым C и при этом иметь свои библиотеки, свои фишки и так далее.

I-Love-Microsoft ★★★★★ ()
func incTwo(a, b int) (c, d int)

почему не

(int c, d) incTwo(int a, b);

var v2 string

почему не

var string v2;

Зачем ломать то к чему привыкли многие, ради каких вообще профитов? Разработчики Java поступили умно, создав новый язык не меняя вида.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от KRoN73

когда сайт можно на .bat-файлах под Windows сделать?

Spoofing, перелогинься.

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

тогда в чём разница с умными указателями в С++ ?

В том же, в чем разница между GC и простым подсчетом ссылок.

kodx ()
Ответ на: комментарий от I-Love-Microsoft

Рекомендуется писать не

var v2 string
...
v2 = "xa"

а сразу

v2 := "xa"

с типами разберётся компилятор сам

Alexoy ()
Последнее исправление: Alexoy (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

почему не

Потому, что сравни

int (*(*fp)(int (*)(int, int), int))(int, int)
f func(func(int,int) int, int) func(int, int) int

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

rust - моззиловцам задрало ловить баги в их старом движке, который достался еще от нетшкапа, чтобы оправдать смену двжика решили написать свой С++, где заменили всякие const и static на отдельные операторы, разделив уровни доступа к переменным, потому программист дурак и сам не может за этим уследить(видимо по себе судили), от сами крестов язык почти не отличается, даже от точки с запятой не смогли избавиться.

go - Роб Пайк хотел сделать язык, написание кода на котором было бы не так мучительным, как на крестах, да еще с новомодной фишками, типа системы гринтредов прямо из коробки с GC. А еще собирается очень быстро, что тоже доставляет(поймут те, у кого проекты собираются на билд ферме по полчаса на С++). Синтаксис очень похож на сишный, но без геммороя в виде точек с запятой в конце строки и другим синтаксичесим сахаром. Написание кода ускоряется да всякие нужные вещи уже встроены в рантайм языка.

dart - чтооо?.

rust для написания совсем низкоуровневых вещей, когда нужно следить за ресурсами с накрученном системой доступа к переменным, там где можно было написать на сях, но программисту не доверяешь, поэтому ему нужны костыли. go для написания всякой высокоуровневой фигни, с грин тредами и сборщиком мусора, всякие там вебсайты тоже пойдут. Тоже самое можно было написать на c++, но к нему надо было бы прикручивать всякие бусты и т.п. А тут сразу всё в наборе и упрощено.

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

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

Снижение затрат на разработку.

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

А что не так? D вполне похож на C/C++. За исключением шаблонов, но может, это и к лучшему? На крестах такая конструкция смотрелась бы куда менее лаконично.

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

Похож-то похож, но назвать идеалом это как-то слишком. Хотя, у каждого своё понятие идеала, у меня это было бы какое-нибудь ML-говно.

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

Отсутствие точки с запятой - это «синтаксический сахар»? Стесняюсь спросить, чем же тогда считать отсутствие тернарного оператора?

tired_eyes ()
Ответ на: комментарий от I-Love-Microsoft

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

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

var v2 string

Наличие ключевого слова «var» оправдано в языках с динамической типизацией. Наличие типа (в данном случае «string») - в языках со статической типизацией? Но какой смысл иметь и то и другое вместе?

«Естественности чтения» здесь тоже нет.

string name - «строка name»

var name - «переменная name»

var name string - ээ... «переменная name строка»? Можно понять, но вообще не лучший вариант.

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

Все адекватно читается, прост ты какой-то не такой))))))))))00000000

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

отсутствие тернарного оператора

Бульон с косточкой сахарной.

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

Отсутствие точки с запятой - это «синтаксический сахар»? Стесняюсь спросить, чем же тогда считать отсутствие тернарного оператора?

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

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

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

В теории оно так. Для низкоуровневых вещей пока ничего лучше С нет.

А насчет GO, динамические либы это годнота, да и сборщик нужно проверить.

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

По числу новых вотчеров проектов — вообще на второе место после JavaScript

Если я правильно смотрю эту таблицу, так на первом месте swift. А на втором Go. Если так, то что тут удивительного? Там ведь процент указан.

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

Отсутствие точки с запятой - это «синтаксический сахар»?

Скорее — это лишняя сущность, которую ввели в Си, но которой не было до того и которой нет во многих языках после. От FORTRAN и BASIC до JavaScript и Python. Поэтому я не думаю, что это имеет какой-то особый смысл, ибо это просто норма :)

Стесняюсь спросить, чем же тогда считать отсутствие тернарного оператора?

Отсутствие ещё одного калькирования Си :)

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