The OpenNET Project / Index page

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

Релиз языка программирования 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
Тип: Программы
Короткая ссылка: https://opennet.ru/52443-golang
Ключевые слова: golang
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (164) 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 +/
    А как во всех языках решают циклические зависимости с помощью дженериков?
     

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

  • 1.3, Аноним (3), 23:35, 26/02/2020 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • –4 +/
     
     
  • 2.4, Нонон (?), 23:38, 26/02/2020 Скрыто модератором
  • –2 +/
     
     
  • 3.14, Аноним (14), 00:21, 27/02/2020 Скрыто модератором
  • –1 +/
     
     
  • 4.22, ramblerfrend (?), 01:14, 27/02/2020 Скрыто модератором
  • +1 +/
     
  • 3.46, ВА (?), 07:12, 27/02/2020 Скрыто модератором
  • –1 +/
     
  • 3.48, Аноним (48), 07:59, 27/02/2020 Скрыто модератором
  • +1 +/
     
  • 2.5, Егор Мамонтов (?), 23:41, 26/02/2020 Скрыто модератором
  • +/
     
  • 2.9, Аноним (7), 23:49, 26/02/2020 Скрыто модератором
  • +/
     

     ....ответы скрыты модератором (7)

  • 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 +/
     
     
  • 2.35, leap42 (ok), 03:06, 27/02/2020 Скрыто модератором
  • –1 +/
     
  • 2.42, Аноним (42), 04:43, 27/02/2020 Скрыто модератором
  • +2 +/
     

     ....ответы скрыты модератором (2)

  • 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) какой ЯП больше всего нравится?
     
     
  • 2.40, Аноним (42), 04:37, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    1 Простая невыразительная система типов, относительно толстый рантайм, if err ... большой текст свёрнут, показать
     
     
  • 3.68, nelson (??), 11:56, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> оператор проброса ошибок

    это же полная дичь, как можно всерьёз говорить о каком-то надёжном коде, написанном на язычке, допускающим подобное
    >> if err != nil

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

     
     
  • 4.75, Аноним (75), 12:19, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вы хоть разобрались бы, о чем речь Под пробросом ошибок подразумевается, что вм... большой текст свёрнут, показать
     
  • 4.81, PnD (??), 13:42, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Из последнего, такая троица агент 8212 демон на голом C вообще-то на... большой текст свёрнут, показать
     
     
  • 5.146, anonymous (??), 13:10, 29/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > из них половина — GC

    Использую активно Go с 2012-го года, но чтобы половина была сожрана GC -- такого ни разу не было. Хотя на старых версиях Go, и когда я ещё не умел писать на Go, GC бывало сжирал 30-40 процентов.

    Можно на код глянуть? :)

     
     
  • 6.162, PnD (??), 11:16, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Использую активно Go с 2012-го года, но чтобы половина была сожрана GC
    > -- такого ни разу не было. Хотя на старых версиях Go,
    > и когда я ещё не умел писать на Go, GC бывало
    > сжирал 30-40 процентов.

      В данном случае (сервис крутится практически вхолостую, "коту нечего делать") — вполне нормально.
    * "Холостой" экземпляр в паре A-S — вообще ничего не потребляет (кроме RSS). Т.к. один тред висит на futex() пока сигнал не случится, а payload ничего не делает пока сокет пустой.

    > Можно на код глянуть? :)

      Да пожалуйста https://github.com/ds-voix/VX-PBX/tree/master/IPADDRD

     
     
  • 7.171, anonymous (??), 11:13, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если вам важны процессорные циклы и нагрузка на GC, то буду рад предложить PR, чтобы лёгким исправлением слегка поправить ситуацию. Актуально? :)
     
     
  • 8.172, PnD (??), 13:19, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Просто ткните носом любым удобным способом Здесь, повторюсь, оно не важно ... большой текст свёрнут, показать
     
     
  • 9.179, anonymous (??), 14:46, 08/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    По-хорошему надо написать benchmark-тесты, найти узкие места и устранить И обыч... большой текст свёрнут, показать
     
     
  • 10.180, anonymous (??), 14:48, 08/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Прошу прощения за опечатки - и т п Только проснулся ... текст свёрнут, показать
     
  • 10.189, PnD (??), 15:00, 11/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мне самому глаза мозолит, но тут по большому счёту референсный кейс по-быстр... большой текст свёрнут, показать
     
  • 6.183, Аноним (-), 23:06, 08/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Использую активно Go с 2012-го года, но чтобы половина была сожрана GC
    > -- такого ни разу не было.

    А ты попробуй покодить как вон там в fuchsia - драйверок ФС, какой, чтоли. И посмотри чего будет дальше, и почему хипстеры такой languages.md, или как там его накорябали :)

     
  • 3.76, anonymous (??), 12:21, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    копипаста -- это обычно признак неправильного дизайна приложения Возможно нужно... большой текст свёрнут, показать
     
     
  • 4.78, Аноним (75), 12:48, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Все равно не хватает дженериков и интерфейсы не позволяют делиться реализацией, ... большой текст свёрнут, показать
     
     
  • 5.150, anonymous (??), 13:39, 29/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это нужно реально редко Например, часто бывает достаточно просто продумать друг... большой текст свёрнут, показать
     
  • 3.83, Аноним (98), 14:10, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В Расте очень ограниченные типы, это только после C кажется, что "вау".

    Рекомендую посмотреть на язык Idris, чтобы понять, что такое по-настоящему полноценная система типов.

     
     
  • 4.86, Аноним (75), 14:23, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я знаю про Idris и у меня в планах в нем покопаться. Очевидно, что Rust уступает в типизации любому мощному функциональному языку. Но прелесть в том, как функциональные концепции прекрасно заиграли в императивном системном языке.

    К тому же Rust находится не только в позиции потребителя идей, на самом деле сам Idris испытал на себе влияние Rust: http://docs.idris-lang.org/en/latest/reference/uniqueness-types.html

    Плюс, для Rust готовится некоторое подобие зависимых типов в виде конст дженериков.

     
  • 2.47, Ноним (?), 07:42, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >1) чем для вас плох Go?

    Го - это комбинация из NIH, агрессивного луддизма, копипасты (дженерики слишком сложны для гопников) и необразованных фанатов. Основная "фича" языка - заставить кодера придумывать очередной, не особо совместимый с другими, вариант реализации ООП на Го.

    >2) какой ЯП больше всего нравится?

    Разумеется плюсы - самый лучший язык в мире

     
     
  • 3.112, анон (?), 03:28, 28/02/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    плюсы гов№о, чистый С форева!
     
     
  • 4.184, Аноним (-), 23:08, 08/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > плюсы гов№о, чистый С форева!

    И ты прав, но про на плюсах очень мощные и экспрессивные конструкции заворачивают. На сях так ну не то чтобы нельзя, но получится что-то странное и не факт что лучше :)

     
  • 2.53, Проходил мимо (?), 08:12, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    1 В первую очередь тем, что принудительно заставляют использовать синтаксис вид... большой текст свёрнут, показать
     
     
  • 3.73, anonymous (??), 12:14, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Rust может выпасть в осадок

    Это скорее всего не Rust выпал в осадок, а сама программа (на Rust) применила unwrap, что явно говорит паниковать в данном случае. Rust сказал автору принять решение как себя вести в такой ситуации, а автор принял решение: "паниковать!!". Так что не очень понятно что тут Rust сделал не так :)

     
     
  • 4.84, Ordu (ok), 14:15, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > сама программа (на Rust) применила unwrap
    > Rust сказал автору принять решение как себя вести в такой ситуации

    Не, скорее всего он не говорил, и автор программы не принимал сознательного решения. Вывод в stdout прозводится чаще всего при помощи макроса println!, который делает unwrap молча и ни о чём не спрашивая. В документации к println! написано, что он выкинет панику, ежели с stdout что случится, но кто ж читает документацию?

     
     
  • 5.93, Проходил мимо (?), 16:09, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Автор программы такую хрень в документации не заметил (а возможно ее там не было, когда он ее читал). Факт в том, что такое поведение программы совершенно нетипичное для программ, написанных на других языках, поэтому додуматься до того, что будет такая засада, автору было бы очень нелегко.
     
     
  • 6.105, Ordu (ok), 20:53, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Автор программы такую хрень в документации не заметил (а возможно ее там
    > не было, когда он ее читал). Факт в том, что такое
    > поведение программы совершенно нетипичное для программ, написанных на других языках, поэтому
    > додуматься до того, что будет такая засада, автору было бы очень
    > нелегко.

    Да, ситуация ещё осложняется тем, что println! показан в любом туториале по rust'у, но в этих туториалах, понятно, уделяется куча внимания тому, как можно быстро вывести структуру на печать, но такие особенности println!, как способность прибить процесс -- нет. Но люди заканчивают с туториалом, в иллюзиях о том, что они его освоили.

     
     
  • 7.117, Анончик (?), 06:01, 28/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Эти люди и про го также думаю ща за 2 дня выучу. А потом гавнокодят и плються на яп что он кривой и косой.
     
  • 6.130, Аноним84701 (ok), 14:17, 28/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >  Факт в том, что такое поведение программы совершенно нетипичное для программ, написанных на других языках, поэтому

    Угу -  просто будет делаться какая-то рандомная *рень
    [code]
    python -c "print(open('foo','r').read())"|h                          
    zsh: command not found: h
    Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>
    BrokenPipeError: [Errno 32] Broken pipe

    python2.7 -c "print(open('foo','r').read())"|h                      
    zsh: command not found: h
    close failed in file object destructor:
    sys.excepthook is missing
    lost sys.stderr
    [/code]
    или иногда сегфолтится:
    https://forum.mongoose-os.com/discussion/114/segfault-with-broken-pipe
    но зато никаких паник …

     
  • 2.55, winorun (?), 08:38, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Что мне в Golang нравится это двойной возврат и отложенный запуск.
    Что мне не нравится это постоянные {} и отсутствие полной поддержки структур данных.
    Go очень специализирован, шаг в сторону и его возможностей не хватает.

    Любимого языка нет. Надо язык выбирать под задачу, а не задачу подгонять под язык.
    С слишком нискоуровневый, С++ многословный, Python - интепритируемый, Golang - ограниченный, asm не портируемый, java завязан на ООП и java машину.

     
     
  • 3.62, Аноним (62), 09:38, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Есть универсальный вариант. Python+c/c+++asm. Придётся разбавлять ассемблером, конечно, но иначе не бывает. Не очень часто. А ты думал, в сказку попал?
     
     
  • 4.161, winorun (?), 10:39, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Используя гибриды мы меняем одни недостатки на другие Получаем дополнительные п... большой текст свёрнут, показать
     
     
  • 5.185, Аноним (-), 23:11, 08/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Верцуны в серебряные пули вообще забавные ребята. Как максимум получается какой-нибудь питон, который вроде бы и может почти все. Но счастья не наступает - потому что он все может одинаково гуняво, так что почти любой кейс можно зело улучшить, переписав на чем-нибудь другом. Чем в последнее время все и занимаются :)
     
  • 2.69, proninyaroslav (ok), 12:04, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >1) чем для вас плох Go?

    Как некий си-подобный питон для rest-серверов и тулзов он неплох. В первую очередь тем что он компилируемый, в отличии от питона. Во вторую очередь тем что он прост для "начинающих гуглеров" и сишников (pure c). Он не призван хватать звёзды с неба, так как создавался для иных целей.
    P.S: единственный минус только в том, что он создавался под сильным влиянием Роба Пайка с его тараканами в голове.

     
     
  • 3.88, Аноним (88), 14:55, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы не сказал, что он прост
    На мой взгляд, это миф
    Си как бы полная аналогия - простой по синтаксису, но совсем не простой для понимания
     
     
  • 4.91, proninyaroslav (ok), 16:03, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Под простотой я подразумевал именно малое количество абстракций и их простота в целом (по крайней мере в видимой части).
     
  • 4.186, Аноним (-), 23:13, 08/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > но совсем не простой для понимания

    Чтобы понять си, надо понять как работают компьютеры. И тогда все просто, логично и даже прострелить себя пятку надо еще основательно постараться. А если прогать как типичный питонист - "не хочу учиться, хочу жениться!" - да так в принципе на любом ЯП программа будет УГ. Си, по счастью, отфильтровывает таких экспонатов будучи неудобным и чреватым для такого подхода.

     
  • 2.74, Gemorroj (ok), 12:17, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    про недостатки написали, особенно в 1 ответе. а нравится D-lang.
     
  • 2.95, user90 (?), 17:03, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > чем для вас плох Go?

    Дык а чем он может заинтересовать? Что макакам от кодинга в нем легко разобраться? А таких становиться все больше, в том числе и среди комментаторов здесь..

     
  • 2.97, Урри (?), 17:09, 27/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    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 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да уж... Педантизм и отвага. И столько энергии слить в критику? Не знаю кому-как, а на меня статья подействовала наоборот -- Go выглядит как адекватный и простой инструмент, а придирки автора -- удивляют. Типа он показывает хорошие вещи, как что-то плохое.

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

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

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

    Так что, похоже, разным людям -- разное чувство прекрасного и разные инструменты. Я всего лишь написал о своем восприятии (якобы, критикующей 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 при работе с ФС не худший вариант унификации.

     

  • 1.174, Масса (?), 19:26, 03/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Какой-то очередной Котлин, когда занозы в заднице из осины объявляются лучшими, чем занозы из ели.
     

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



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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