The OpenNET Project / Index page

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

Выпуск языка программирования Go 1.24

12.02.2025 10:37

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

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

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

Среди изменений в новом выпуске:

  • Обеспечена полная поддержка обобщённых псеводонимов типов (generic type alias) - псевдоним типа может быть параметризирован, как и впервые определяемый тип (при определении псевдонима типа теперь допускается указание параметров типа).
    
       type set[P comparable] = map[P]bool
    
  • Внесены оптимизации в runtime, которые привели к снижению нагрузки на процессор на 2-3% при проведении типовых тестов производительности. Среди внесённых оптимизаций: новая встроенная реализация операции "map", основанная на использовании хэш-таблиц Swiss Table; повышение эффективности использования памяти при размещении мелких объектов; новая реализация mutex, встроенная в runtime.
  • В команду "go" для Go-модулей добавлен механизм отслеживания исполняемых зависимостей (вспомогательных инструментов, написанных на языке Go и используемых при разработке модуля, например, linter-ов или утилит для форматирования кода). Определение утилит в файле go.mod производится через директиву "tool", для добавления которой в текущий модуль предложена команда "go get -tool" (например, "go get -tool golang.org/x/tools/cmd/stringer"). Для запуска утилиты, указанной в директиве "tool", добавлена команда "go tool имя_утилиты".
  • В команды "go build" и "go install" добавлена опция "-json" для вывода в формате JSON.
  • Добавлена переменная окружения GOAUTH для задания параметров аутентификации, необходимых для извлечения модулей, доступ к которым ограничен.
  • В команде "go vet" реализован новый анализатор тестов (test analyzer), выявляющий типовые ошибки при включении тестов, fuzzing-инструментов, утилит проверки производительности и примеров приложений.
  • В стандартную библиотеку включены реализации криптоалгоритмов, одобренных в стандарте безопасности FIPS 140-3.
  • В пакет testing добавлен метод B.Loop для выполнения тестов производительности. Применение "for b.Loop() { ... }" вместо обычных циклов позволяет исключить выполнение компилятором полной оптимизации тела цикла и вынести из цикла стадии настройки и очистки теста.
  • Добавлен тип os.Root, позволяющий изолировать операции с файловой системой заданным каталогом.
  • В runtime добавлен новый механизм финализации runtime.AddCleanup, более гибкий и эффективный чем runtime.SetFinalizer.
  • Добавлен пакет weak c реализацией слабых указателей, которые не владеют объектом, не увеличивают счётчик ссылок и не препятствуют освобождению объекта.
  • Добавлены пакеты: crypto/mlkem с реализацией криптоалгортимов ML-KEM-768 и ML-KEM-1024 (Kyber), стойких для подбора на квантовом компьютере; crypto/hkdf c реализацией функции формирования ключа на базе HMAC (RFC 5869); crypto/pbkdf2 c реализацией функции формирования ключа на базе пароля (PBKDF2, RFC 8018); crypto/sha3 c реализацией хэшей SHA-3.
  • Добавлен экспериментальный пакет testing/synctest с функциями для тестирования многопоточности.
  • Улучшена поддержка WebAssembly. Добавлена возможность сборки Go-приложений в форме библиотеки или обработчика WASI (WebAssembly System Interface). Реализована директива go:wasmexport для экспорта функций для использования в WebAssembly.
  • В утилиту objdump добавлена поддержка дизассемблирования для архитектур LoongArch (GOARCH=loong64), RISC-V (GOARCH=riscv64) и S390X (GOARCH=s390x).


  1. Главная ссылка к новости (https://go.dev/blog/go1.24...)
  2. OpenNews: Выпуск языка программирования Go 1.23 с поддержкой телеметрии
  3. OpenNews: Лидер проекта Go принял решение покинуть пост
  4. OpenNews: В инструментарий для языка Go добавлена возможность отслеживания уязвимостей в модулях
  5. OpenNews: Оценка популярности открытых лицензий в зависимости от языка программирования
  6. OpenNews: Google намерен добавить телеметрию в инструментарий для языка Go
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62710-go
Ключевые слова: go, golang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (263) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (3), 10:59, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    не хватает нормального препроцессора условной конпеляции. то что есть на тэгах и уровне модулей очень убогое
     
     
  • 2.5, Аноним (5), 11:01, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Это должно решаться кодогенерацией. Потому что явное лучше неявного.
     
     
  • 3.27, Аноним (3), 12:05, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    скажи это авторам Spring Boot, правда это Java, но суть понятна
     
     
  • 4.78, Аноним (78), 13:55, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +14 +/
    Авторы Spring Boot, явное лучше неявного!
     
     
  • 5.188, Авторы Spring Boot (?), 22:48, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Спасибо, учтём!
     
     
  • 6.231, Кодогенератор (?), 09:12, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    То-то же!
     
     
  • 7.252, mos87 (ok), 14:06, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    sdf.sdlfjsd.sdfsdfsdf.asdfsadfsdf.asdfasdfsdgsfasdf
    <...>
    sdf.sdlfjsd.sdfsdfsdf.asdfsadfsdf.asdfasdfsdgsfasdf

    @somecrypticshit
    class main void public() {
    get set get set ... get set
    print('Hello World!');
    }


    ;-) <- сейлсмен JetBrains

     
  • 3.46, Аноним (46), 12:41, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > явное лучше неявного

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

     
     
  • 4.57, Аноним (57), 13:01, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если использовать кодогенкрацию вместо неявного, то эта лапша останется за кадром и ее не нужно поддерживать
     
     
  • 5.62, Аноним (46), 13:10, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    хорошо бы если так, но к сожалению нет. кодогенерация остается за кадром, но это - шаг всторону - растрел. то есть вроде все работает, но как только понадобится код как-то масштабировать, так сразу надо туда лезть и все переделывать. а это сложно потому что там куча лапши и по ней надо долго залить, чтобы вообще понять что там происходит, плюс она хрупкая. при этом масштабирование - самое важное свойство кода для бизнеса.
     
     
  • 6.71, Илья (??), 13:43, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Хз, откуда ты такие проблемы взял. В дотнете используем кодогенераторы, они генерируют простой очевидный удобный код
     
  • 6.161, _ (??), 18:28, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Трепло! 🙂
    А по факту все ужасы которые ты описал к Си препропу относятся 🙂 … но даже с ними живут как то.

    PS: Я даже против generics был, а вот уж _текстового_ препрокссора в Go - точно не нада!

     
  • 2.24, Аноним (24), 11:58, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Разве условную компиляцию нельзя сделать без препроцессора? Пример - D.
     
     
  • 3.96, Аноним (96), 14:19, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    а зачем?
     
     
  • 4.146, Аноним (146), 17:09, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А зачем потом бороться с невнятными сообщениями об ошибках?
     
  • 4.189, Аноним (189), 22:48, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем препроцессором? Левой утилитой про семантику кода ничего не знающей. Когда код меняется инструментами языка, кроме ожидаемого семантически корректного поведения и нормальных сообщений об ошибках, это позволяет, например, ограничивать область действия условной компиляции естественным блоком языка, а это позволяет заменить условную компиляцию на runtime проверку одной строкой, а не переделкой #if/#endif на if {} со сдвигом всех строк.
     
  • 2.35, Аноним (3), 12:24, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Если у деда, пока спит, спереть M4 то вполне могут в гошке и define, прямо как в сишке )
     
     
  • 3.162, _ (??), 18:33, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да можно и в гамаке, не снимая лыж, стоя на голове …
    Но зойчеееем?!?!?!
    Я наверное не знаю толка вЪ(с) 😉
     

  • 1.6, Аноним (6), 11:02, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –13 +/
    делал замеры, существенно медленнее крестов, и всего в 2 раза быстрее интерпретируемого php. совершенно непонятна ниша этого чуда от Гугла  
     
     
  • 2.8, Аноним (8), 11:16, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Быстрее в чем? Надо ещё потребление и скорость разработки смотреть и ещё кучу метрик.
     
     
  • 3.17, Аноним (17), 11:41, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > и скорость разработки

    Моя любимая песня. Как в советском анекдоте про плохую и хорошую новости.

     
  • 3.25, Аноним (24), 12:00, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну неужто Пых по скорости разработки проиграет?
     
     
  • 4.164, голос_из_леса (ok), 19:03, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    PHP уже переусложнен в несколько раз от необходимого. Этакие потоги обогнать C++ по нечитаемости и неочевидности. И да, развесистое ООП только помогает все запутать.

    Питон кстати туда же катится со своим морем фич.

     
     
  • 5.273, Аноним (273), 20:01, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >PHP уже переусложнен в несколько раз от необходимого

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

     
  • 3.90, Аноним (90), 14:10, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Из контекста ясно, что имеется в виду скорость/производительность программ. А смотреть "кучу метрик" и т.д. нужно, когда выполняется соответствующее сравнение. В интернете есть немало тестов сравнения производительности на С/С++ и Go. Если их грубо обобщить, то производительность программы на Go в среднем в 2-4 раза медленнее по сравнению с С/С++ при сопоставимом потреблении памяти
     
     
  • 4.117, Аноним (117), 15:18, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Программа на пыхе ест один гиг на го сто мегов. Дальше продолжать или сам догадаешься?
     
     
  • 5.126, Аноним (90), 15:31, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых речь шла о сравнении НЕ с пыхой, во-вторых можно считать память для с/с++ и go одинаковой. Еще раз перечитай пост, на который ты отвечал
     
  • 2.10, Самый Лучший Гусь (?), 11:20, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    С ПХП сравнивать не чесно потому что это очень оптимизированый язык. Надо сравнивать с питоном.
     
     
  • 3.58, Аноня (?), 13:03, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А лучше с bash
     
  • 2.21, funny.falcon (?), 11:47, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Когда говорите, что что-то сравнивали, нужно описывать, на каких задачах и какие... большой текст свёрнут, показать
     
     
  • 3.33, Аноним (33), 12:21, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Проблема PHP в том, что архитектурно это до сих пор CGI. Отработал - умер. И на каждый обработчик создается рантайм. Все работает синхронно. Много предопределенного поведения и архаики. ООП язык тоже архаика. Опыт с голангом показывает, что в корпоративной разработке и без ООП хорошо, никто не умер.
     
     
  • 4.45, Аноним (273), 12:40, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Проблема PHP в том, что архитектурно это до сих пор CGI. Отработал - умер.

    Зато нет утечек памяти и ресурсов.

     
     
  • 5.81, Аноним (78), 13:58, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    пффф... смешно
     
  • 4.106, funny.falcon (?), 14:46, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Простите, но моё личное мнение: ООП в Golang есть. Ибо в "привычном ООП" главное - это полиморфизм и инкапсуляция. А и то, и другое в Go нативно: методы + интерфейсы.

    (Почему "привычное ООП" в кавычках? Потому что автор термина считал, что объекты должны "обмениваться сообщениями", а не "вызывать методы". И в этом смысле, истинным воплощением ООП являются процессы в Erlang/Elixir.)

     
     
  • 5.109, Аноним (273), 14:53, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Простите, но моё личное мнение: ООП в Golang есть.

    Давайте не придумывать каждый свою терминологию
    >А и то, и другое в Go нативно: методы + интерфейсы

    И как интерфейсы реализуют инкапсуляцию? Интерфейсы и в C# есть, и почти для той же цели, но инкапсуляция там реализуется инчае
    >Ибо в "привычном ООП" главное - это полиморфизм и инкапсуляция

    Эм, тогда и в ФП есть ООП, что звучит как абсурд

     
     
  • 6.158, Аноним (158), 18:17, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так никто и не придумывает, их два: изначальное (от автора Smalltalk) и "плюсовое" (хотя оно родом из Simula).

    В ФП с полноценными замыканиями есть ООП, да. Я в проекте, где в Typescript по религиозным причинам не использовали классы, писал полноценный SOLID код - вообще без проблем, просто немного многословнее.

     
     
  • 7.173, Аноним (273), 20:11, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Так никто и не придумывает, их два: изначальное (от автора Smalltalk)

    А об этом кроме автора Smalltalk кто-то знает?

     
     
  • 8.187, _ (??), 22:45, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну байка популярная, да и термин ООП - придумал он, имеет право настаивать на св... текст свёрнут, показать
     
  • 5.186, _ (??), 22:42, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Простите, но моё личное мнение: ООП в Golang есть.

    Да фиг ли там мелочиться - такой ООП и в Си есть!
    Кто не верит - смотрите Gnome-ячий GObject ... "закат солнца вручную" (С)

    Только вот нравится такое ООП "не только лишь всем"(С) :)
    Иногда возникает мысль - вот это _надо_ писать на С++ или даже Java, а не на ... 8-)

     
     
  • 6.230, Аноним (230), 08:30, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то gobject -- довольно годная объектная система, просто Си - не лучший язык для её использования. Есть vala, который для неё и создавался. К тому же, она легко встраивается в объектные системы других языков.
     
     
  • 7.271, _ (??), 18:29, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и как - много наValaли софта то? ;-)
    А чего так? Годная же?!

    Неееее робяты! Где то нас кидают!(С) :)

     
     
  • 8.275, Аноним (273), 20:07, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тем не менее, его можно встретить на некоторых linux десктопах Тот же pamac в m... текст свёрнут, показать
     
     
  • 9.279, _ (??), 20:59, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    0 1 от 1 процента даёт нам считайте сами ... текст свёрнут, показать
     
  • 4.108, funny.falcon (?), 14:51, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А по поводу "PHP - это CGI", так умельцы давно освоили Event Loop и "в ус не дуют". И действительно у многих получается очень шустро делать какие-то не слишком сложные асинхронные вещи.

    Если посмотреть на результаты TechEmpower, то PHP действительно очень близко к Go.

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

     
  • 3.80, Аноним (78), 13:57, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да ничего он не сравнивал, просто тролль
     
  • 2.95, Анон1110м (?), 14:18, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Многим ЯваСцэнаристам нравится. Типа быстрый, типа простой, комплириуемый, модный стильный, не замшелый C++ или Pascal поэтому можно делать сайты и пацаны не засмеют.
     
  • 2.190, Аноним (189), 22:49, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > существенно медленнее крестов, и всего в 2 раза быстрее интерпретируемого php

    php давно jit

     
  • 2.215, Jh (?), 06:42, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Зато выучить его проще в 100 раз чем с++
     
  • 2.232, Аноним (232), 09:21, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Go делался для IO-bound задач (типа сервачков), где важна, в первую очередь, способность рантайма языка дёшево обслуживать большой RPS. Go это решает через green threads (горутины) и не блокирующее сетевое взаимодействие (еpoll и т.п.)
    Странно писать на языках, имеющих сборку мусора, алгоритм-числодробилку (CPU-bound задачу), а потом рассуждать от том, что такая числодробилка на крестах будет быстрее.
     
  • 2.274, nc (ok), 20:03, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В Go нормальная строгая статическая типизация. Нормальное явное объявление переменных, а не просто по факту использования имени. Это уже огромные преимущества.
     
     
  • 3.276, Аноним (273), 20:13, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    go не типобезопасен, и толку от строгой статической типизации мало. То же понижающие приведение приводит к ошибкам во время выполнения. Кроме того, для php активно развиваются статические анализаторы, что частично компенсируюет динамическую природу
     
     
  • 4.286, Аноним (-), 02:40, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот go как-раз и рекомендуют применять как безопасный, также как и rust.
     
     
  • 5.307, Аноним (273), 18:43, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кто рекомендует? В go нет арифметики указателей, но это не делает язык типобезопасным. Прочитайте определение терминов, прежде чем придумывать
     
  • 2.283, Аноним (283), 23:15, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Единственная метрика, которая имеет смысл при сравнении языков — потребление энергии результирующим артефактом. Потому что это именно та метрика, которая напрямую конвертируется в деньги. Всё остальное косвенно и зависит от требований момента, предметной области и тому подобных вещей. И такое сравнение Гугл конечно же провёл, ищущий да обрящет. Результаты, там, кстати ожидаемые и без сюрпризов.
     

  • 1.7, Смерть бандерам и хохлонацистам (?), 11:09, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошая замена питону, а так же шлаку типа перла и руби. Только, кажись, не особо то оно взлетело, судя по количеству репозиториев на гит хабе.
     
     
  • 2.12, Аноним (12), 11:25, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Го оказался слишком идиотматический.
     
     
  • 3.18, анон (?), 11:42, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для Вас? Или Вы за всех решили сразу?
     
     
  • 4.20, Аноним (12), 11:45, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, не благодарите.
     
  • 2.15, ijuij (?), 11:28, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > судя по количеству репозиториев

    Судить не умеете! Нужно судить по количеству звёздочек.

     
     
  • 3.19, Аноним (17), 11:42, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Судить нужно по вопросам нубов на стаковерфлоу.
     
  • 2.29, Аноним (33), 12:11, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    На перле 20 лет назад работал хайлоад и сейчас работает Perlbal до nginx и имел... большой текст свёрнут, показать
     
     
  • 3.31, Аноним (12), 12:19, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Голанг сейчас основной язык веб бэкэнда в коммерческой разработке

    Java.

     
     
  • 4.42, Аноним (42), 12:33, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Legacy. Будет дорабатывать в банках вместе коболом. А новые большие проекты на этом уже не пишут.
     
     
  • 5.50, Аноним (12), 12:48, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Это го так нехило вставляет что появляются такие смешные галлюцинации?
     
     
  • 6.191, _ (??), 22:57, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо завидывать что Го-шники вставляют! ;)

    Все модно-молодёжные новые проекты лежат на 'microservice architecture', а там Java как то толком не смогла... почему - не знаю. Хороших причин к этому нет. Но - вотЪ :-\
    А вот к примеру пистоны, Го, JS+Node - только так ...

    PS: Может они пока JVM Code Cache разогревают, а потом всех нагн^W обгонят ? ;)

     
     
  • 7.284, Аноним (283), 23:21, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Все модно-молодёжные новые проекты лежат на 'microservice architecture', а там Java как то толком не смогла

    Не смогла у кого? У опеннетных кекспертов? Охотно верю. Количество новых проектов под любые архитектуры на Яве огромно. В первую очередь потому, что в Яве-экосистеме есть библиотеки высокого качества для любых задач, от хайлоада до обскурных финансовых протоколов. Угадай, на чём работает антиспам у крупных операторов почты. Подскажу, что это не C, не C++, и даже не сабж. Обработка больших объёмов данных (от сотен терабайт на датасет и выше) до сих пор без Явы и Хадупа немыслима.

     
     
  • 8.305, Проходил мимо (?), 13:00, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ваш пост про скорость Явы и немыслимость обработки без нее больших объемов данны... текст свёрнут, показать
     
  • 4.83, Аноним (78), 14:00, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Java мертва, да здравствует Kotlin
    в остальном на бэке сисярп, бидон и голагне
    пыхп практически вымрет как только закончится история с WP в результате очередного их жабогадюкинга
     
     
  • 5.192, _ (??), 22:59, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Java мертва

    Возможно и так. Но вот Kotlin точно _не_ жив :)
    Скорее уж "да здравствует" JS+Node... хотя глядя на _это_ уже думаю что жаба ещё ничего была - то :)))

     
  • 5.255, mos87 (ok), 14:14, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Java мертва

    Согласен. Разработка на всяких Спринг Бутах как сеанс групповой некрофилии (ведической).

     
  • 3.32, Аноним (32), 12:20, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > На питоне и руби веб если и работал, то с нагрузками типа 1 запрос в секунд

    Питоний Django смотрит на тебя с недоумением.

    > Не говоря о том, что питон и руби буквально срисованы с перла

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

    На, почтай и ее не позорься болше своей экспертизой:

    https://en.m.wikipedia.org/wiki/History_of_Python

     
  • 3.37, macOS (?), 12:28, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > JS сейчас основной язык веб бэкэнда в коммерческой разработке.

    Чуток подправил. Благодарить не стоит.

     
     
  • 4.41, Аноним (32), 12:32, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты фронтенд от бэкэнда не отличаешь?
     
     
  • 5.49, Аноним (49), 12:47, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Он всё правильно пишет.

    NodeJS сейчас основной язык веб бэкэнда в коммерческой разработке.

     
     
  • 6.68, Смузихлеб забывший пароль (?), 13:33, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    был ведь питон
     
  • 6.125, Аноним (17), 15:30, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если под "коммерческой разработкой" понимать стартап, написанный пабыринькому с целью спихнуть инвестору прототип, похожий на работающий, то да, жабаскрипт для этого как годится.
     
     
  • 7.193, _ (??), 23:00, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да если бы так :( Оно уже везде.
     
  • 5.74, Аноним (74), 13:50, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Жс давно вышел за пределы фронта. Лет эдак 15 назад. Так что можно поздравить Вас с разморозкой)))
     
     
  • 6.85, Аноним (78), 14:01, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    а почему не 150? Ох уж эти сказочники (с) падал прошлогодний снег
     
     
  • 7.182, Аноним (182), 22:35, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > а почему не 150?

    Потому что прошло только 15.

     
  • 3.171, Илья (??), 20:00, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Голанг сейчас основной язык веб бэкэнда в коммерческой разработке.

    c# смотрит на тебя с непониманием

     
     
  • 4.183, Аноним (182), 22:37, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ООП в 99% случаев ненужно. А то что классы пихают везде и всюду лишь говорит о слабоумии разработчиков. По крайней мере никто не смог мне ещё обосновать необходимость ООП, в большинстве проектов.
     
     
  • 5.194, _ (??), 23:03, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы согласился если бы ты сказал "ООП как в С++ - в 99% случаев ненужно" :)
    А так то - фундаментальная же вещь для усмирения complexity ...
     
  • 4.228, User (??), 08:08, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да не, c# по тому, что я вижу - про энтерпрайзы со сложной бизнес-логикой, эдакая better java - а go'шечка - простая-и-быстрая (в том числе и в разработке) web'ня. Чего больше - чего меньше вопрос дискуссионный (Впрочем, инсорс-разработки на go в сколько-нибудь заметных масштабах я не то, чтобы "не видел", а и "не слышал" даже - а вот коммерческие коробки с wob'нёй на c# вполне себе...)
     
  • 3.195, Аноним (189), 23:03, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Perlbal до nginx и имел сравнимую производительность

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

    > Не говоря о том, что питон и руби буквально срисованы с перла

    Ты ни питона, ни ruby видимо в жизни не видел, с скорее всего и перла.

     
  • 2.72, Илья (??), 13:45, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ник классный у тебя. За место питона лучше дотнет брать, в нём ООП в отличие от ГО есть
     
     
  • 3.196, _ (??), 23:07, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Писать на сисярпе под линуксы - сильно душно :(
    К примеру наши программеры после полугодового тест проекта - спрыгнули...

    PS: Программеры - хорошие, хотя и вантузятнеГи ;-)

     
     
  • 4.229, User (??), 08:15, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В случае с развесистой бизнес-логикой вариантов не так, чтобы разогнаться. У той же go'шечки не то, чтобы "хорошо" с ORM и крупными MVC-фреймворками - а делать каждый раз восход-солнца-вручную то такоэ...
    c#, java ну и скрЫптота какая-нибудь там, где нагрузки нет.
     
  • 4.268, _kp (ok), 16:25, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
      Обычно не требуется писать только под Линукс, и тем более на С#. А нужно и версию запускаемую в том числе на Линукс. И бюджет на это выделяется небольшой.
      И если с нативной сборкой проблемы, то с ними не возятся, а используют Wine, в котором все отлично работает.
      Тоже относится к ПО состоящему не из одного выполняемого файла, а комплекса ПО и библиотек, что нативно портировать затратно, и достаточно сделать чтоб в Wine работало.
     
     
  • 5.280, _ (??), 21:01, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Wine в продакшене(С) OpenNET

    Теперь я видел всио!(С) :)

     
  • 5.282, Илья (??), 21:27, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Обычно не требуется писать только под Линукс, и тем более на С#. А нужно и версию запускаемую в том числе на Линукс.

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

    Уже лет 9 дотнет крутится в докере

     
     
  • 6.293, _ (??), 04:59, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо чтоб крутился, надо чтоб работал!

    Но!, справедливости ради - это теперь и самому M$-у надо, так что думаю - доведут.

     
     
  • 7.302, Илья (??), 11:54, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > думаю - доведут.

    Опять 25. Да всё довели уже 5 лет назад.

     

  • 1.9, Самый Лучший Гусь (?), 11:19, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    В принципе не плохой язык. Странно что для него интерфейс для драйверов ядра линукс нет.
     
     
  • 2.14, Аноним (14), 11:27, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Злонамеренные атаки на ядро будут продолжаться. Пока Линус есть, отобьются. Что будет после него, неизвестно.
     
     
  • 3.22, Аноним (12), 11:52, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Линусу параллельно каким языком пишут его ядро при состоянии в 50 лямов и з/п в полтора мегабакса в год.
     
  • 2.23, Bvz1 (?), 11:52, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Что бы каждый драйвер с собой еще таскал гошный рантайм?))
     
     
  • 3.44, Аноним (3), 12:37, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    жаль нет сборщика мусора, уничтожающего устаревшее железо. Отличная была бы идея
     
     
  • 4.197, Аноним (197), 23:08, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    export CLEAN_PROTECT="C2D"
     
  • 2.26, Аноним (24), 12:05, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "Неплохой", в вашем контексте.
     
     
  • 3.163, 12yoexpert (ok), 18:59, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    это ЦА golang, для неё это нормально
     
  • 2.30, Аноним (30), 12:18, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вы ещё для джавы сделайте. Го на сборщике мусора построен, он памяти в рантайме жрёт - яибу. Да и как язык довольно убогий. Никакой производительности Си у него разумеется нет - именно поэтому лучшее решение на го всё равно работает в два раза медленнее, чем на Си и Расте на techempower.
     
     
  • 3.200, _ (??), 23:17, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Го на сборщике мусора построен, он памяти в рантайме жрёт - яибу.

    Меньше жавы жрёт то!
    А насчет "ибу" - дык это мужики делают, а ты другая сторона процесса! :)

    >Да и как язык довольно убогий.

    Убогие увидят в зеркале убогость(С)
    _ВСЕ_ мажорные облака на нём сделаны. Это - надолго.

    >Никакой производительности Си у него разумеется нет - именно поэтому лучшее решение на го всё равно работает в два раза медленнее, чем на Си и Расте на techempower.

    Нас - орда! ... А нас - рать!(С)
    :)

     
     
  • 4.208, Аноним (208), 02:09, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В недрах облаков есть го, но также там c#/dotnet, java, python, c++, rust. Причём, C++ и Раст там как раз потому, что всё остальное неэффективно по ресурсам. А го, питон, жава и дотнет потому, что низкий порог вхождения и любой васян может чё-нить слабать за небольшие деньги.

    Рать вас там или не рать - никого не волнует. Речь только про то, что в статье опеннета утверждается про скорость Си, а это не соответствует действительности.

     
     
  • 5.233, Аноним (233), 09:30, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Причём, C++ и Раст там как раз потому, что всё остальное неэффективно по ресурсам.

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

     
     
  • 6.236, Аноним (273), 10:38, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Полно команий, работающих с высокой нагрузкой, описывавших, чем им помешал гошных сборщик мусора
     
     
  • 7.294, _ (??), 05:15, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да такие компании - есть.
    Но всё же - посмотри хотя бы 3 major cloud platform - там всё на Go. Не на 100% конечно, просто так вышло что вот для этого вот всего он (Го) - офигенен. Ну и ...
     
  • 4.238, Аноним (273), 10:39, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >А насчет "ибу" - дык это мужики делают, а ты другая сторона процесса! :)

    А как это называется для другой стороны процесса?

     
  • 2.199, _ (??), 23:13, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >В принципе не плохой язык.

    Кому - как. Мне - норм :)

    >Странно что для него интерфейс для драйверов ядра линукс нет.

    Это одно из основных достоинств! И захотят - в ведро не втянут! ;-)

     
  • 2.290, Аноним (-), 03:10, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В плане нет? Может вы плохо искали?
     
  • 2.291, Аноним (-), 03:14, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя как по мне функциональщина Haskell именно в дровах может показать себя лучше.
     

  • 1.11, ijuij (?), 11:24, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > В стандартную библиотеку включены реализации криптоалгоритмов, одобренных в стандарте безопасности FIPS 140-3.

    Это же применяется только в США, зачем это нужно для всех? Я не совсем понимаю, в каких случаях это используется.

     
     
  • 2.16, Самый Лучший Гусь (?), 11:34, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В принципе пока что это самые лучшие алгоритмы
     
  • 2.28, Аноним (24), 12:07, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нужно ФСТЭК ?
     
     
  • 3.180, Аноним (180), 21:15, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    кузнечик.
     
  • 2.34, Аноним (30), 12:23, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Гугл - американская контора, все лучшие программисты работают в Штатах, все лучшие компании делающие софт - в Штатах, двигатель софтового прогресса - в Штатах, лучшие зарплаты - в Штатах, и так далее. Все остальные - пассивные получатели выгоды от того, что происходит в Штатах.
     
     
  • 3.38, ijuij (?), 12:28, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Все остальные - пассивные получатели выгоды от того, что происходит в Штатах.

    Индия (известна своими IT-услугами и аутсорсингом) и Китай (DeepSeek, Alibaba, Tencent, Baidu) с тобой категорически не согласны.

     
     
  • 4.52, Аноним (273), 12:49, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >DeepSeek, Alibaba, Tencent, Baidu

    Кто это такие? Где их в реальной жизни можно увидеть?

     
     
  • 5.61, Аноня (?), 13:08, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Их можно найти на фондовом рынке США, который просел только от DeepSeek на 1 триллион долларов. "А король то голый". Если считать выхлоп цена/качество, то Россия будет далеко впереди США.
     
     
  • 6.67, Аноним (273), 13:30, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Их можно найти на фондовом рынке США

    Спасибо. Вот гугл можно найти на почти на любом случайном смартфоне. А эти компании - неизвестно где.

     
     
  • 7.69, Смузихлеб забывший пароль (?), 13:37, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То что это обычный предустановленный мусор ни о чём не говорит. Гугол в принципе много мусора пропихивает в смартфоны, который даром не нужен
     
     
  • 8.174, Аноним (273), 20:12, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Только вот беда, им пользуются ... текст свёрнут, показать
     
  • 7.251, Аноним (251), 14:06, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот гугл можно найти на почти на любом случайном смартфоне. А эти компании - неизвестно где.

    Alibaba - это место откуда твой смартфон приехал к посреднику, у которого ты его купил.
    Tencent, Baidu - это то, чем пользуются люди, разработавшие и сделавшие твой смартфон.
    DeepSeek - это тот, кто будет делать твой следующий смартфон.

    А Гугл - это так... мелкая конторка на поиграться конечному пользователю.

    Шах и мат.

     
  • 6.79, Уникум (?), 13:57, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Рынок прочёл, потому что горе-инвесторы повелись на сказки китайцев про модель за $5 млн. Сколько раз уже повторялось: никогда не верьте китайцам на слово
     
     
  • 7.202, _ (??), 23:22, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Они её в свободный доступ вообщето выложили :)
    Или ты думашь что ты умнее тех кто и в-правду работает на фондовым базаре? :)))

    На слово же (если кто забыл) - джентльменам нужно верить ещё меньше чем китайцам. :-\

     
  • 6.172, Аноним (172), 20:02, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >  считать выхлоп цена/качество, то Россия будет далеко впереди США.

    Изобретения покажи. Что там вышло из РФ, чем весь мир пользуется? Винда, линукс, чатгпт, фотошоп, хром, гуглопоиск, гуглокарты - что? Про цену-качество можно знакомым рассказывать, что б помассировать эго, но это бестолково.

     
     
  • 7.248, Аноним (248), 14:00, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    OpenCV, Nginx, Kotlin. Ну это так, навскидку
     
  • 5.101, ijuij (?), 14:24, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/

    Это я ещё не всех перечислил. ByteDance (TikTok), Kingsoft, NetEase, 360 Security Technology...

     
     
  • 6.103, Аноним (273), 14:37, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >ByteDance (TikTok)

    Похоже, единтсвенная не нишевая компания.

     
     
  • 7.110, ijuij (?), 15:07, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, это лишь свидетельствует о том, что вас интересует в основном только TikTok, и вы проводите в нём много времени.

     
     
  • 8.112, Аноним (273), 15:14, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я в нём время вообще не провожу, недавно просто говорили о его запрете в США, во... текст свёрнут, показать
     
     
  • 9.256, Аноним (251), 14:16, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Alibaba - Aliexpress не, он не только в СНГ популярен, если шо Huawei - смарт... текст свёрнут, показать
     
     
  • 10.266, Аноним (273), 16:21, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какое это отношение имеет к софту У них есть какие-то уникальные разработки Во... текст свёрнут, показать
     
  • 4.139, _kp (ok), 16:56, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>Индия (известна своими IT-услугами и аутсорсингом) и Китай..

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

     
     
  • 5.141, ijuij (?), 17:00, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Их г..код пользуется большим спросом, в отличие от ...😏

     
     
  • 6.144, Аноним (273), 17:05, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Их г..код видно за километр. А вот кто написал условный nginx - нет. По этому, до тех пор, пока мне не скажут, чей код написан русскими, а чей французами, а чей - не теми и не другими, я этого не угадаю.
     
  • 6.169, Аноним (172), 19:57, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Когда я работал в московском отделении американской конторы AlignTech, там любимое занятие всего отдела было - переписывать код, запушеный индусами. Когда в москву приехала большая начальница из Техаса и её спросили нафига нужны эти говнокодящие индусы, она сказала, что они нужны, что бы их уволить когда бизнес замедлится, потому что они - дешёвые контрактники, которых не жалко. При этом знающие люди сказали, что в Индии безусловно есть хорошие программисты, но они очень дорогие и их мало, поэтому нет смысла их там покупать.
     
  • 2.36, zog (??), 12:24, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не только в США
     
  • 2.76, Аноним (-), 13:53, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Это же применяется только в США, зачем это нужно для всех?

    Потому что го пишут в первую очередь для своих.
    А вот все остальные его используют потому что им позволили (лицензия и тд).
    Но эти остальные не слишком интересуют создателей.

    Вот если бы в великой и могучей создали ЯП, который использовался бы во всем мире, то там бы в стандартной либе был бы ГОСТ, Магма, Кузнечик и тд
    Если бы)))

    > Я не совсем понимаю, в каких случаях это используется.

    Оно и видно...

     
     
  • 3.91, ijuij (?), 14:11, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот если бы в великой и могучей создали ЯП...

    А ты из США пишешь?

    > Оно и видно...

    Если ты такой великий эксперт, то где же ты сам это применяешь?

     
     
  • 4.100, Аноним (-), 14:24, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А ты из США пишешь?

    Да. В сша много людей, которые знают русския язык. Он конечно забывается, поэтому многие фразы звучат корявенько для нейтивов, но тут некоторые нейтивы иногда так пишут, что даже мне больно смотреть. Хотя уже почти 30+ лет прошло.

    > Если ты такой великий эксперт, то где же ты сам это применяешь?

    Напр. для того же TLS. Лично для моего кода нет требования FIPS 140-3 compliance, но для тех, кто работает с госухой или подрядчиком, это вполне реальное требование.


     

  • 1.47, Аноним (42), 12:41, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Плохо, что go-программму уже невозможно скомпилировать без подключённого интерне... большой текст свёрнут, показать
     
     
  • 2.53, Аноним (273), 12:56, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю, как в других языках, но в ocaml сборка проекта и установка зависимостей делаются разными командами, и при сборке вы даже не заметите задержек, если у вас не будет интернета.
     
  • 2.63, Аноним (12), 13:15, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Прямая привязка к githаbу это фейл. Представьте мейкфайл, который требует скачать доп. васяносурсы по протоколу gopher с адреса, недоступного ещё с начала 90х. Мейкфейл.
     
     
  • 3.104, похнапоха. (?), 14:38, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это просто именование пакета, а не привязка к Гитхабу. Более того если уже назвали пакет github.com\packagename то можно использовать директиву replace для указания пути к пакету.
     
     
  • 4.111, Аноним (273), 15:08, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Это просто именование пакета, а не привязка к Гитхабу

    Допустим, я переведу проект с github на gitlab. Это что, теперь по каждому гошному файлу нужно будет ходить и домены менять?

     
     
  • 5.119, похнапоха. (?), 15:19, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Достаточно снова сделать replace с помощью go mod edit, в файле go.mod будет выглядеть как указано в документацию:

    Example:

    replace golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5

    replace (
        golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5
        golang.org/x/net => example.com/fork/net v1.4.5
        golang.org/x/net v1.2.3 => ./fork/net
        golang.org/x/net => ./fork/net
    )

     
     
  • 6.128, Аноним (273), 15:40, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо. А как это с пакетным менеджером объеденить? Ведь всё в GOPATH должно лежать.
     
     
  • 7.130, похнапоха. (?), 15:55, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Replace с помощью go mod edit - это и есть операция "пакентного менеджера". Сейчас не привязано к GOPATH, кешированные пакеты лежат в GOMODCACHE, более того с replace можно указать что github.com/packagename лежит в /home/username/packagename.
     
     
  • 8.132, Аноним (273), 15:59, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Туда можно свои пакеты добавлять Как я понимаю, это попадёт в git и уйдёт ко вс... текст свёрнут, показать
     
     
  • 9.148, похнапоха. (?), 17:17, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А почему нет Можно добавлять что угодно, локальные модули на локальной ФС, если... текст свёрнут, показать
     
  • 9.149, похнапоха. (?), 17:18, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда делай остальные модули публичными, в чем проблема А не хочешь - собирый б... текст свёрнут, показать
     
     
  • 10.151, Аноним (273), 17:30, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я хочу получить поведение, идентичное ocaml Есть OCAMLPATH где перечислены пут... текст свёрнут, показать
     
     
  • 11.166, голос_из_леса (ok), 19:18, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Хотеть не вредно Беда GO в том, что к нему предъявляют претензии адепты из друг... текст свёрнут, показать
     
     
  • 12.175, Аноним (273), 20:26, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Хорошо, как решить данную задачу, когда зависимости ставятся онлайн, а проект по... большой текст свёрнут, показать
     
     
  • 13.214, _ (??), 06:29, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ШтА 8-о Ты доку на go mod вообще читал Там подробно разжёвано, для хл... большой текст свёрнут, показать
     
     
  • 14.234, Аноним (273), 10:30, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Добро пожаловать в js с его загадками уровня , в мануале на 100500 страни... текст свёрнут, показать
     
  • 7.131, Аноним (273), 15:57, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И получается, что если будет указаны локальные зависимости, то это уйдёт в репозиторий для всех?
     
  • 2.86, Souryogurt (?), 14:02, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В новую директорию нужно также go.sum скопировать. В нем хеши зависимостей записаны, и по ним компилятор определит что они уже есть на компе.

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

     
     
  • 3.88, Аноним (42), 14:09, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >В новую директорию нужно также go.sum скопировать.

    Гениально! А зачем вообще было создавать отдельный каталог и помещать туда hello.go, если можно было остаться в том же? Даже перекомпилировать не надо, бинарник-то уже собран!
    Это был пример для гарантированного воспроизведения!

    Для недалеких: в реальности вместо hello.go может быть другая прога, хотя и включающая те же зависимости (+ другие тоже уже скачанные), но для которой нет готовых go.mod|sum.

     
     
  • 4.107, Аноним (273), 14:47, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Для недалеких: в реальности вместо hello.go может быть другая прога, хотя и включающая те же зависимости (+ другие тоже уже скачанные), но для которой нет готовых go.mod|sum.

    А откуда go узнает, какие вам версии нужны? Может вам сейчас нужна версия 2, а скачана - 1.5?

     
     
  • 5.135, Аноним (42), 16:32, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Думаете, только благодаря подключенной сети каким-то образом определяются нужные... большой текст свёрнут, показать
     
     
  • 6.140, Аноним (273), 16:58, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В таком случае, можно поздравить гопников с их интуитивно понятным пакетным мене... большой текст свёрнут, показать
     
     
  • 7.216, _ (??), 06:43, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>А при создании новой программы на go никаких go.mod|sum для нее изначально нет.
    >В таком случае, можно поздравить гопников с их интуитивно понятным пакетным менеджером, который решительно непонятен

    В таком случае поздравь себя - ты делаешь выводы вселенского масштаба(С) опираясь на слова недоучек и откровенных тупиц. 8-/

    И да в го - можно (и для некоторых проектов даже ___нужно___ !!!) задавать версии модулей.
    А если там пусто - действует простая эвристика - качатся будет то, что хозяин модуля указал. Обычно last release ... но можно и наступить :)

    Чё вам не так? Автоматически полЫ программистам не меняет? Горюшко то какое :-)

     
     
  • 8.235, Аноним (273), 10:35, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это не эвристика, это магия А магия - это не хорошо, так как сейчас магия работ... текст свёрнут, показать
     
     
  • 9.278, _ (??), 20:58, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Любая достаточно развитая технология неотличима от магии С сами знаете кто ... текст свёрнут, показать
     
  • 6.288, Аноним (-), 03:05, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >  А если гоферов станет гораздо больше, то это еще будет и бессмысленный DDoS ресурсов, с которых импортируются зависимости.

    Не будет, американцы ещё лет 10 назад начали противостоять DDOS и практикуют хостинг в "облаках". Там достаточно много компьютеров чтобы:
    1. Локализовать проблему
    2. Выдержать нагрузку
    Или вы думаете технологии .Net и Java просто так стали популярными? В последнее время к ним присоединяют JS и Python, но это скорее связано с массовым комьюнити и тема не связана. Посмотрите зарубежные вакансии - много проектов связаны с облачными системами и именно в основном на перечисленных языках. Есть ниша и у PHP, но на этом основная часть вакансий заканчивается.

     
  • 2.114, нейм (?), 15:16, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    пользуйся стандартной либой, делов то
     
     
  • 3.143, Аноним (42), 17:03, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Делов-то больше прибавится, ведь тогда придется велосипедить. Это не наш метод!
     
     
  • 4.213, OpenEcho (?), 03:56, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Делов-то больше прибавится, ведь тогда придется велосипедить. Это не наш метод!

    Тогда надо просто сделать пустой stuff_that_i_cant_live_without.go в котором в импорте прописать всё что хочется впихнуть в зависимости оставив func main(){} пустым, сделать go mod init SuperProject && go mod tidy там где есть интернет и ехать на дачу вбивать все остальное

     
     
  • 5.217, _ (??), 06:47, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Всё так! Рецепт одного француза с далёкого уже 2021 года :)
    Работает до сих пор, но нитакусикам - неподЪёмно ;-)
     
  • 5.239, Аноним (273), 10:54, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Альтернативная логика гопников: если в голанге что-то не работает, то процесс нужно выстраивать вокруг того, как это не работает, а не чинить проблему.
    >там где есть интернет и ехать на дачу вбивать все остальное

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

     
     
  • 6.241, Аноним (273), 11:31, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Альтернативная логика гопников: если в голанге что-то не работает, то процесс нужно выстраивать вокруг того, как это не работает, а не чинить проблему.

    Кстати, подсветку синтаксиса там до сих пор не завезли?

     
  • 6.258, OpenEcho (?), 14:36, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Особенно хорошо будет, если у кого-то есть интернет, но конкретно сейчас его
    > отломали.

    - "Хочу булку из интернета, но интернета у меня нет"

    Ребят, у вас с логикой точно все в порядке?


     
     
  • 7.277, Аноним (273), 20:16, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Ребят, у вас с логикой точно все в порядке?

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

     
     
  • 8.297, OpenEcho (?), 06:22, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Еще раз, Го-лэнговский кэш, он общий, - для всех модулей Если один проект подце... большой текст свёрнут, показать
     
  • 5.242, Аноним (42), 11:34, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >в импорте прописать всё что хочется впихнуть в зависимости

    То есть все версии кэшированных зависимостей должны быть заранее завендорены пока есть сеть (без сети go mod vendor может не сработать, как показано выше), ведь в оффлайне может понадобиться любая.  Еще и специальная прога дожна быть, которая отслеживает поступление новых версий зависимостей в кэш для последующего завендоривания. Это же бессмысленное дублирование кэша модулей! Проще тогда залезть в исходники самого go, чем городить софт для автовендоринга.

     
     
  • 6.259, OpenEcho (?), 14:41, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Это же бессмысленное дублирование кэша модулей!

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


     
  • 6.270, OpenEcho (?), 17:54, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Она уже в Го тулките Вендоринг делается только для того чтобы разрабатывать в оф... большой текст свёрнут, показать
     
  • 2.123, OpenEcho (?), 15:25, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    История анонимного специалиста забаненного в гугле Это не простой hello go ... большой текст свёрнут, показать
     
     
  • 3.150, Аноним (42), 17:19, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Это не простой "hello.go"

    Тоже предлагаете ограничиться только стандартной библиотекой? См. комментарий выше.

    >Уже очень давно, перед сборкой полезно сделать сперва

    Как вы сделате это для еще не начатой программы? Мне нужно было телепортироваться в будущее на дачу, чтобы заранее сгенерировать go.mod|sum?

     
     
  • 4.212, OpenEcho (?), 03:44, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для Hello_World - 100 Это-ж надо быть полным извращенцем, чтоб для Хелло подт... большой текст свёрнут, показать
     
     
  • 5.237, Аноним (42), 10:38, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >специально для вас, пошагово

    Этот offline_modules.go не поможет, когда его импорты не успел обновить. Ведь без сети можно оказаться не только на даче, но и в результате поломок у провайдера, или внезапной недоступности ресурса, с которого импортируется зависимость. То есть когда зависимости все есть в кэше, но offline_modules.go не успел обновиться, то go опять не соберет программу без сети.

     
  • 5.240, Аноним (273), 11:29, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно, что же там есть Если вы бездомный, то просто купите себе дом Спасиб... большой текст свёрнут, показать
     
     
  • 6.262, OpenEcho (?), 14:55, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Выше вам уже описали что хотят - достать версию, которая есть в кеше.

    Хорош тролить.
    Нет проблемы в Го изпользовать то, что уже закэшированно.

    Гугл в зубы и вперед, вместо того чтоб телепатировать у кого NIH а у кого нет

    >  когда он берёт уже скачанные версии и из них формирует рабочее окружение.

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


    > Но если я могу найти машину с интернетом, то и описанной проблемы нет, поскольку проблема в том, что у меня нет машины с интернетом.

    Топите дальше, порадовали :)

     
  • 6.263, Аноним (251), 14:57, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Но если я могу найти машину с интернетом, то и описанной проблемы нет, поскольку проблема в том, что у меня нет машины с интернетом.

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

     
     
  • 7.295, _ (??), 05:20, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Воткни новую клаву чере Ю-Эс-бЕ и програмЪ на том на чём программил ... да это магия!(С) ;-)
     
  • 2.154, bdrbt (ok), 17:43, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Плохо, что go-программму уже невозможно скомпилировать без подключённого интернета.

    Документацию читать надо, да.

    > Как воспроизвести:

    GO111MODULE=off - не воспроизводится.

     
     
  • 3.165, Аноним (42), 19:08, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >GO111MODULE=off - не воспроизводится.

    Да ну?

    $ GO111MODULE=off go build -v hello.go

    hello.go:8:8: cannot find package "github.com/mattn/go-runewidth" in any of:
    /usr/lib/go/src/github.com/mattn/go-runewidth (from $GOROOT)
    /media/temp/go/src/github.com/mattn/go-runewidth (from $GOPATH)
    hello.go:7:8: cannot find package "github.com/nsf/termbox-go" in any of:
    /usr/lib/go/src/github.com/nsf/termbox-go (from $GOROOT)
    /media/temp/go/src/github.com/nsf/termbox-go (from $GOPATH)

    С тех пор, как в go принудительно включили модули по умолчанию, то $GOPATH пустует, или там хранятся завалы легаси. Кэш теперь в другом месте. Тут даже включенная сеть не поможет.

     
     
  • 4.167, bdrbt (ok), 19:24, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Да ну?

    Ну да

    > $ GO111MODULE=off go build -v hello.go
    >  /media/temp/go/src/github.com/mattn/go-runewidth (from $GOPATH)

    У тебя GOPATH пустой

    > С тех пор, как в go принудительно включили модули по умолчанию, то
    > $GOPATH пустует, или там хранятся завалы легаси. Кэш теперь в другом
    > месте. Тут даже включенная сеть не поможет.

    Нет

     
     
  • 5.170, Аноним (42), 19:59, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >У тебя GOPATH пустой

    Спасибо, кэп. Про прибитость современных версий go к модулям повторяться не стану. Вылазь уже из криокамеры.

     
     
  • 6.176, Аноним (273), 20:27, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Посмотри https://nixos.org/manual/nixpkgs/stable/#sec-language-go , может из go и можно получить подобие нормального языка
     
     
  • 7.218, _ (??), 06:58, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это вряд ли - всё к чему прикасаются nixos-ники неизбежно превращается в оно :(
    Карма.
     
     
  • 8.247, Аноним (273), 14:00, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Они уже почти ко всему прикоснулись, посмотрите на их гиганский репозиторий ... текст свёрнут, показать
     
  • 2.226, Аноним (226), 07:20, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    из всех экспертов в этом треде ни один не написал про go mod download.

    А впрочем, чего еще ждать от опенка

     
     
  • 3.246, Аноним (42), 13:22, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >go mod download

    Зависимости уже есть в кэше. См. пункт первый.

     
  • 2.261, Аноним (251), 14:44, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Будучи на даче, обнаружилось, что go build без интернета совсем не работает (выдаёт ошибки подключения к сети)

    В 2025 году жаловаться на отсуствие интернета, тем более, когда пишешь на языке, основной уклон которого, этот самый интернет (бекэнды).

    Чес слово, странно читать.

     
     
  • 3.264, Аноним (42), 15:27, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В 2025 году вам запрещают скомпилировать программу без интернета, а в 2035 году ... большой текст свёрнут, показать
     
     
  • 4.269, Аноним (251), 16:32, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если у тебя зависимость лежит в интернете, то логично, что ты не можешь скомпили... большой текст свёрнут, показать
     

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

  • 1.48, Аноним (273), 12:45, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Обеспечена полная поддержка обобщённых псеводонимов типов

    Надо же, а как же возможность выучить язык за пару вечеров?
    >В команду "go" для Go-модулей добавлен механизм отслеживания исполняемых зависимостей

    Того и глядишь, за лет двадцать доростут по удобству до php

    Кто-то может объяснить, зачем голангу более пятиста мегабайт виртуальной памяти даже в hello world?

     
     
  • 2.55, ijuij (?), 12:59, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты документацию почитай и используй флаги.

    go build -ldflags="-w -s" .
    > -s disable symbol table
    > -w disable DWARF generation

     
     
  • 3.70, Аноним (273), 13:39, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это к чему? В момент появления заявлялось, что для любых программ хватит того минимума, что был реализован в go. Потом по мелочам его стали править - то дженерики введут, то for расширят.
     
     
  • 4.219, _ (??), 07:03, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ... то стандартный net/http сделают такой! что пейсатели веб фрэймворков дружно идут на выход :) (только с версии 1.21.чегото)

    Но куму нужен этот http в 2к25-ом то?!?! ;-D

     
  • 2.87, Аноним (78), 14:04, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    по удобству выстрелить себе в ногу? просто других удобств в пыхе не было
     
     
  • 3.105, Аноним (273), 14:44, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А какие удобства в go - interface {}?
     
     
  • 4.220, _ (??), 07:04, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну во первых - это красиво! (С) ;-)
     
     
  • 5.308, Аноним (273), 18:46, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А ещё, падает во время исполнения, прямо как динамически типизированный бидон, ой то есть питон.
     
  • 2.265, OpenEcho (?), 15:31, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Кто-то может объяснить, зачем голангу более пятиста мегабайт виртуальной памяти даже в
    > hello world?

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

     

  • 1.51, Аноним (49), 12:48, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Rust здорового человека.
     
     
  • 2.54, Аноним (273), 12:58, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Может быть - borgo. Поскольку груз обратной совместимости с go никто не отменял.
     
     
  • 3.65, Аноним (12), 13:24, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда Cargo?
     
  • 2.177, Прохожий (??), 20:31, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Шта? Да он Rust и в подмётки не годится.
     
     
  • 3.221, _ (??), 07:06, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ничто и никто и никогда не годится в подмётки языку для переписывани!(С)
    Мы внимаем - доставляй езчщiо! :)
     

  • 1.66, anonymous (??), 13:29, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Посмотрим как оно будет бутстрапится. Вроде как через одну версию можно перепрыгивать. Уже не rust, еще не gcc. gcc может через несколько версий перепрыгивать.
     
     
  • 2.99, Аноним (96), 14:22, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ещё 15 лет будешь "посмотрим"?
     
     
  • 3.113, Аноним (113), 15:15, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сколько бог даст. Исходный код должен работать, собираться, а не валятся как готовый бинарник. Имея один файл исходника, можно собрать бинарники под множество архитектур. Это очень круто.
     
     
  • 4.120, Аноним (273), 15:22, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Обратная совместимость не имеет никакого отношения к тому, насколько новый компилятор нужен для самосборки
     
  • 2.136, Аноним (49), 16:43, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    То ли дело mit-scheme. Чтобы 12.1, нужна mit-scheme 12.1
     
     
  • 3.142, Аноним (273), 17:00, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И как из этой петли выходить?
     
     
  • 4.211, Аноним (49), 03:15, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Бинарник качать
     
     
  • 5.249, Аноним (273), 14:01, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А бинарник откуда берётся? Если я хочу его сам собрать, то мне что, коммит за коммитом собирать?
     

  • 1.82, Аноним (74), 13:58, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хороший язык во всех отношнениях, и если бы я начилал изучать программирование, я бы выбрал гошечеку. Но я уже старый и на пенсии.
     
     
  • 2.116, Аноним (273), 15:18, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ужасный язык, так как отметает любой прогресс в области разработки языков. Добро пожаловать в восьмидесятые, снова, хотя уже в восьмидесятых были варианты гораздо лучше, типа StandardML
     
     
  • 3.118, Аноним (117), 15:19, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Фичи ради фич и торможения? Но для этого уже есть Раст.
     
     
  • 4.121, Аноним (273), 15:23, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Фичи ради фич

    Вам нравится получать NPE? Хотя стоп, у вас же исключений нет, только паника
    >и торможения?

    Ocaml сопоставим по скорости сборки с go.

     
     
  • 5.222, _ (??), 07:09, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Ocaml

    Ты в курсе что оно даже сейчас в 2k25-ом ... как бе это сказать то ... оно - однопоточное! 8-\ Так что иди с Питоном сравнивай, да поторопись там вот-вот GIL устранят :)

     
     
  • 6.250, Аноним (273), 14:04, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >как бе это сказать то ... оно - однопоточное!

    Уже нет. В 5.0 завезли многоядерность, а сейчас уже 5.3
    >Так что иди с Питоном сравнивай, да поторопись там вот-вот GIL устранят :)

    Обожаю такие соревнования. На них ещё не пришёл, а уже выиграл

     
     
  • 7.281, _ (??), 21:10, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Уже нет. В 5.0 завезли многоядерность,
    >>> The OCaml 5.0.0 release in 2022 is a complete rewrite of the language runtime, removing the global GC lock

    О! Во - другое дело! СПС анон@13-Фев-25T14:04 - пойду гляну на выходных.

    ПредЪява - снимается! Ocaml неуиноват!(С) :-)

     
  • 4.124, Аноним (273), 15:30, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Но для этого уже есть Раст.

    За тормозами - в haskell. На расте сборка проекта может быть быстрой.

     
     
  • 5.138, Аноним (-), 16:54, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >На расте сборка проекта может быть быстрой.

    Если бы ты собирал проекты на чистом Си, ты бы знал по настоящему, что такое быстро. На самом деле ни C++, ни Rust не быстрые.

     
     
  • 6.147, Аноним (273), 17:17, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Если бы ты собирал проекты на чистом Си, ты бы знал по настоящему, что такое быстро

    Си и скорость? Не смешите меня.
    https://www.opennet.ru/opennews/art.shtml?num=56449 Опубликован набор патчей, ускоряющих сборку ядра Linux на 50-80%
    Для сравнения, в ocaml завезли модули. И там не нужно на каждый include километры исходников гонять. А потом наступает второй файл, и там опять include
    >На самом деле ни C++, ни Rust не быстрые.

    Я собирал вот это https://crates.io/crates/gluon/0.18.2/dependencies. С учётом того, что всё - и зависимости и сам проект скачивались и собирались с нуля, то собралось быстро.

     
  • 5.153, Аноним (146), 17:41, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зато сборка самого rustc не быстрая.
     
     
  • 6.157, Аноним (273), 18:02, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не меряйте по его сборке всё остальное. Особенно с учётом того, что llvm тоже не мгновенно собирается
     
  • 2.133, Анонем (?), 16:09, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Изучать программирование никогда не поздно. И начинать лучше не с Go.
     
     
  • 3.160, Аноним (160), 18:23, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Изучать программирование никогда не поздно.

    Ага, скажешь это, когда перевалит за 60. Посмотрю я как ты будешь зазубривать неделями то, что 18 летние схватывают за 5 минут просмотра на ютубе.

     
     
  • 4.179, Аноним (180), 21:14, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В 60 лет можно освоить чат гпт и программировать лучше 18 летних, которые видео длиннее 15 секунд смотреть не могут.
     
     
  • 5.184, Аноним (182), 22:39, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    С чатгпт ты напрограммируешь только хеллоуврот на 100 строк максимум. Оно не съест контекст из 100500 зависимостей на тысячи строк.
     
  • 5.185, Аноним (182), 22:40, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > видео длиннее 15 секунд смотреть не могут

    Не не могут, а не хотят. Для того чтобы понять что видео полное Г достаточно 10 секунд. Они не хотят тратить время на ненужное.

     
  • 3.223, _ (??), 07:12, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Изучать программирование никогда не поздно. И начинать лучше не с Go.

    Наверное да. Есть бэйсик, паскаль, лого и хаскель :)))))

      

     
  • 2.209, Аноним (209), 02:10, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Хороший язык во всех отношнениях

    Ты хочешь сказать раскрученные всякими unix оидами, финами, ну такое себе skillfactory, и skillbox сами себя не окупят.

     
     
  • 3.224, _ (??), 07:14, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ведро - официально самый успешный софтвер прожэкт за всю историю человечества!(С)
    Нравится тебе это или нет :)
     

  • 1.129, OpenEcho (?), 15:53, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В новостях забыли про вкусную фичу: Config.EncryptedClientHelloKeys
    которая будет делать  Encrypted Client Hello (ECH) in TLS делая ХТТПС наконец то полностью шифрованным
     
  • 1.168, Имя1 (?), 19:52, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    С map[P]struct{} они конечно многим свинью подложили(
     
     
  • 2.203, Аноним (209), 23:30, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ммм, няшный Go.)
     
  • 2.225, _ (??), 07:15, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот когда голосовали за generics - ты как проголосовал?! Теперь то чего ... наслаждайтесь :)
     
     
  • 3.257, Facemaker (?), 14:32, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да нормальный синтаксис, не хуже "угловых скобок". Можно углядеть даже метафору "массива типов" в этих квадратных скобках.
     
  • 2.267, Аноним (273), 16:24, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для тех, кто не пишет на go, в чём проблема?
     
     
  • 3.296, _ (??), 05:31, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда тебя завалят на собесе по Го - поймёшь :)

    Го - жив ==> hence НЕ идеален. Вот это - нюанс, тупо нужно знать. Гугли отрок, да и пройдёшь собеседование окояЪнное! :)

     

  • 1.178, Прохожий (??), 20:41, 12/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я просто оставлю это здесь https fasterthanli me articles lies-we-tell-oursel... большой текст свёрнут, показать
     
     
  • 2.201, Имя1 (?), 23:21, 12/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    "По его мнению, если нужен производительный и безопасный язык, стоит рассмотреть альтернативы вроде Rust"

    Ага пока не увидишь этот самый код на Rust

     
     
  • 3.206, Прохожий (??), 01:52, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это потому, что его надо подготовленным смотреть - то есть, какую-никакую документацию почитать о семантике языковых абстракций. А если с наскоку, после Питона, Джава скрипта или Си - таки да, ничего не понятно.
     
     
  • 4.207, Аноним (209), 02:06, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Говорят, вот люди которые в чем то разбираются могут обьяснить простыми терминами так что даже 5 летний ребенок поймет.
     
     
  • 5.210, Прохожий (??), 02:34, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    КНо ведь всё равно надо, чтобы кто-то объяснил, не правда ли?
     
  • 5.243, Аноним (273), 11:45, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте, объясните пятилетнему ребёнку, как работает система аффинных типов на примере borrow checker, чтобы он после этого сел и начал писать код. Или то, чем система типов раста и окамла похожа, а чем различается, и что из этого вытекает, пускай он напишет систему типов.

    ЗЫ пятилетний ребёнок не поймёт никаких сложных вещей. А если ему начать объяснять, то к тому моменту, когда он их поймёт, ему будет уже намного больше, чем пять лет.

     
  • 5.244, Аноним (-), 13:06, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Говорят, вот люди которые в чем то разбираются могут обьяснить простыми терминами так что даже 5 летний ребенок поймет.

    Не "говорят", а "говорил". Ричард Фейнман заявлял подобное, и он в общем-то говорил про физику. Причём не про физику в целом (попробуй объяснить пятилетнему ребёнку уравнение Шрёдингера, лол), а про интуитивное, качественное понимание физических процессов. Количественные законы в физике уже требуют матана, и подчастую нетривиального, которого на первом курсе не рассказывают.

    Так что не надо делать из заявлений Фейнмана выводов, что если ты не понимаешь чего-то, несмотря ни на какие объяснения, что все вокруг идиоты.

     
  • 5.245, Аноним (245), 13:11, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Объяснять сложные вещи посредством более простых - это именно то, что делается в С++ (всё через классы). Например, лямбда-функция - это класс, интеллектуальный указатель - это класс, и т.д.
    Однако разве это хорошо? Основываясь на ненадёжном фундаменте, вся эта сложная конструкция сложных объектов становится совершенно неустойчивой, и трудно понять почему код не работает в конкретном случае, где в нижележащих классах ты не учёл какую-то мелочь. Заставить классы работать как надо - трудная задача.
    Надёжнее было бы сложные вещи сделать встроенными понятиями языка.
     
  • 3.260, Facemaker (?), 14:42, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Ага пока не увидишь этот самый код на Rust

    Гм, ну я каждый день вижу и создаю этот самый код на Rust. И пока вроде никто не умер. Красивый лаконичный выразительный код.

     
     
  • 4.272, pavel_simple. (?), 19:13, 13/02/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >>Ага пока не увидишь этот самый код на Rust
    > Гм, ну я каждый день вижу и создаю этот самый код на
    > Rust. И пока вроде никто не умер. Красивый лаконичный выразительный код.

    дай кусок посмотреть, может я даже не умру от кринжа а наиборот проникнусь

     
     
     
    Часть нити удалена модератором

  • 6.299, Facemaker (?), 10:28, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот, например (хотя зачем ты начал обсуждать Rust в теме про Go — ума не приложу):




    fn get_config_file_path(dir: &Path, config_path: &Path) -> (PathBuf, PathBuf) {
        let root_dir = dir.ancestors().find(|a| a.join(config_path).exists()).unwrap_or_else(|| {
            messages::unravel_errors(
                "",
                &anyhow!(
                    "{} not found in current directory or ancestors, current_dir is {}",
                    config_path.display(),
                    dir.display()
                ),
            );
            std::process::exit(1);
        });

        // if we got here we found root_dir so config file should exist so we could theoretically unwrap safely
        let config_file_uncanonicalized = root_dir.join(config_path);
        let config_file = config_file_uncanonicalized.canonicalize().unwrap_or_else(|e| {
            messages::unravel_errors(
                &format!("Could not find canonical path of {}", config_file_uncanonicalized.display()),
                &e.into(),
            );
            std::process::exit(1);
        });

        (root_dir.to_path_buf(), config_file)
    }



     
     
  • 7.303, pavel_simple. (?), 12:13, 14/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > хотя зачем ты начал обсуждать Rust в теме про Go — ума не приложу):

    я?

    >


    >

    весьма вырвиглазно, но, наверное привыкнуть можно

     

  • 1.285, Аноним (-), 02:37, 14/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >> Синтаксис Go основан на привычных элементах языка Си с отдельными заимствованиями из языка Оберон.

    Вообще в книгах не только Си и Оберон в заимствованиях встречается. Там вроде и Паскаль упоминается и вроде бы даже и Пролог!

     
  • 1.292, Аноним (-), 03:17, 14/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Нормальный язык программирования, я на нем для роутера на Openwrt под mipsel делал сервачок, при этом особо языка не зная. Но с документацией быстро разобрался. Все было просто и понятно.
     
  • 1.309, Аноним (-), 16:08, 17/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Раз уж не возбраняется приводить доводы нейросетей, что вот что даёт ChatGPT по ... большой текст свёрнут, показать
     

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



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

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