The OpenNET Project / Index page

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

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

17.02.2021 12:38

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

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

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

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

  • Добавлен пакет embed, предоставляющий средства для встраивания в программу произвольных файлов и каталогов. Для указания файлов, которые необходимо встроить на этапе компиляции, предоставляется новая директива "//go:embed". Например, указание в коде комментария "//go:embed test.txt" и объявление следом переменной "var f embed.FS" приведёт в встраиванию файла test.txt и возможности обращения к нему через дескриптор "f". Подобным образом можно встраивать необходимые для работы файлы с ресурсами или отдельными значениями определённого типа, например, для получения строковой переменной "s" из файла version.txt можно указать:
    
      import _ "embed"
       //go:embed version.txt
       var s string
       print(s)
    
  • По умолчанию теперь требуется использование новой системы модулей с интегрированной поддержкой версионирования, которая пришла на смену средствам управления зависимостями на основе GOPATH. Переменная окружения GO111MODULE теперь выставлена в значение "on" по умолчанию и режим модулей используется независимо от присутствия файла go.mod в рабочем или родительском каталоге. В новом режиме сборочные команды, такие как "go build" и "go test", не изменяют содержимое go.mod и go.sum, а команда "go install" обрабатывает аргументы с указанием версии ("go install example.com/[email protected]"). Для возвращения старого поведение следует изменить GO111MODULE на значение "auto". Отмечается, что 96% разработчиков уже перешли на новую систему модулей.
  • Проведена оптимизация компоновщика. Для больших проектов компоновка теперь выполняется на 20-25% быстрее и требует на 5-15% меньше памяти.
  • В компиляторе добавлена поддержка inline-развёртывания функций с сокращённым определением циклов "for", методом значений (method values) и конструкциями 'type switch'.
  • Добавлена поддержка систем Apple, оснащённых новым ARM-чипом Apple M1. Добавлены порты netbsd/arm64 и openbsd/mips64 с поддержкой NetBSD на 64-разрядных ARM и OpenBSD на системах MIPS64. В порт linux/riscv64 добавлена поддержка cgo и режима "-buildmode=pie".
  • Прекращена поддержка режима компиляции x87 (GO386=387). Поддержка процессоров без инструкций SSE2 теперь доступна через программный режим "GO386=softfloat".

Дополнительно можно отметить начало тестирования бета-выпуска языка Dart 2.12, в котором стабилизирован режим безопасного использования значения "Null" (null safety), который позволят избежать крахов, вызванных попытками использования переменных, значение которых не определено и выставлено в "Null". Режим подразумевает, что переменные не могут иметь неопределённые значения, если им явно не присваивается значение null. В режиме строго учитываются типы переменных, что позволяет компилятору применять дополнительные оптимизации. Соответствие типов проверяется на этапе компиляции, например, в случае попытки присвоения значения "Null" переменной с типом, не подразумевающим неопределённое состояние, таким как "int", будет выведена ошибка.

  1. Главная ссылка к новости (https://blog.golang.org/go1.16...)
  2. OpenNews: Релиз языка программирования Go 1.15
  3. OpenNews: В ядре Linux выявлена ошибка, приводящая к нарушению работы некоторых программ, использующих AVX
  4. OpenNews: Выпуск языка программирования Dart 2.8
  5. OpenNews: Уязвимости в системе загрузки модулей для языка Go
  6. OpenNews: Язык Go избавляется от неполиткорректных терминов whitelist/blacklist и master/slave
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54605-go
Ключевые слова: go, golang, dart
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (216) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, маколюб (?), 14:17, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –22 +/
    о, наконец то поддержка М1

    лучшие компьютеры стали ещё лучше

     
     
  • 2.5, Аноним (5), 14:19, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    А что там особенного, это ведь тот же арм пусть и покоцаный.
     
     
  • 3.98, Урри (ok), 21:06, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –9 +/
    Переделанный доступ к памяти. Из-за этого М1 рвут другие армы как тузик грелку и даже составляют конкуренцию интелам.
     
     
  • 4.108, Аноним (108), 21:27, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > даже составляют конкуренцию интелам

    Сомнительное сравнение, ладно бы с райзенами сравнил.

     
  • 4.225, Ты идиот (?), 00:40, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Где там конкуренция? Весь софт и игры доступные на интелах уже есть и на м1/арм? Нет? Ну то хряпни вялого, эплобаба🤣
     
  • 4.248, InuYasha (??), 11:25, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    а какой в них аналог ME/PSP? без бэкдоров и скрытого кода - не конкуренты! :)
     
  • 2.11, Аноним (11), 14:23, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Главное что систему пакетов, сделали наконец хотя бы частично вменяемой. А то раньше она работала максимально идиотским способом.
     

  • 1.15, DEUDEV (?), 14:41, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    кто использует Golang, сколько строк LoC у вас в проекте?
     
     
  • 2.19, Аноним (19), 14:58, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +23 +/
    > сколько строк LoC

    И сколько USD dollars of the United States of the USA вы зарабатываете?? Отпишитесь в этом ИТТ треде!!

     
     
  • 3.94, банкир (?), 19:58, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У тебя какая-то тройная тавтология.
     
  • 2.29, анонимит (?), 15:19, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Приложения на Go уже массово используются - Docker Kubernetes Prometheus Grafana Jaeger Loki и тд. По сути инфраструктура
     
     
  • 3.39, DEUDEV (?), 15:30, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    я в курсе, но интересно как используется язык за пределами Devops тулов
     
     
  • 4.141, Аноним (141), 01:59, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Всякие мелкие инфраструктурные штуки удобно писать, типа собиралки логов, или доставки событий, или backend-а для авторизации во внутренней системе (в паре с nginx auth_request), или всякие мелкие внутренние сервисы (типа кастомного geoip).

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

     
  • 4.169, Denis Dyakov (?), 10:24, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А вот пожалуйста - не лень же мне было целое пользовательское приложение пилить на Go: https://github.com/d2r2/go-rsync
     
     
  • 5.204, Аноним (204), 17:12, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    lol реально нефига было делать.
     
  • 5.260, Док (?), 08:13, 20/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А как ui  сделали? - Через файн либу?
     
  • 4.211, Andrii (?), 20:24, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В нас, в Лондоне очень много компаний и банков на Go.
     
  • 3.75, Анончик (?), 17:46, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    особенно весело что Kubernetes в фоне кушает 10% cpu и с минимум с пол гага памяти.
    А теперь возьмите все маленькие демоны которые есть в лине и прикиньте сколько они бы жрали будь они написаны на гошке?
    Тут от systemd плачут что он такой тяжелый не нужен, но с гошкой все впорядке, это теперь "инфраструктура"
     
     
  • 4.78, alex312 (?), 17:55, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >особенно весело что Kubernetes в фоне кушает 10% cpu и с минимум с пол гага памяти.

    Чувак, так что ж ты языком треплешь? Пиши такое-же (по функционалу) но чтоб 5% cpu и четверть гига памяти.
    И все, греби деньги лопатой.

    Или что, слабо !? Языком то оно на опеннете можно молотить забесплатно.

     
     
  • 5.81, Аноним (81), 18:08, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +7 +/
    А что там такого распрекрасного "по функционалу"? Небрежная обёртка для автоматизации запуска докеров. Подобные штуки админы старой школы на баше или perl писали пачками, каждый для себя. А тут сваяли для современных девляпсов, чтоб не напрягались. Они и молятся на это. Аж "инфраструктура" это у них! B аноним выше прав, кубер то ещё поделие. Глючит по-чёрному, жрёт память и CPU на ровном месте. Там не полгига. Он и несколько гигов может сожрать без проблем, и занять своими etcd и kubelet-ами CPU на 50% без проблем. Вижу это поcтоянно.
     
     
  • 6.97, TorOdinovi4 (?), 20:58, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Да что ты несешь такое, человече!
    Ну окунись ты в тему, прежде чем умного из себя строить))))
     
     
  • 7.124, Аноним (81), 22:18, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В отличии от тебя, окунутся таки пришлось. По самые уши запачкался этой субстанцией.
     
     
  • 8.197, TorOdinovi4 (?), 15:10, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Почти поверил даже ... текст свёрнут, показать
     
  • 6.145, Аноним (145), 03:38, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну напиши хоть на баше, хоть на перле, да на чем хочешь, такую альтернативную "обертку", чтоб выполняла примерно то же самое, но жрала меньше и не глючила. Станешь знаменитым.
     
  • 6.165, alex312 (?), 09:27, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Подобные штуки админы старой школы на баше или perl писали пачками, каждый для себя.

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

    И по итогу: все поделки умерли, и репутацию неплохому языку изговнякали.

     
  • 6.168, мое правило (?), 10:23, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Обёртка для докеров - орнул. Вы видимо не в теме уже давно. Во первых - там под капотом не докер. Во вторых - это не для запуска 1 пода с вашим анимэ на  старом макбуке в кредит, а для огромных кластеров.

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

     
     
  • 7.189, Аноним (81), 12:12, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот для огрумных клустеров админы старой школы и писали. А как работали все крупные сервисы до появления всемогущего  всевеликого бубера по-вашему? И докер там под капотом, ещё пока везде, не скоро его оттуда сковырнут.
     
  • 6.170, мое правило (?), 10:26, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Обёртка для докеров - орнул. Вы видимо не в теме уже давно. Во первых - там под капотом не докер. Во вторых - это не для запуска 1 пода с вашим анимэ на  старом макбуке в кредит, а для огромных кластеров.

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

     
  • 5.82, Анончик (?), 18:12, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Чувак, так что ж ты языком треплешь? Пиши такое-же (по функционалу) но чтоб 5% cpu и четверть гига памяти.
    >И все, греби деньги лопатой

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

    >Или что, слабо !? Языком то оно на опеннете можно молотить забесплатно.

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

     
     
  • 6.111, bergentroll (ok), 21:35, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Шаг 1: Возьмите деньги...
     
     
  • 7.128, Аноним (108), 22:32, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Шаг 0: Возьмите лопату
     
     
  • 8.148, bergentroll (ok), 06:37, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Будут деньги 8212 будет и лопата ... текст свёрнут, показать
     
  • 8.200, Аноним (204), 15:50, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну лично я согласен и без лопаты, обходясь лишь подручными средствами - есть тач... текст свёрнут, показать
     
  • 6.163, alex312 (?), 08:48, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Да вы, великий маркетолог, сходу определи потребности рынка

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

    >точно знает как грести лопатой деньги.

    Ага, делаешь функциональный аналог существующего продукта, но в 2 раза дешевле - и все. весь рынок твой!

     
     
  • 7.185, Анончик (?), 11:22, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Ага, делаешь функциональный аналог существующего продукта, но в 2 раза дешевле - и все. весь рынок твой!

    git pull https://github.com/kubernetes/kubernetes
    find . -type f -name "*.txt" -print0 | xargs -0 sed -i "s/kubernetes/kubernetes pro/g"
    готово, в лучших традициях РашенСтартап по мотивам Дениса и Лёхи.
      

     
     
  • 8.194, alex312 (?), 12:50, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    что-то не увидел в твоем рецепте уменьшения потребления ресурсов Из этого делаю... текст свёрнут, показать
     
  • 4.95, Owlet (?), 20:15, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Пол-гига это ещё по-божески, полноценное окружение несколько гигов сожрёт, ничуть не лучше, чем написанный на питоне openstack.

    Кстати:

    > отдельными заимствованиями из языка Python

    вообще ничего общего.

     
     
  • 5.224, Vladimir Poliakov (?), 00:16, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Есть заимствования.
    Я очень быстро не мелкий проект с Python+Flask перевел на Golang именно потому, что местами похоже.
     
  • 4.273, dev1 (?), 13:28, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Проблемма програм на ГО не столько в самом ГО, сколько в разработчиках, хотя у с... большой текст свёрнут, показать
     
  • 2.144, Аноним (145), 03:35, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У меня есть маленький уютный опенсорс-проект на 35 тысяч строк кода, например, а что? (на самом деле проект не один, но этот - любимый)
     
     
  • 3.214, Аноним (214), 21:44, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Дай позырить =)
     
  • 2.172, Брат Анон (ok), 10:38, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В моём проекте в стартапе у меня в сумме было 70к LOC
     
     
  • 3.229, Хрю Хрю (?), 08:41, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А я вощем написал такое

    for(int i = 0; i < 70000; i++) {
        puts("Helo Worald");
    }

    и мой проЭкт тоже 70000 тыщ строк!

     
     
  • 4.230, Брат Анон (ok), 10:24, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > А я вощем написал такое
    > ...scip...
    > и мой проЭкт тоже 70000 тыщ строк!

    Нет, я писал не такое.

     

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

  • 1.18, Растоним (?), 14:55, 17/02/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –6 +/
     

  • 1.20, Аноним (20), 15:02, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    > Добавлен пакет embed, предоставляющий средства для встраивания в программу произвольных файлов и каталогов

    Потихоньку догоняют Си 40-летней давности. Когда там добавили #include? Когда появился xxd?

     
     
  • 2.34, Аноним (34), 15:25, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что, хипстеры наконец подзаколебались при сборке постоянно перекачивать весь интернет?
     
     
  • 3.173, Брат Анон (ok), 10:40, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Что, хипстеры наконец подзаколебались при сборке постоянно перекачивать весь интернет?

    У же два года как вендоринг надёжно решил эту проблему. Лишь бы ляпнуть чо.

     
  • 2.46, Аноним (-), 16:11, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> Добавлен пакет embed, предоставляющий средства для встраивания в программу произвольных файлов и каталогов
    > Потихоньку догоняют Си 40-летней давности. Когда там добавили #include? Когда появился xxd?

    Опеннетные балаболы потихоньку балаболят?
    https://pkg.go.dev/github.com/jteeuwen/go-bindata
    >  Nov 20, 2014
    > This package converts any file into managable Go source code. Useful for embedding binary data into a go program. The file data is optionally gzip compressed before being converted to a raw byte slice.

     
     
  • 3.53, Аноним (20), 16:32, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Такую фигню можно для любого языка написать. Правда в сишке это было всегда, а в игогошечке вплоть до сегодняшнего дня нужно было идти качять)) стороннюю мокрую писечку.
     
     
  • 4.65, Аноним (65), 17:12, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    это линкером делается, писать ничего не надо - добавляешь свою секцию data
     
     
  • 5.99, Урри (ok), 21:08, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот только для мипсов бинутилы для этого так и не доделали.
     
  • 5.162, alex312 (?), 08:41, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    допустим затянул ты линкером некий файл в бинарь.
    Как его потом из С использовать?
     
     
  • 6.235, Аноним (-), 10:34, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Берешь вот и используешь себе. В чем проблема ? Или учебник скачать не можешь ?
     
     
  • 7.241, alex312 (?), 10:46, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    проблема в том что ты безграмотный балабол.
     
  • 2.48, Аноним (48), 16:21, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Лет через десять смотри и догонят.Сингулярность,епт.
     
  • 2.79, alex312 (?), 17:58, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    очередной дырявый сишник заврался.

    Это когда #include научился каталоги встраивать в программу?

     
     
  • 3.83, Аноним (-), 18:19, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > очередной дырявый сишник заврался.

    Скорее всего, очередной "слаще морковки не едавший" увидел знакомое слово.
    Кстати, интересно, "гуру" с xxd выше, в курсе "маленьких нЬю-ансов"
    > 4095 characters in a logical source line
    > 4095 characters in a character string literal or wide string literal (after concatenation)
    > 65535 bytes in an object (in a hosted environment only)

    (а в с89 - вообще лимит в 32KB)

     
     
  • 4.106, Урри (ok), 21:24, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > 65535 bytes in an object (in a hosted environment only)

    Это не жесткое ограничение. У меня таким образом инклудится двухметровый файл с unsigned char x[] = {...};

     
     
  • 5.123, Аноним (-), 22:18, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> 65535 bytes in an object (in a hosted environment only)
    > Это не жесткое ограничение. У меня таким образом инклудится двухметровый файл с
    > unsigned char x[] = {...};

    Естественно не жесткое, это минимальный лимит из стандарта.
    И естественно, на разных компиляторах можно было по разному "поудивляться" ;)


     
  • 2.171, Denis Dyakov (?), 10:35, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Никогда там не будет #include - это как раз тот анахронизм, от которого все модные молодежные языки програмирования избавляются с рождения.

    Вот здесь рассказ Роберта Пайка, создателя языка Go, про то, что #include в больших проектах на C/C++ приводит к тому, что один и тот же файл вычитывается десятки раз, из за чего время компиляции на этапе препроцессинга достигает получаса и более (читать раздел 5. Dependencies in C and C++): https://talks.golang.org/2012/splash.article

    [сообщение отредактировано модератором]

     
     
  • 3.186, Анончик (?), 11:32, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Отличная иллюстрация того что проблемы гугла не шибко то волнуют остальной мир и именно по этому гуглу и нужен был golang.
     
  • 3.213, анонимррр (?), 21:28, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    C++ тоже уходит от include на модули в C++20
     
     
  • 4.215, Аноним (214), 21:46, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В то время когда уже эти ушли.
     
     
  • 5.252, Аноним (252), 15:47, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Выкинув все либы и оставив весьма тухлую возможность подключать C код (CGo is not Go как говорит Пайк). Вот когда допилят свои либы до уровня крестов, можно будет честно сравнить. Ставлю на то, что в крестах скорость компиляции к тому времени поднимут в 10 раз, как и обещал Страуструп.
     
  • 3.262, ptr128 (?), 19:11, 20/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Все решаемо, по крайней мере, на GCC
    http://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html#Guard-Macros
     
  • 2.174, Брат Анон (ok), 10:41, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Потихоньку догоняют Си 40-летней давности. Когда там добавили #include? Когда появился
    > xxd?

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

     
     
  • 3.205, Аноним (204), 17:16, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вот чисто для справки - весь твой модный го..вненок делается за пару часов на коленке, откуда столько шума вокруг этого убожества - понять невозможно, видимо за это вваливают бабло, а раз вваливают значит окучивают лоха. А на директора гулга ты не похож кстати.
     
     
  • 4.244, alex312 (?), 10:52, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Вот чисто для справки - весь твой модный го..вненок делается за пару часов на коленке,

    очередной анонимный "таксист", всегда знает как надо сделать лучше, но некогда 😁

     
     
  • 5.255, Аноним (-), 17:39, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    что-то жиденькое совсем у тебя. Этому на мивину не давать месяц ! пусть подсохнет децл
     
     
  • 6.261, AndrD (?), 09:03, 20/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да что ты несёшь такое? Как ты сюда попал?
     

  • 1.21, Аноним (21), 15:03, 17/02/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     

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

  • 1.22, Аноним (22), 15:05, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    GUI юзабельный есть?
     
     
  • 2.26, Аноним (5), 15:10, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я слышал, есть серьёзные проблемы с использованием нейтив кода. В частности, производительность просаживается. По этой причине никакого тебе гуя, и для игрушек тоже использовать нельзя. Чисто вебнявая поделка.
     
     
  • 3.31, анонимут (?), 15:22, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    И инфраструктурная, что уже немало для вытеснения Java Python и прочее
     
     
  • 4.36, Аноним (34), 15:26, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Этих не жалко.
     
  • 4.40, DEUDEV (?), 15:33, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    чтобы питон и джаву вытеснить отдного равенства или незначительного превосходства в производительности не достаточно, нужны сотни тысяч "батареек", кучу оттестиных временем модулей.
     
     
  • 5.216, Аноним (214), 21:48, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не выйдет там батарейки стандартизированы и в комплекте, а тут бегай по всему интернету ищи.
     
  • 3.35, анонимут (?), 15:26, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Многие приложения сейчас на самом деле web приложения
     
     
  • 4.237, Аноним (-), 10:37, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это где такое ?
     
  • 3.43, qweqwe (?), 15:53, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Даже фотошоп стал облачным... а вам всё гуй гуй...
     
     
  • 4.51, SinoptikU (?), 16:27, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Пора и ОС в инеты загонять и абонплату за использование брать!
     
     
  • 5.84, Аноним (-), 18:20, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вы, физики, как хотите, но бизнесс говорит: "Нет!".
    Корпоративная тайна - данные организации которые публиковать нельзя.
    Так что да - гуй, гуй..
     
     
  • 6.87, SinoptikU (?), 18:53, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это сарказм был! Я, кстати, тоже за GUI, потому что нативнее и быстрее.
     
  • 6.100, Урри (ok), 21:10, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Бизнес говорит "Да, Майкрософт, имей меня полностью. Вот тебе мои документы онлайн, вот тебе моя переписка онлайн, вот тебе мои чаты онлайн, вот тебе база моих клиентов онлайн".
     
     
  • 7.103, Аноним (-), 21:18, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну если руководители бизнеса позволяют протыкать, то пожалуйста. У нас по-другому.
     
     
  • 8.107, Урри (ok), 21:25, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У вас бизнес научен фсб все прятать В мире бизнес научен доверять корпорациям з... текст свёрнут, показать
     
     
  • 9.156, Аноним (-), 07:22, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А причем тут фсб ... текст свёрнут, показать
     
     
  • 10.217, Аноним (214), 21:51, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Слашал они приходят и все читают по ночам ... текст свёрнут, показать
     
  • 2.133, Myyx (?), 23:20, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    электрона хватит для всего
     
  • 2.175, Брат Анон (ok), 10:42, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > GUI юзабельный есть?

    Gtk, Qt, Tk, UI, Godot, Flask, termux, HTML5 -- хватит?

     
     
  • 3.187, имя_ (?), 11:38, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Godot, Flask, ... HTML5

    охлол

     
  • 3.219, Аноним (214), 22:13, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Погоди это какие-то библиотеки причем первая идет с тонной каких-то хвостов, а вторая С++ код только поддерживает и сомнительно что там есть биндинги к Golang.

    Речь о встроенной реализации, что-то вроде Swing в Java или WinForms в .NET,
    а точнее какой-то путь предоставленный самими разработчиками языка.

    Просто язык который ен позаоляет визуализировать и взаимодействовать с пользоватлелем очень странный язык. Причем это какой-то путь в Backend для джунов?

     
     
  • 4.231, Брат Анон (ok), 10:29, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Погоди это какие-то библиотеки причем первая идет с тонной каких-то хвостов, а
    > вторая С++ код только поддерживает и сомнительно что там есть биндинги
    > к Golang.

    Мне, как программисту -- без разницы на чём написана либа. Все перечисленные имеют 1(или даже 2) привязки к Go, или имеют нативную реализацию на Go. Вам ехать или шашечки?

    Вторая из перечисленных внезапно имеет биндинги как минимум к питону, кроме Go.


     
     
  • 5.238, Аноним (-), 10:39, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Мне, как программисту -- без разницы на чём написана либа

    Тут либо первое либо второе.

     
     
  • 6.239, Брат Анон (ok), 10:41, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Мне, как программисту -- без разницы на чём написана либа
    > Тут либо первое либо второе.

    Ответ не правильный. Тут дедлайн и бюджет.

     
  • 4.268, Илья (??), 21:56, 26/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Пожалуйте вот вам GUI fyne.io/fyne
     
  • 2.193, figli (?), 12:35, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    liteide
     

  • 1.27, Q2W (?), 15:18, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > предоставляется новая директива "//go:embed".
    > Например, указание в коде комментария "//go:embed test.txt"
    > и объявление следом переменной "var f embed.FS" приведёт

    Т.е. добавили в язык фичу, но она живёт в комментариях?
    Это чё за жесть такая в 2021?
    Костыли в языке такие большие, что их видно даже в прессрелизах!

     
     
  • 2.42, Аноним (20), 15:47, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нужно больше магических выкрутасов!
     
  • 2.45, Аноним (45), 16:11, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А что вы хотели от человека, который такое утверждает:

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

     
     
  • 3.69, Аноним (69), 17:29, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    но ведь он прав!
     
     
  • 4.177, Брат Анон (ok), 10:45, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > но ведь он прав!

    Он прав.

     
  • 2.176, Брат Анон (ok), 10:45, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> предоставляется новая директива "//go:embed".
    >> Например, указание в коде комментария "//go:embed test.txt"
    >> и объявление следом переменной "var f embed.FS" приведёт
    > Т.е. добавили в язык фичу, но она живёт в комментариях?
    > Это чё за жесть такая в 2021?
    > Костыли в языке такие большие, что их видно даже в прессрелизах!

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

    Вы часом не поклонник перехода от питона2 к питону3?))

     
     
  • 3.212, Аноним (212), 21:28, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Может не нужно было это изобретать? Ни версию 1, ни следующие?
     
  • 3.223, PetrG (ok), 23:42, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Однако - нет. Если этот комментарий не обрабатывается - то программа не будет правильно работать. Так что совместимости это не добавляет.

    Для Го давно есть несколько библиотек которые делают тоже самое. Могли бы API из них позаимствовать и добавить это в стандартную библиотеку, например.

     
     
  • 4.233, Брат Анон (ok), 10:33, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Однако - нет. Если этот комментарий не обрабатывается - то программа не
    > будет правильно работать. Так что совместимости это не добавляет.

    Каким образом в старом коде может появиться НОВАЯ ФИЧА?
    Каким образом в новом проекте может появиться НОВЫЙ компилятор, если он не установлен, а в новом компиляторе ПРИНУДИТЕЛЬНО ВКЛЮЧЕНЫ модули, где ПРИНУДИТЕЛЬНО указана ВЕРСИЯ КОМПИЛЯТОРА?


    Вы какую-то чушь написали.

     
  • 3.234, randomize (?), 10:34, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вы часом не поклонник перехода от питона2 к питону3?))

    Чисто религиозный вопрос.

     
  • 2.195, еман (?), 13:32, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ты кто такой, чтобы ставить это под вопрос?
     

  • 1.28, Аноним (81), 15:19, 17/02/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +6 +/
     

     ....ответы скрыты (6)

  • 1.50, Аноним (50), 16:23, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Мне этот язык не нравится, чисто с админской стороны.

    Есть, например, небольшая программка на Go. Небольшая - зависимостей 10-15. Вопрос, который меня убил - как ее собрать в пакет?

    Изучив то что было на тот момент в Go 1.14 по вытягиванию зависимостей, я был в ужасе.
    Получается, что чтобы собрать программу текст которой содержит внешние зависимости от других библиотек, мне нужно... скачать их из какого-попало гитхаба/гитлаба и прочего.

    В гитхабе оно привязывается к тегу ну или бранчу... не важно. Главное что признаком нужной версии в конечном итоге является хэш коммита. НО! Пакетный менеджер Go видит тег, а не хеш. То есть теоретически если программа prog1 версии 0.1.0 требует библиотеку lib1 версии 1.0.4, то 1.0.4 будет тегом, который разработчики lib1 могут поменять.

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

    Fedora, например, решает проблему так:
    1. Написать спек для каждой библиотеки, от которой зависит программа так, чтобы результирующий SRPM проверял не только тег, но и хэш коммита
    2. Писать спек rpm который будет тянуть код для сборки программы не из git, а из специально оформленных SRPM-пакетов с кодом зависимостей.

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

    Судя по обсуждениям и объяснениям, RedHat решил себе столько работы придумать, потому что не уверен в том, что завтра, послезавтра или через 5 лет программа из репозитория соберется, если у нее есть внешние бесконтрольные зависимости. Debian, как я понял из новостей про kubernetes решил что "и так сойдет", но я не проверял, это не точно.

    Просто если дать Go-компилятору волю, он именно в инет на git полезет за своими зависимостями. Какие-то идеи по надежному сопровождению, гарантии, повторяемость сборки летят псу под хвост, если не обмазаться сотнями SRPM-ок на Go... с одной стороны. С другой стороны, работы на пустом месте оно создаёт так много, что лучше программы на Go просто не поставлять ни в составе дистров, ни в собственных корпоративных репозиториях. Только бинарно, построив отдельную специфичную для Go систему сборки и тестирования.

    У питона, например, таких проблем нет, потому что питоновское барахло имеет релиз.

    Если у вас на предприятии кто-то хочет писать на Go программу, которую нужно сопровождать Вам, постарайтесь донести до менеджмента, что наличие кода на Go увеличивает нагрузку на техподдержку. Микросервисы в кубиках пусть пишут, но не больше. Благо, с ними девопсы мучаются в отдельном CI/CD, а не техподдержка.

     
     
  • 2.58, Сейд (ok), 16:53, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Особенно интересно собирать RPM для программы на Go в Fedora Copr. Перед этим нужно собрать нужные для компиляции зависимости, но ещё перед этим нужно собрать вторые зависимости для компиляции первых зависимостей.
     
  • 2.80, Анончик (?), 18:02, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так не нужно запускать go get -u и не будет вам обновлений на зависимости.
    Ну а вообще да если исходить из необходимости опакечивания то нужен отдельный тулинг для этого. Увы и ах, тулинг написанный под си тут не очень подходит из коробки
     
  • 2.85, Аноним (-), 18:32, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    После секса с python 2 3 у нас на предприятии поднялся вопрос на какую платформу... большой текст свёрнут, показать
     
     
  • 3.88, Аноним (5), 18:53, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Чёт котолампа.
     
     
  • 4.89, Аноним (5), 19:08, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я имею в виду даже не котолампа, а копипаста. Я уже видел это именно в таком набросном изложении.
     
     
  • 5.110, Аноним (-), 21:34, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Логическая нестыковка по контексту Следовательно, либо сообщения 88 и 89 писа... большой текст свёрнут, показать
     
  • 3.139, Аноним (139), 01:26, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    XS и развертывание - это как раз минусы перла. Особенно в последние годы упала стабильность интерфейса XS.
    Даже в PHP API для написания расширений намного проще, чем XS.
    Сам язык медленный. Далеко не все происходит в сишной части. Не такой тормоз, как питон, но все равно.

    Если подобного плана языки сравнивать, у Lua и развертывание, и написание биндингов проще даже не в разы - на порядок. За счет JIT можно писать производительный код даже прямо на языке.

     
     
  • 4.240, Аноним (-), 10:44, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Что там у перла упало в последние годы ?
     
  • 2.122, valyala (?), 22:18, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Откройте для себя 'go mod vendor'. Нормальные проекты, написанные на Go, собираются без лазанья в интернет за зависимостями, т.к. все нужные зависимости уже заботливо сложены в репозитории в папку 'vendor' с помощью 'go mod vendor'. См., например, https://github.com/VictoriaMetrics/VictoriaMetrics/ .
     
     
  • 3.263, Capra (ok), 21:14, 20/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Только хотел написать, что мешает сделать локальный срез необходимых репозиториев?
     
  • 2.138, a (??), 00:58, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Пакетный менеджер Go видит тег, а не хеш

    балабол-неосилятор. Как скажешь так и будет. Хоть тег, хоть хеш коммита.

     
  • 2.142, Аноним (141), 02:06, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Еще один не осилил, но критикует.

    Принцип тут ровно такой же, как и везде - если ты не разработчик, не дергай обновление зависимостей по сети. Читать про go mod vendor.

    Ничего такого специфичного в системе сборки go нет, от всяких там gradle принципиально не отличается. А поставлять внутри предприятия конечно надо бинари, собранные на собственном билд-сервере.

     
  • 2.178, Брат Анон (ok), 10:49, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Видимо программистов на Go не учили что такое "релиз" и, типа, это
    > нормально зацепиться зависимостью на какой-то бранч в который в конечном итоге
    > могут закоммитить и что-то поломать. И вот эта байда по всему
    > Go.

    Вы сейчас какую-то откровенную фигню написали. Посмотрите вот сюда:
    > golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect

    Здесь ВООБЩЕ нет никаких тегов. Дата коммита с точностью до микросекунды и хэш от коммита.
    "Какой-то бранч"?))) Ну ка, пример в студию, как вы сможете зацепить бранч НЕ МАСТЕР?)) Ой, простите.. НЕ ПРАЙМЕРИ))

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

     
     
  • 3.209, Ordu (ok), 20:06, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну ка, пример в студию, как вы сможете зацепить бранч НЕ МАСТЕР?

    А по хешу коммита разве нельзя?

     
     
  • 4.236, Брат Анон (ok), 10:35, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Ну ка, пример в студию, как вы сможете зацепить бранч НЕ МАСТЕР?
    > А по хешу коммита разве нельзя?

    Нет, нельзя, если не указана ветка репы. Но если программист сам себе стреляет в ногу -- тут никакой доктор не поможет. Более того, я бы на месте доктора и не стал бы помогать.

     
  • 2.226, Митя Трансформатор (?), 03:15, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Микросервисы в кубиках пусть пишут, но не больше.

    Так а больше и не надо. Весь продакшен давно в кубике. Контейнер крутится - лавеха мутится.

     

  • 1.86, Аноним (86), 18:52, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Go это ЯП для смузидевочек с розовыми волосами
     
     
  • 2.90, анонимз (?), 19:17, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Не всем же быть бородатыми однимами в растянутых свитерах с аленями :)

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

     
     
  • 3.117, Sw00p aka Jerom (?), 22:02, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >передающий кадры

    сегменты

     
     
  • 4.151, анонимз (?), 07:09, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вообще я графические кадры передавал
     
     
  • 5.196, Sw00p aka Jerom (?), 14:36, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще я графические кадры передавал

    а зачем тогда акцентировать на TCP?

     
     
  • 6.218, анонимррр (?), 21:59, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Просто свой протокол
     
  • 6.243, Аноним (-), 10:47, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    вау, этот чел передал тсп за вечер, сума сойти, сила го !
     
     
  • 7.258, Sw00p aka Jerom (?), 20:57, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > вау, этот чел передал тсп за вечер, сума сойти, сила го !

    да неее, просто не однозначно выразился, как следствие - появления дополнительных вопросов для ясности.

     
  • 3.129, Аноним (129), 22:44, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А теперь сохрани эти кадры в mysql
     
  • 3.132, СССР (?), 23:13, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а я на с++ тоже самое за 20 минут
     
     
  • 4.152, анонимз (?), 07:11, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ...а возни было больше с чтением и шифрованием кадров изображения. Я для демо проекта RSA реализовал.
     
  • 2.91, анонимз (?), 19:19, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя C++ мне всё равно нравится больше
     
     
  • 3.136, Аноним (86), 00:30, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    C++ это урод от мира ЯП, хуже него только раст
     
     
  • 4.143, Аноним (143), 03:19, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Раст лучше, продвинутее.
     
     
  • 5.149, Хартман (?), 07:00, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Продвинутее в убогости и я об этом
     
  • 2.135, какбычегоневышло (?), 23:58, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как раз это таки про раст. Самое девочко-розово-френдли коммюнити. Но я, кстати, не записывал бы это в недостаток. Некоторые из этих девочек легко запихнут за пояс матерых свитероносцев, щеголяющих доскональным знанеим плюсов. Ну и что, что ноги не бреют?
     
     
  • 3.137, Аноним (86), 00:33, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А че кресты то сразу? Go каким боков пересекается с десктопом или системным софтом? Это язычок для написания микросервисов, так что сравнивать гоу правильнее с вебней типа шафра и жабы, но те конечно более общие ЯП
     
     
  • 4.179, Брат Анон (ok), 10:56, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А че кресты то сразу? Go каким боков пересекается с десктопом или
    > системным софтом? Это язычок для написания микросервисов, так что сравнивать гоу
    > правильнее с вебней типа шафра и жабы, но те конечно более
    > общие ЯП

    Моя десктопная софтина на Go с тобой полностью не согласна. Чушь написал не подумав.
    Кресты -- убожество.

     
  • 4.188, nelson (??), 12:11, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Go каким боков пересекается с десктопом или системным софтом?

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

     

  • 1.92, Чума (?), 19:38, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Go был бы нормальным, если бы не сpал в ~/go и ~/.cache/go-build
     
     
  • 2.154, анонимз (?), 07:14, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Открой для себя GOPATH хотя бы
     
     
  • 3.160, Аноним (160), 08:07, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не в теме. И совсем не понял проблему.
     
  • 2.180, Брат Анон (ok), 10:57, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Go был бы нормальным, если бы не сpал в ~/go и ~/.cache/go-build

    Пути выставлять и go cashe clean не пробовал, чудик?

     
  • 2.206, Аноним (204), 17:18, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так это, rm -fr где там эти go, в /usr/bin через судо если что. Нафиг в систему тянешь всякую парашу.
     

  • 1.93, Чума (?), 19:41, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Так решаются 98% проблем с исходниками Go:

    #!/bin/sh

    set -eux

    : "${KUMA_GIT_REPO:=https://github.com/kumahq/kuma.git}"
    : "${KUMA_GIT_REV:=1.0.7}"

    tmpdir=$(mktemp -d -t "kuma-git-${KUMA_GIT_REV}-XXXXXX")
    trap 'rm -rf "$tmpdir"' EXIT

    git clone --depth 1 --branch "${KUMA_GIT_REV}"  "${KUMA_GIT_REPO}" "$tmpdir/kuma-${KUMA_GIT_REV}"

    tar -cvJf "kuma_${KUMA_GIT_REV}.orig.tar.xz" -C "$tmpdir" \
      --exclude '.*' \
      "kuma-${KUMA_GIT_REV}"

    cd "$tmpdir/kuma-${KUMA_GIT_REV}"
    go mod vendor -v
    cd -

    tar -cvJf "kuma_${KUMA_GIT_REV}.orig-vendor.tar.xz" -C "$tmpdir/kuma-${KUMA_GIT_REV}" \
      --exclude '.*' \
      --strip-components=1 \
      "vendor"


    Почему не 100%? Потомучто там ещё JS & Yarn и нагенеренные файлы Go.

     
  • 1.102, Урри (ok), 21:14, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Отмечается, что 96% разработчиков уже перешли на новую систему модулей.

    Другими словами 24 уже перешли, а 25й еще нет.

     
  • 1.112, Аноним (112), 21:49, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > import _ "embed"

    Если бы я даже на прошлой работе такое придумал меня бы расстреляли как минимум.

    "Кому как, конечно, но я бы не стал" (с)

     
     
  • 2.181, Брат Анон (ok), 10:59, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> import _ "embed"
    > Если бы я даже на прошлой работе такое придумал меня бы расстреляли
    > как минимум.
    > "Кому как, конечно, но я бы не стал" (с)

    1) Тебя никто не заставляет.
    2) Куча пакетов с десятками килолайков на гитхабе именно так себя инициализируют. Например, небеизвестный goql.

     

  • 1.113, Аноним (113), 21:51, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Уже лет 7 на гошке пишу, после с++ - это просто радость.
    При этом языке проще, а зп выше.
     
     
  • 2.130, Аноним (112), 23:05, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Опять все стерли. Обострение прогрессирует. Может к доктору уже пока не поздно? Еще чуть-чуть - и вспомнить не сможете что такое каменты и как их удалять.
     
  • 2.131, Аноним (112), 23:07, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я серьезно. Мне самому-то уже лет дохрена, а я работал с программистами после инсульта. Ужасная штука. Лучше не шутить.
     
  • 2.134, Аноним (112), 23:21, 17/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Давай я тебе по существу отвечу раз уж.
    Гошка - гуано. Ниже мой камент про монгу, плюс немного собственного опыта. И даже если бы все поделки на го не жрали память как не в себя (уверен, где-то есть волшебные настройки, но пока не могу понять где, впрочем, уже ненужно), все равно воротит от синтаксиса. Для меня самое логичное обяснение гошкиному хайпу это то, что Пайк, при всем уважении, набрал кредитов и ипотеку впридачу, вот и вынужден симулировать бурную деятельность в гугле. Видосы с плюшевыми куклами для совсем уж целевой аудитории в том числе.
    Я вернулся к плюсам. После питона, го, и прочего - радость просто неимоверная.
     
     
  • 3.150, qweqwe (?), 07:03, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Память течет из-за кривых рук и не знания языка.
     
  • 3.153, Аноним (113), 07:13, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну у меня память в гошке не течет и расходуется слабо, в сравнении со всякими пхп и питонами, так вообще копейки.
    Синтаксис языка божественен, его не любить можно только пока не начал писать, через три месяца работы на нем я понял, что нашел язык мечты и только дженериков не хватает...
    А успех объясняется просто: gc, компилируемый, удобная многопоточность, кроссплатформенный, низкий порог входа, быстрая разработка (time to market ниже), активно развивается.
     
     
  • 4.157, анонимз (?), 07:27, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В Python всё объекты и в этом проблема когда, к примеру, строк тьма. Поэтому ацкие тормоза и аллокатор память жрет. Python не плох для консольных небольших утилит.
     
  • 4.203, Gemorroj (ok), 16:19, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    хайп вокруг го объясняется только тем, что за ним гугель стоит.
     
  • 3.182, Брат Анон (ok), 11:01, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > ... И даже если бы все поделки на го не жрали память
    > как не в себя (уверен, где-то есть волшебные настройки, но пока
    > не могу понять где, впрочем, уже ненужно), ...

    Go жрёт память?!.... Сходил сейчас проверил -- не жрёт. Дальше можно не читать.
    Ах да: тебе инструмент нужен от кривых рук? pprof! Пользуйся на здоровье.
    После гошечки я обратно на питон не хочу. А от С++ с самого начала тошнило.

     
     
  • 4.271, Аноним (-), 16:10, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Go жрёт память?!.... Сходил сейчас проверил

    Точно, оно добавляет памяти, вот было 4 гига, теперь 5, еще позапускаю чтоб стало 16 гигов и на апгрейде съекономлю.

     

  • 1.121, Аноним (112), 22:14, 17/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати! Кстати, пацаны, тока что вспомнил - ведь mongoimport на гошке, а я им недавно пользовался и вот что получается. Импорт бэкапа размером 3.5 гига отжирает ровно столько же гигов оперативки. Я демо-аплаенс виртуалбоксовский делал чтоб клиент заценил у себя на локалхосте все прелести нашего супермегапродукта. Четыре гига оперативы для виртуалки вполне хватало и для mongodb, и для мегасистемы, и еще свободно полтора гига оставалось. Но для cpaных монговских тулзов на гошке, тупо чтобы импортнуть базу, понадобилось еще подключить своп 8 гиг. Я чесслово в тот момент позавидовал майэскюэльшикам. А мне еще по плану делать импорт данных за месяц, а не за два дня как в данном случае. Сколько оперативы жрать будет? Очкую заранее.
    В курсе вас держать не буду, есть более важные дела.
     
     
  • 2.140, Sw00p aka Jerom (?), 01:35, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Я чесслово в тот момент позавидовал майэскюэльшикам

    а че тут завидовать, там ваще беда с версией 5.7, при банальном mysqldump с удаленного сервера, mysql сервер начинает отжирать память и не высвобождать, через пару дней таких бекапов и свопа нет, а дальше самизнаетечто. На 5.6 такого не замечал. Кто сталкивался?

     
  • 2.146, Аноним (145), 03:42, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Расскажите пожалста, как кривые руки автора утилиты (который на любой файл решил делать ReadAll) делают язык плохим?
     
     
  • 3.155, Аноним (113), 07:16, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тсс, он не понимает, что это разное!
    Это же просто хейтер, ему только поводы нужны.
     
  • 3.208, Аноним (112), 18:31, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Рассказываю: плохой язык притягивает к себе кривые руки.
     
     
  • 4.259, Аноним (259), 21:59, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Рассказываю: плохой язык притягивает к себе кривые руки.

    Эк вы ... смело ... о Божественных Плюсах и Великой Сишечке высказались!


     

  • 1.147, Аноним (147), 04:11, 18/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Столкнулся с тем что моя программа на go выполняется относительно медленно, посмотрел профилировщиком и увидел что 90% времени занимает crypto/sha256 чего по логике не должно бы быть. Кто нибудь знает что то про это? Буду искать аналогичную функцию но не из пакета crypto/sha256
     
     
  • 2.158, анонимррр (?), 07:32, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сам crypto/sha256 или выделение буферов памяти на каждую итерацию?
     
     
  • 3.161, Аноним (147), 08:21, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    профилировщик пишет: crypto/sha256.block. у меня используется sha256 но ее доля мне кажется должна быть на уровне 0.1%, а тут жесточайшие тормоза и такой выхлоп профилировщика. попробую использовать альтернативную реализацию sha256
     
     
  • 4.245, Shtiric (?), 10:55, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Какой-то бред sha256 вообще давно аппаратно ускоренное и уже давно есть в процах.  
     
  • 4.247, Shtiric (?), 10:57, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/minio/sha256-simd
    вот это посмотрите
     
     
  • 5.253, Аноним (253), 15:53, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    да спасибо сам находил это, там оптимизация под AVX.
    но дело в том что тормоза на проце который AVX не поддерживает.
    буду писать модуль на С, у меня там криптография и лучше я в C заюзаю openssl
     
     
  • 6.270, Аноним (253), 15:27, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    вообщем в результате даже на чистом C не такой уж большой выигрыш, я отказался от этого алгоритма и резко ускорился
     
  • 2.183, Брат Анон (ok), 11:03, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Столкнулся с тем что моя программа на go выполняется относительно медленно, посмотрел
    > профилировщиком и увидел что 90% времени занимает crypto/sha256 чего по логике
    > не должно бы быть. Кто нибудь знает что то про это?
    > Буду искать аналогичную функцию но не из пакета crypto/sha256

    pprof запускать не пробовал?

     
     
  • 3.220, Аноним (147), 22:39, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пробовал. Буду на C писать модуль для golang
     
     
  • 4.251, acroobar (?), 12:22, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше модуль для Nim.
     
  • 4.264, Брат Анон (ok), 09:22, 26/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И получишь дикий оверхэд на сисколы и единое бутылочное горлышко для взаимодействия с С.
     

  • 1.159, Аноним (159), 07:37, 18/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Никогда не понимал популярность этого языка. Производительность, как у Java, а фич даже меньше, чем в ней. Современные программисты уже настолько деградировали?
     
     
  • 2.164, анононим (?), 08:52, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    так Go упрощенная версия C:) C самый популярный не ООП язык.
    > Производительность, как у Java,

    даже если это так. спорить не стану :) то написать на Java нужно намного больше кода чтобы реализовать тоже самое на Go или Python. но Python из-за GIL выполняет программы однопоточно. здесь Go выигрывает из-за простоты goroutines которые еще и намного легковеснее потоков. в Go любопытный планировщик. и памяти нужно намного меньше чем Java программам. есть версия для микроконтроллеров TinyGo

     
  • 2.167, PnD (??), 10:20, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сделать что-то "инфраструктурное" за приемлемый срок.
    Те же поделия на java надо как-то сопровождать.
    * Я даже слегка подозреваю, что… как бы сказать… каминг-аут с python 3.x проспонсировал google. Потому что "наглая рыжая морда".
     
  • 2.184, Брат Анон (ok), 11:05, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Никогда не понимал популярность этого языка. Производительность, как у Java, а фич
    > даже меньше, чем в ней. Современные программисты уже настолько деградировали?

    Чо? Как у Java?))) Ну мне ты можешь не рассказывать, сынок. Ага. Ещё расскажи про конкурентность/мультипоточность, нативность и пожирание памяти))
    А уж скорость написания кода и возможность читать его ( САМОЕ ГЛАВНОЕ) -- ой не в пользу второго языка. Молод ты ещё, не понимаешь сколько стоит труд разработчика.

     
     
  • 3.190, Аноним (190), 12:24, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Мань, у Go практически такая же производительно, а вот памяти он потребляет меньше, да. Ты лучше, прежде чем свои скобочки высирать, посмотрел бы бенчмарки.
     
     
  • 4.198, Брат Анон (ok), 15:14, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > ... а вот памяти он потребляет
    > меньше, да. Ты лучше, прежде чем свои скобочки высирать, посмотрел бы
    > бенчмарки.

    Чушь на постном масле. Хотя бы на том основании, что Ява выделяет виртуальную память процессам в своей памяти. Управление локальной памятью относительно суперлокальной памяти процессов -- это явно дороже, чем прямая работа с кучей. Учи матчасть, сынок. Вот тебе небольшенький пруф:

    https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/go.html

    Разница в потребляемой памяти 12...16 раз. Если бы ты ко мне пришёл на собеседование -- я бы тебя не взял. Ни на Яву, ни на Го.


     
     
  • 5.201, Аноним (201), 16:09, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты мой пост вообще читал, дурачек? По твоей же ссылке видно, что скорость выполнения почти такая же, где-то го быстрее, где-то джава. А вот памяти го потребляет меньше, что я и написал в своем прошлом посте.
     
  • 5.222, Аноним (112), 22:52, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ржу я над вами, собеседователями. Сидишь сам по себе, имеешь профит, но скучно же. В люди хочется. Бабло значения не имеет, но собеседователи такие все из себя такие, корчатся за недопущение тебя до должности которая стоит 30% того, что имеешь. Да ну вас всех в баню.
     
     
  • 6.227, Жора Фосген (?), 03:26, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >корчатся за недопущение тебя до должности

    Корчатся за недопущение твоих рученок до прода. Денег не жалко. Особенно если учитывать что собеседующие тех.спецы не имееют никакого отношения к денежным вопросам и размера твоей компенсации не знают вообще. Так что не льсти себе.

     

  • 1.199, acroobar (?), 15:30, 18/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда гугл хром уже перепишут на go?
     
     
  • 2.207, Аноним (204), 17:20, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Это сколько терабайт памяти надо будет чтоб рендерить опеннет хотяб ? лол, максимум обвертка от сурла и тутже умирать чтоб память освободить, на большее "это" не способно.
     
  • 2.265, Брат Анон (ok), 09:25, 26/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Когда гугл хром уже перепишут на go?

    ЗАЧЕМ? Что, больше не чем заняться? Ты ходилку с ржавым не перепутал, земляк?

     
     
  • 3.266, acroobar (?), 09:47, 26/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    google chrome на го, firefox на раст, не?
     
  • 3.269, acroobar (?), 23:07, 26/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Goмики vs педеrustы, не?
     

  • 1.210, Аноним (210), 20:18, 18/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Почитал разные ветки комментариев, стало грустно Ну, товарищи, вряд ли кто-то г... большой текст свёрнут, показать
     
     
  • 2.221, Аноним (112), 22:47, 18/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, все-таки сишка - это круче гошки когда надо на минимальных ресурсах максимум отдачи. Пройденный этап для меня. Конечно, мнение субъективно, и, например, на серверах с минимумом 128GB оперативки я 10 лет не заморачивался с тем же mongorestore. Но как правильно сказал один чел, - дешевизна железа - это миф. И когда надо сделать рабочий вариант хренотени на минимальных ресурсах - вот тут-то и затык. А минимальные ресурсы - они повсеместно сейчас. Для кое-чего, если сумеете выжать из них нужное - будет профит. Ну вы поняли. Надеюсь.
     
     
  • 3.228, Витя Терминатор (?), 03:43, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Банановые снежные бантустаны в которых рабы пашут за копейки повсеместно В с... большой текст свёрнут, показать
     
     
  • 4.232, Аноним (-), 10:32, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > В странах первого мира затраты на разработку и поддержку многократно

    Украина, я еду, завали меня дешевыми железками и бесплатным электричеством !

     
     
  • 5.249, alex312 (?), 11:27, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    "дешевый" и "дешевле" - это разные слова и про разное.

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

     

  • 1.242, Аноним12345 (?), 10:47, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Гоу захавывает мир
     
     
  • 2.246, Аноним (-), 10:55, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    угу, все эти бессильные выс3.ы от копрораций потом назовут предсмертной гонкой лучших езыков программирофания. умора
     
     
  • 3.250, alex312 (?), 11:34, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ой умора, что ж тебе не зашел продукт Вирта? а жрешь выхлоп корпорации AT&T ?

    так вот проглотил один выхлоп корпорации, проглотишь и другие, и спасибо скажешь.

     
     
  • 4.254, Аноним (-), 17:32, 19/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это не вспышка на солнце, это знатно загорелось у любителя вирта с атэтэ и прочей копры ^_^
     

  • 1.257, Аноним (257), 20:23, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Розоволосые дефачки потекли... всьо C++ хана
     
  • 1.267, анононим (?), 11:22, 26/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://fyne.io/ toolkit для Go GUI приложений
     

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



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

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