The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз языка программирования Go 1.14

26.02.2020 22:57

Представлен релиз языка программирования Go 1.14, который развивается компанией Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Код проекта распространяется под лицензией BSD.

Синтаксис Go основан на привычных элементах языка Си с отдельными заимствованиями из языка Python. Язык достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке Си.

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

Основные новшества, представленные в выпуске Go 1.14:

  • Новая система модулей в команде "go" объявлена готовой для повсеместного использования, включена по умолчанию и рекомендована для управления зависимостями вместо GOPATH. Новая система модулей отличается интегрированной поддержкой версионирования, средствами доставки пакетов и улучшенной системой управления зависимостями. При помощи модулей разработчики больше не привязаны к работе внутри дерева GOPATH, могут явно определять зависимости с учётом версий и создавать повторяемые сборки.
  • Добавлена поддержка встраивания интерфейсов с перекрывающимся набором методов. Методы из встроенного интерфейса теперь могут иметь те же имена и одинаковые сигнатуры, что и у методов в уже присутствующих интерфейсах. Явно объявленные методы как и раньше остаются уникальными.
  • Увеличена производительность выражения "defer", использование которого теперь почти не отличается по скорости от прямого вызова отложенной функции, что позволяет применять отсроченный запуск функции в коде, чувствительном к производительности.
  • Обеспечена асинхронное вытеснение сопрограмм (goroutine) - циклы, не содержащие вызова функций, теперь потенциально не могут привести к взаимной блокировке планировщика или задержке начала сборки мусора.
  • Повышена эффективность системы распределения страниц памяти, в которой теперь наблюдается значительно меньше конфликтов блокировок в конфигурациях с большими значениями GOMAXPROCS. Как результат уменьшились задержки и повысилась пропускная способность при параллельном интенсивном распределении больших блоков памяти.
  • Оптимизированы блокировки и снижено число переключений контекста при работе внутренних таймеров, используемых в функциях time.After, time.Tick, net.Conn.SetDeadline.
  • В команде go по умолчанию активирован флаг "-mod=vendor", если в корне имеется каталог vendor, предназначенный для поставки внешних зависимостей, привязанных к определённому поставщику. Добавлен отдельный флаг "-mod=mod" для загрузки модулей из кэша модулей, а не из каталога "vendor". Если файл go.mod доступен только для чтения по умолчанию обеспечено выставление флага "-mod=readonly", если отсутствует верхний каталог "vendor". Добавлен флаг "-modfile=file" для задания альтернативного файла go.mod вместо имеющегося в корневом каталоге модуля.
  • Добавлена переменная окружения GOINSECURE, при установке которой команда go не требует использования HTTPS и пропускает проверку сертификатов при загрузке модулей напрямую.
  • В компилятор добавлен включённый по умолчанию флаг "-d=checkptr" для проверки кода на соответствие правилам безопасного использования unsafe.Pointer.
  • В поставку включён новый пакет hash/maphash с некриптографическими хэш-функциями для создания хэш-таблиц для произвольных байтовых последовательностей или строк.
  • Добавлена экспериментальная поддержка 64-разрядной платформы RISC-V в Linux.
  • Добавлена поддержка FreeBSD на 64-разрядных системах ARM.


 
  1. Главная ссылка к новости (https://blog.golang.org/go1.14...)
  2. OpenNews: Релиз языка программирования Go 1.13
  3. OpenNews: Обновление языка Go 1.11.5 и 1.10.8 с устранением уязвимости
  4. OpenNews: Уязвимости в системе загрузки модулей для языка Go
  5. OpenNews: Выпуск языка программирования Dart 2.0
  6. OpenNews: Google представил Grumpy, транслятор кода Python на язык Go
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/52443-golang
Ключевые слова: golang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (178) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:10, 26/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –2 +/
    Традиционно не добавили дженериков
     
     
  • 2.2, Аноним (2), 23:24, 26/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • –3 +/
    Не нужно как твои дженерики как и сам го.
     
  • 2.7, Аноним (7), 23:46, 26/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –3 +/
    Дженерики в 2.0 будут.  Или в 1.2, не знаю, как решат.
     
     
  • 3.56, Аноним (56), 09:06, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +4 +/
    1.2 после 1.14?
     
     
  • 4.120, Аноним (120), 09:01, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Так 1.2 > 1.14)
     
     
  • 5.127, Брат Анон (?), 14:02, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    Аноним, ты не прав. Сравнивать надо не строковые литеры, и числовые коды.
     
  • 2.17, Anonymqwe (?), 00:22, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –2 +/
    Наверное, берегут до версии 2.0, чтобы не провоцировать взрыв сознания у фанатов.
     
  • 2.44, vlpoliakov (?), 06:46, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    каких дженериков?
     
  • 2.45, ВА (?), 07:12, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +4 +/
    Зачем использовать плохие практики из других языков... научитесь писать эффективный код без надуманного говна из прошлого
     
     
  • 3.66, Аноним (66), 11:33, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    >научитесь писать

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

     
     
  • 4.70, anonymous (??), 12:06, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Это необходимо крайне редко. Гораздо реже, чем кажется тому, кто пока просто не достаточно хорошо научился использовать Go.
     
     
  • 5.98, Аноним (98), 17:16, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +4 +/
    Часто нужно. С любой базовой структурой.

    Вот есть у меня, допустим, некий type X struct, и linked list (container/list), содержащий элементы типа *X.

    Там, где с generic-ами я бы имел нормальную типизацию и отлов несовпадения типов в compile time, в Go я имею элементы interface{}, которые приходится явно приводить к *X, и ошибку тут я словлю только в runtime.

    Причем, для частных случаев (slices, channels) концепция generic-ов есть (неявно). Иначе бы было совсем плохо. Но только для частных случаев.

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

     
     
  • 6.153, anonymous (??), 19:26, 29/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Вот есть у меня, допустим, некий type X struct, и linked list (container/list), содержащий элементы типа *X.
    > Если обобщенные структуры данных вам необходимы крайне редко, я не знаю, что вы там пишете.

    Я просто делаю свой тип на базе 'container/list', который приводит тип и покрываю это unit-test-ом (чтобы в реальном runtime это ни к каким ошибкам не приводило). В общем говорю, вопрос лишь привычки работать с Go.

     
     
  • 7.154, Аноним (98), 09:49, 01/03/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    Да это не привычка, а костыли.
    Причем авторы Go проблему прекрасно осознают, уже есть патчи для поддержки generics, их тестируют.
    Я, правда, не понимаю, накой они придумали еще одну сущность (контракты) вместо расширения понятия интерфейса.
     
     
  • 8.155, anonymous (??), 17:09, 01/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Это и привычка и костыль Но костыль малозначимый и невредный на дизайн приложе... текст свёрнут, показать
     
  • 8.156, anonymous (??), 17:47, 01/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Эх А я вот об immutable мечтаю ... текст свёрнут, показать
     
  • 7.173, Масса (?), 19:22, 03/03/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Т.е. вместо проверки типа элемента контейнера компилятором нужно самому каждый раз для каждого нового типа свои проверки лабать? Э, так мой дедушка ещё делал. В конце 70-х.
     
     
  • 8.181, anonymous (??), 22:21, 08/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Уверен, что именно эта проблема делает Go не-usable-ным Прям никак нельзя подел... текст свёрнут, показать
     
  • 3.71, Gemorroj (ok), 12:10, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    говно из го вкуснее?
     
  • 3.144, Аноним (144), 12:56, 29/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > код без надуманного говна из прошлого

    Ооооо, святая толстота. Ad hoc polymorphism это оказывается говно из прошлого.

     
     
  • 4.182, Аноним (182), 23:04, 08/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Ооооо, святая толстота. Ad hoc polymorphism это оказывается говно из прошлого.

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

     
  • 2.58, Аноним (58), 09:15, 27/02/2020 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    Если бы вы хоть немного следили за языком (коль вам эти дженерики так нужны), то вы бы знали, что они будут в Go2 и Роб Пайк в рассылке даже примеры приводил.
     
     
  • 3.92, Wilem (?), 16:08, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +3 +/
    Да что ж такое, сектанты только все методички заучили про то, что дженерики не нужны, а тут такая подстава! Что же им теперь, придумывать оправдания с точностью до наоборот?
     
     
  • 4.128, Брат Анон (?), 14:03, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Дженерики в Го не нужны.
     
  • 4.141, const86 (ok), 04:50, 29/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    doublethink, однако
     
  • 4.157, Lex (??), 18:24, 01/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Бывает. Почти как с типизацией в джаве и шарпе.. пока туда "универсальный" тип не подвезли..
     
  • 2.63, Аноним (63), 10:14, 27/02/2020 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    Пример приведи зачем нужны дженерики в виде кода,
    а то вдруг реально полезная штука.
     
     
  • 3.99, Аноним (98), 17:18, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    https://medium.com/@alshdavid/an-update-on-go-and-generics-in-2019-59efdc
     
  • 3.103, Джинерик (?), 19:51, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Шаблоны удобны. Самый расхожий пример шаблонной абстракции это ограниченные по типу коллекции. Да, можно написать и без шаблонов. Но с шаблонами значительно лаконичней. Хотя доступность языка они снижают изрядно. Особенно, когда реализованы только на уровне синтаксической конструкции, как в Java-е.
     
     
  • 4.125, kjklj (?), 13:03, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Ну так и пиши на С++ тогда.
     
     
  • 5.133, Джинерик (?), 15:14, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Я не знаком с Го вообще. Как же там обеспечивается типическая безопасность те же коллекций? Каждый раз нужно писать проверки типа при создании коллекции, которая может принимать только определённый тип объектов? А как решается проблема ковариантности?
    СРР всё же громоздок и очень небезопасен. Шарп хорош, но есть проблемы с лицензированием и с экосистемой. Ява корява до безобразия, но имеет зрелый инструментарий и крайне развитую экосистему. Идеала, увы, пока нет.
     
  • 2.82, Z (??), 13:55, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    А нужны ли они? Google молодцы: не тащат всё подряд в Go!
     
     
  • 3.90, Аноним (90), 15:40, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Пока не понятно как циклические зависимости разрешать как и во всех языках
     
     
  • 4.94, Q2W (?), 16:49, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    А как во всех языках решают циклические зависимости с помощью дженериков?
     

  • 1.3, Аноним (3), 23:35, 26/02/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –4 +/
     

  • 1.6, Аноним (6), 23:43, 26/02/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
  • 1.10, А (??), 23:51, 26/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –1 +/
    До чего ж библиотеки или куцые или костыльные. Или самому писать, или ждать, пока созреет как Питон. Обзаведётся либами, др. объектами...
     
     
  • 2.12, Аноним (7), 00:06, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +3 +/
    Так я и постарше тебя буду, Петька
     
  • 2.13, zzz (??), 00:10, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    Если за 12 лет язык не обзавелся либами, то такой язык годен разве что на помойку.
     
     
  • 3.19, syslinux (ok), 00:47, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • –4 +/
    Это вы пожалуй выкиньте-ка лучше на помойку свой раст с инопланетным синтаксисом. Гошка прекрасный язык, там просто все работает, все сделано для людей.
     
     
  • 4.26, Нонон (?), 02:00, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +7 +/
    Как-то ты Раст ну совсем не в тему тут вставил. Лишь бы вставить..
     
     
  • 5.57, Аноним (56), 09:11, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • –2 +/
    Очень даже в тему. Смотри чуть выше, там гопники с растоманами мерялись.
     
     
  • 6.85, Ordu (ok), 14:17, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Я бы сказал, что тролли троллили троллей. Совсем изголодались зелёные. Но если ты говоришь, что гопники с растоманами, значит так оно и есть.
     
  • 4.114, Анончик (?), 05:44, 28/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Это ты ещё lisp, erlang и R ещё не видел.
     
  • 2.34, leap42 (ok), 02:57, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +3 +/
    > До чего ж библиотеки или куцые или костыльные.

    давайте примеры

     

  • 1.15, Аноним (15), 00:21, 27/02/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –3 +/
     

  • 1.16, Аноним (15), 00:22, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –6 +/
    Го учиться за 2 дня, но только раст может развить вас как разработчика.
     
     
  • 2.18, Аноним (7), 00:23, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +11 +/
    Какие же все недоразвитые были до появления Раста!
     
     
  • 3.28, Нонон (?), 02:10, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +3 +/
    Не совсем так. В расте слишком много финтифлюшек после которых другие языки кажутся детским садиком.
    Хоть и другие замудренные ЯП тоже есть. Но в основном другие имутабльные
     
     
  • 4.29, Аноним (7), 02:16, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    В Расте нет ничего такого, чего не было в плюсах с его стандартными и не очень библиотеками. Вменяемое подмножество современных плюсов вообще довольно близко (не синтаксически, конечно, но семантически).
     
     
  • 5.67, Аноним (66), 11:46, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >В Расте нет ничего такого, чего не было в плюсах с его стандартными и не очень библиотеками.

    Навскидку: модель владения объектов, наличие гарантий компилятора(привет null-pointer exception), стерильные макросы, пакетный менеджер с репозиторием, темп развития языка

     
     
  • 6.96, Урри (?), 17:07, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    легко реализуется средствами с , причем на любой вкус и цвет, а не как криво пр... большой текст свёрнут, показать
     
     
  • 7.158, Lex (??), 18:33, 01/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Плюсы уже давно стали какой-то вещью в себе.
    Изначально относительно лаконичная надстройка, он со временем превратился в нечто монструозное и совершенно загаженное в плане лексики.
    Это наглядный пример того, когда разрабы к существующей и работающей системе, построенной на старых идеях и подходах, просто постоянно пытаются приделывать модные шутки и система превращается в невнятную, громоздкую и отталкивающую ***.

    Хотя и раст - то еще *.

     
  • 6.100, Аноним (98), 17:25, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    > модель владения объектов

    smart pointers

    > наличие гарантий компилятора(привет null-pointer exception)

    smart pointers

    > стерильные макросы

    templates

    > пакетный менеджер с репозиторием

    conan

    > темп развития языка

    C++11, C++14, C++17, C++2x...

    Да, в Rust все это сведено в единую стройную систему, а в C++ надо изучать хорошие практики и гораздо больше думать о том, что делаешь. При этом система-то не очень простая получилась, когнитивная нагрузка примерно одинаковая. Выстрелить себе в ногу в крестах намного проще, эт да

     
     
  • 7.118, Аноним (118), 06:46, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    А больше думать в любом случае не помешает.
     
  • 4.145, Аноним (144), 13:00, 29/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Посмотри на Scala, утёнок. Твой Раст это инвалидная коляска.
     
  • 3.30, Медный Купорос (?), 02:18, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    один из анонимов сказал:
    раст для элиты, го для рабов за еду, а си для тех кому скоро на кладбище
     
     
  • 4.31, Аноним (7), 02:23, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Не знал, что в гугле за еду работают. Кормят-то хоть хорошо?
     
  • 4.43, ПростоТак (?), 06:17, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    О чём вы? ... бизнесу нужно прям сегодня и прям сейчас, а лучше ещё вчера! Поэтому выбирают языки с огромной экосистемой Java, C#. А за этими языками стоят монстры Oracle и Microsoft, т.е. не умрут языки в ближайшие лет 10 ... Хотите кушать, учите то, что нужно бизнесу. Хотите романтики, учите Rust.
     
  • 4.64, Хороним (?), 10:52, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    - Он знает что-нибудь?
    - Конечно. Он из элиты.
    Заходите.
    Фильм "Хакеры". 1995.

     
  • 4.72, nelson (??), 12:11, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    >> раст для элиты

    для той, видимо, что хаскель не осилила

    >> го для рабов за еду

    у вас в аббревиатуре "PHP" ошибка

    >> си для тех кому скоро на кладбище

    ну тут всё понятно - реформа образования, не иначе

     
     
  • 5.159, Lex (??), 18:37, 01/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    хаксель нинужен
     
  • 4.106, malloc (?), 21:13, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    О, евангелист вылез!
    Маслинку хочешь, да? Ты как комивыезжёр - упёртый и навязчивый. И тебе плевать на объективную реальность лишь бы продвинуть свой раст. Любой ценой. Тебе же за это не платят, какая выгода? Ну, кроме гноеизлияния, конечно же.

    Для крестов есть компиляторы под разными лицензиями и нет ограничения на написанные поделия. А для раста - всё что написано на расте автоматически подпадает под действие mpl. Хуже того - является копирайтом мозиллы. Ну, то есть ты не можешь лицензировать проект на расте иначе, чем под mpl. Если не mpl, то мозилла вправе подать в суд за такое лицензирование и будет исключительно права.

    Например, так.

     
     
  • 5.108, й1 (?), 01:25, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >ты не можешь лицензировать проект на расте иначе, чем под mpl

    Пруф?

     
  • 2.61, Аноним (61), 09:37, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Ты хотел сказать Хаскель, но зачем-то написал Раст.
     
  • 2.147, InuYasha (?), 13:33, 29/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    https://tsya.ru/
     

  • 1.25, Аноним (25), 01:48, 27/02/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.32, Мудрый Пылесос (?), 02:28, 27/02/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
  • 1.37, Аноним (7), 04:06, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Интересно, почему растаманы набегают в каждую новость именно про go, а не про, скажем, python? Языки настолько же разные, почему именно от go сзади свербит?
     
     
  • 2.39, Аноним (42), 04:22, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +6 +/
    Да больше похоже, что это тролли обычные. Но так-то между Go и Rust сейчас напряжение, ведь у них есть пересекающиеся ниши, особенно на фоне последних событий: например, Discord отказался от Go в пользу Rust, а недавно даже Google, вследствие негативного опыта, отверг применение собственного Go в Fuchsia, в то время как Rust оказался допущен во всей кодовой базе, кроме ядра (и то ограничение на ядро лишь связано с тем, что разрабов Fuchsia беспокоит молодость языка).
     
     
  • 3.77, proninyaroslav (ok), 12:36, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >Rust оказался допущен во всей кодовой базе, кроме ядра

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

     
  • 3.107, malloc (?), 21:16, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Тоненько. Отличный вброс.
     
  • 3.126, Аноним (98), 13:26, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Пересекающиеся ниши и с python-ом есть (Twisted, вот это все). Это какой-то срач ради срача. На go удобно писать небольшие инфраструктурные микросервисы, в которых gc не роляет. Он как раз хорошо заменяет всякие там python+twisted / ruby+eventmachine / nodejs - программировать так же просто (даже проще), развертывать проще простого (на выходе один бинарь), можно поручить не особо опытному разработчику. Rust для задач посерьезнее, он скорее конкурирует с C++.
     
     
  • 4.132, Аноним (132), 14:20, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Согласен, мне самому не нравятся эти срачи (но я правда не очень уверен, что ребята, которые развели здесь Go vs Rust действительно растоманы - больше похоже, что это просто повышенно зеленые персонажи).

    Хоть я и люблю Rust, я не считаю, что все нужно на нем писать (хотя очень многое можно и стоит) и у Go определенно есть свое место. Правда я не уверен в Go для больших проектов, по крайней мере пока не появятся фичи, обещанные для Go 2.0

     
  • 2.111, анон (?), 03:26, 28/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    про дженерики уже спрашивали?
     

  • 1.38, Аноним (38), 04:12, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Пара вопросов ко всем кто это читает:
    1) чем для вас плох Go?
    2) какой ЯП больше всего нравится?
     

     ....большая нить свёрнута, показать (38)

  • 1.59, Аноним (59), 09:33, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –1 +/
    У ГО есть как минимум один +, нет классов.
     
     
  • 2.65, Аноним (-), 11:17, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >У ГО есть как минимум один +, нет классов

    Ура! У<это "пробел" Унылого Говна тут нет>Го нет ООП!

     
     
  • 3.80, Злостный Анним (?), 13:38, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +6 +/
    Открою тебе глаза на истину: "Все лучшие программы в мире написаны без ООП - Linux, Apache,  Windows, Office и т.д."
    Все худшие программы, а это enterprise-приложения и т.д., созданы с использованием ООП безмозглыми апологетами секты ООП головного мозга. Зато "быстро, модно, молодежно", что привело к увеличению вычислительных мощностей и глобальному потеплению.
     
     
  • 4.119, Аноним (118), 06:53, 28/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Ты видел код MS Office?
     
     
  • 5.122, Злобный аноним (?), 10:24, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Тыкалка пальцем в розетку, я видел код Office и тот Office работал шустро, И код Oracle тоже видел, он тоже на C.
     
  • 4.123, нет (??), 11:12, 28/02/2020 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    Это в Linux и Apache то нет ООП? Смешно
     
     
  • 5.187, Аноним (-), 23:15, 08/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Это в Linux и Apache то нет ООП? Смешно

    Ну покажи ООП в ядре линукса? Желательно сразу Торвальдсу, интересно почитать каменты :)

     
  • 4.137, Аноним (98), 15:19, 28/02/2020 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +1 +/
    Это смотря что понимать под ООП.
    Если понимать ООП так, как описал Алан Кей, то, во-первых, в Linux и Apache оно есть, а во-вторых, это не имеет никакого отношения к тому "ООП головного мозга", критика которого абсолютно справедлива.
     
     
  • 5.139, Аноним (98), 15:21, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    И, кстати, настоящее ООП - это то же самое, что Unix Way.
     
  • 4.148, InuYasha (?), 13:35, 29/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    ну не все. UT написан с ООП, VS 6.0 написана на MFC. И всё это работало и работает весьма хорошо.
     
  • 3.135, Аноним (98), 15:16, 28/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    В go есть ООП. Нет наследования, но оно и не является необходимостью.
     
     
  • 4.165, NameName (?), 18:20, 02/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Наследование в го есть. Оно не нужно, но есть. Абстрактные типы могут наследоваться.
     

  • 1.79, Commander Pike (?), 13:35, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –3 +/
    lol no generics
     
  • 1.87, Аноним (88), 14:54, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Расскажите лучше про новую систему модулей
    Которая вместо GOPATH
     
     
  • 2.89, derfenix (ok), 15:00, 27/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Настолько новую, что появилась в позапрошлом релизе, а в прошлом включена по умолчанию?
     

  • 1.101, Аноним (101), 18:04, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +3 +/
    Собаки лают, а караван идёт. Почти все крупнейшие мастерские софта, как в РФ так и у буржуев, пилят масштабные проекты на Go. Именно на Go, не на Java, C++ и прочих. Чуваки инсайдеры (если они тут водятся) подтвердят. В таких проектах 99.9999% сложности-это бизнес логика, данные, сеть и вообще куча всего, что не имеет отношения к используемому ЯП. Go хорош тем, что ко всей это куче головных болей не добавляются "прелести" таких геморройных ЯП, как C++, например. Go-ЯП для инженеров софта.
     
     
  • 2.116, Анончик (?), 05:56, 28/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Крупнейшие мастерские софта, инсайдеры. Такого тупого наброса я давно не видел. Как там мистер бонд поживает? Он все ещё прлграммирует на Ada  или обновил себе компьютер
     
     
  • 3.124, Аноним (101), 12:47, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ну я инсайдер из РФ-овской мастерской софта, с названием, оканчивающемся на ру. Пилим бигдата платформу на golang-е. Что дальше кукарекнешь, школьник?
     
  • 3.129, Брат Анон (?), 14:16, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Работаю в гаражном стартапе в области энергетики. Не то, что гошечку пользую -- WebAssembly на стороне клиента активно практикую. Доволен вполне.
     
     
  • 4.149, InuYasha (?), 13:37, 29/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    А клиент - доволен?
     
     
  • 5.190, Брат Анон (?), 09:06, 25/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > А клиент - доволен?

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

     
  • 2.136, Джинерик (?), 15:18, 28/02/2020 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • –2 +/
    На Го ничего масштабного не напишешь.
     
     
  • 3.191, Брат Анон (?), 09:06, 25/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > На Го ничего масштабного не напишешь.

    Кубернетис, докер, миниДНС, Дропбокс и Гугель смотрят на тебя с удивлением.

     
  • 2.166, NameName (?), 18:22, 02/03/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    Дурашка, как ты сейчас свою "бизнес-логику" будешь без обобщений (шаблонов) лепить? В Го из абстракций коллекций только массивы и есть. Причём, массивы корявые. Го это такой "наш ответ Свифту".
     

  • 1.102, Skullnet (?), 19:15, 27/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –4 +/
    Go - недоязык, игнорирующий 50 лет опыта ЯП и распиаренный гуглом. Нужно смотреть в сторону нормальых языков.

    Например: https://crystal-lang.org/

     
     
  • 2.104, Аноним (104), 20:40, 27/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –2 +/
    Go - недоязык, игнорирующий 50 лет опыта ЯП и распиаренный гуглом. Нужно смотреть в сторону нормальых языков.
    Например: https://docs.microsoft.com/ru-ru/dotnet/csharp/
     
     
  • 3.109, Skullnet (?), 02:16, 28/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Фу, бяка на виртуальной машине, да ещё и проприетарная, да ещё и виндоус-онли (Mono не предлагать).
     
     
  • 4.110, Аноним (104), 03:21, 28/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Фу, бяка на виртуальной машине, да ещё и проприетарная, да ещё и виндоус-онли (Mono не предлагать).

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

     
     
  • 5.115, Анончик (?), 05:47, 28/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Я тебя разочарую, у состав ruby core team нет русскоговорящих
     
     
  • 6.134, Джинерик (?), 15:16, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Так он как-то не очень "русскоговорит".
     
  • 6.151, Аноним (151), 15:55, 29/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В Руби кор тим нет не только русскоговорящих, но и вообще во внутренностях языка понимает только Койчи Сасада.
     
     
  • 7.168, NameName (?), 18:27, 02/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Да и на кой ляд в них кому-то что-то понимать.
     
  • 5.140, Английский кароль (?), 16:33, 28/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    А я английскую королеву чих-пых.
     
  • 4.113, leap42 (ok), 05:29, 28/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    > Фу, бяка на виртуальной машине, да ещё и проприетарная, да ещё и виндоус-онли (Mono не предлагать).

    и как там в 2013? сколько у вас доллар стоит?

    https://ru.wikipedia.org/wiki/.NET_Core

     
  • 4.121, Злобный аноним (?), 10:22, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Я не поклонник C# и .Net Framework, но укажу для объективности, что уже давно существует .Net.Core (уже версия 3.1), работающий как Windows так и под Linux. Также пилят PowerShell.Core, который основан на .Net.Core и будет работать и там и там. И даже Ms Sql Server 2017, 2019 работают под Linux (но еще не весь функционал по сравнению с вариантом под Windows).
     
     
  • 5.131, Брат Анон (?), 14:18, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Первая доза бесплатно. Знаем, плавали, спасибо, не надо. Уж лучше гошечка.
     
  • 5.138, Джинерик (?), 15:20, 28/02/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Там есть проблемы с лицензированием до сих пор. МС Сиквел и даром не нужен, а вот Кор понравился.
     
  • 3.142, Аноним (-), 08:29, 29/02/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    От Майкрософта нам ничего не нужно.
     
  • 2.188, Аноним (188), 23:18, 08/03/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Go - недоязык, игнорирующий 50 лет опыта ЯП и распиаренный гуглом.

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

     
  • 2.192, Брат Анон (?), 09:08, 25/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Go - недоязык, игнорирующий 50 лет опыта ЯП и распиаренный гуглом. Нужно
    > смотреть в сторону нормальых языков.

    То-то гугель такой бедный и тупой. Они же ничего не умеют и не знают. А кубернетис твой аналог просто убил. Будем знать.

     

  • 1.143, balajahe (ok), 09:46, 29/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –1 +/
    А исключения так и не добавили, гады
     
     
  • 2.167, NameName (?), 18:23, 02/03/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Исключения это харам. Они... сложные.
     
     
  • 3.170, balajahe (ok), 18:55, 02/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Исключения это харам. Они... сложные.

    Создатели Rust тоже так говорили, но под давлением реальности - ввели в язык постфиксный оператор ?, что по использованию практически аналогично throws.


     
  • 2.193, Брат Анон (?), 09:08, 25/03/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > А исключения так и не добавили, гады

    Исключения не имеют право на существование. Правильно сделали.

     

  • 1.152, segesg (?), 16:44, 29/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –2 +/
    Наброшу-ка! Мнение чела который ел устриц.
    https://fasterthanli.me/blog/2020/i-want-off-mr-golangs-wild-ride/
     
     
  • 2.160, Любитель парсеров (?), 19:50, 01/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    Да уж... Педантизм и отвага. И столько энергии слить в критику? Не знаю кому-как, а на меня статья подействовала наоборот -- Go выглядит как адекватный и простой инструмент, а придирки автора -- удивляют. Типа он показывает хорошие вещи, как что-то плохое.

    Да и Plan9, Bell Labs -- упоминаются так, как буд-то это что-то плохое. ) Куда катится мир?

    Пора применить go в своем проекте. ;)

     
     
  • 3.163, NameName (?), 17:21, 02/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • –4 +/
    Мотивы похожи на те, которые заявлялись перед выкатом Явы. Этакое простое СРР для всех. Без усложнений и без возможности выстрелить себе в ногу. Что же имеем сейчас? Компостную кучу с приведениями: тут тебе и обобщения без обобщений, и ламбы без ламбд, и пакеты без пакетов, и потоки без потоков. Го тем же путём двинул.
     
  • 3.169, NameName (?), 18:34, 02/03/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –3 +/
    Чувак, ну какие хорошие вещи? Если заявленный универсальным интерфейс для работы с файлами... универсальным не является, то какой уж тут "адекватный и простой инструмент"?
     
     
  • 4.175, hugeping (ok), 20:51, 04/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Сначал думал было написать развернуто, а потом понял, что если человек не понимает, к чему приводит универсальность возведенная в абсолют, и что значит слово "адекватный", то и я не объясню. Вернее, мои доводы не будут услышаны.

    Так что, похоже, разным людям -- разное чувство прекрасного и разные инструменты. Я всего лишь написал о своем восприятии (якобы, критикующей Go) статьи. Мне там все понравилось. Вероятно -- мой язык. Буду изучать глубже (пока только пару утилит на нём).

     
     
  • 5.176, Нама (?), 16:50, 05/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Речь не про абсолют, а про то, что целый ряд библиотек завязаны на конкретные реализации и в условиях других реализаций просто молча не работают. Поэтому назвать такой инструмент универсальным -- сложно. Го не универсальный инструмент, а язык для Гугла, т.е. язык, применяемый прежде всего в Linux-среде. Меня это не смущает, но и универальным такое не назовёшь.
     
     
  • 6.177, hugeping (ok), 20:34, 05/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Я честно, даже не знаю что тебе сказать. Я не знаю, кто такой автор этого блога, но кроме максимализма и пафоса я там не вижу ничего.

    Ну, например, где он задвигает о том, что пути к файлам в go - это строки. И это -- плохо! Потом пример кода приводит. Даже я, человек написавший на Go всего-ничего, понимаю, что там написан бред. Вернее, я не понял вообще что он там хотел доказать.

    Выводит e.Name() говорит, что смотрите - проклятый Go искажает пути (silently)! Ну преобразуй в byte и выводи свой массив! Будет типа оригинальные данные. (Я не поленился и проверил этот пример). И я даже молчу про саму ситуацию, высосанную из пальца. Но при этом - пафоса то! "Lie!"(с) Ну или как там, в начале статьи. Ну и весь текст такой.

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

     
  • 6.178, hugeping (ok), 20:46, 05/03/2020 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > работают. Поэтому назвать такой инструмент универсальным -- сложно. Го не универсальный
    > инструмент, а язык для Гугла, т.е. язык, применяемый прежде всего в
    > Linux-среде. Меня это не смущает, но и универальным такое не назовёшь.

    Вопрос в том, когда остановиться. На мой взгляд, "эмуляция" posix при работе с ФС не худший вариант унификации.

     
  • 3.195, Gogi (??), 21:34, 15/05/2020 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Собственно, GoВНО-язык и создавался для таких говнарей, как ты - с интеллектом устрицы и отчаянным желанием что-то напрограммастить. У нормального разработчика языки подобные Го вызывают отторжение.
     

  • 1.174, Масса (?), 19:26, 03/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –1 +/
    Какой-то очередной Котлин, когда занозы в заднице из осины объявляются лучшими, чем занозы из ели.
     
  • 1.194, Gogi (??), 21:11, 15/05/2020 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    Откровенно, на месте Гугли я б вообще не позорился называть ЭТО языком, да ещё и показывать общественности!

    Слово "простой" в данном случае вовсе не положительное свойство. Как лом "прост" в своей структуре, настолько же он неудобен при рубке ветвей.
    А вот более подробное объяснение, почему "язык для мартышек только мартышка и захочет использовать": https://habr.com/ru/post/344356/

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру