Представлен релиз языка программирования Go 1.18, который развивается компанией Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Код проекта распространяется под лицензией BSD...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=56864
Наконец-то дженерики завезли!🥳 Я джва года этого ждал😍
Вот только в целом тенденция, чем больше женериков - тем больше проблем вылазит везде.
Хз, в Scala они просто песня.
Скалу можно приводить только как негативный пример. Если го слишком тупой язык, то скала - overengineered, нечитаемое чудовище с плохой документацией и плохим UX в целом (недружелюбная она).
Что тупого в го?
Отсутствие дженериков, обработка ошибок, вывод ошибок (отсутствие стектрейсов по умолчанию), система зависимостей, отсутствие функциональщины (комбинаторов). Это именно то, что тупо. А есть ещё то, что плохо - типа duck typing-а, плохого сборщика мусора и тд.
т.е. "сложна"
> т.е. "сложна"Да, точно также как системы должны быть максимально простыми, также и язык программирования должен быть максимально простым, по тем же соображениям. Это не значит, что не должно быть фич, но гениальность дизайна в том и состоит, что бы придумать фичи сохранив простоту. "Слишком сложно" - это не показатель того, что человек тупой, это показатель того, что система/ЯП - говно.
> "Слишком сложно" - это не показатель того, что человек тупой, это показатель того, что система/ЯП - говно.При повышении сложности за это должен быть какой-то мега-бонус.
В расте ты за это получаешь производительность и автоматическое управление памятью. Многие считают этот размен приемлемым.
В скале ты за это получаешь нечитаемость и прожорливость jvm. Ну и ощущение того, что ты - илита, конечно. Собственно в скалу ушли все мега-ботаники, которым интересна не software engineering, а ЧСВ.
в целом правильно. программирование это борьба со сложностью а не повод мериться эээ iq
Главное чтобы на них нельзя было метапрограммировать. А так дженерики вещь полезная и логичная.
сегодня днюха у столлмана
Зачем день рождения человеку, который не пьет водку?
У человека который ее пьет дней рождений сильно меньше
Зато они веселее.
Вроде какая-то долгожительница хвасталась регулярным потреблением вина
> Вроде какая-то долгожительница хвасталась регулярным потреблением винаНу, вино и Столлман пьёт.
А когда ООП подвезут?
Язык прикладного назначения
Да ну !?Т.е. Docker, Kubernetes есть прикладные программы ?
Так то например серверная часть avito на сколько известно на нем написана
Поэтому Avito такой тормоз?
Там только часть на го. Остальное на php.
Только вебня, только вебня. Это не изменится. Увы.
И то Rust для веба не хуже чем Go (сейчас кстати не иронично).
Ага, только в вебе и остается думать про то, не как бизнес-логику закодить, а как на данные в хипе смартпоинтеры навесить, а для значений на стеке лайфспаны расписать. В вебе блин, сборка мусора и максимальная похожесть на псевдокод уже скоро будут стандартом де-факто.
этим можно заняться вместо проверки на нулл и ручному бойлерплейту для ошибок. а также быть уверенным что конпелятор не пропустит каки в многопоточном коде
докер, кубер, терраформ, трафик, кореос - это вебня ?
Это ненужный мусор для девляпсов.
А что нужный мусор, перечисли.
Линукскернел без которого все это не нужно ))
Это всё хуже, чем веб. На вебе хотябы нагрузку надо держать и тупить поменьше, а в этих докерах и кубернетисах прогон одноразовых действий. Есть одна прога на го, где надо держать нагрузку - Prometheus, так он постоянно тормозит и падает.Ещё на го был сервис под нагрузкой - Discord. Пришлось на раст переписать, что б не тормозил. Дропбокс ещё вроде через ту же историю прошёл. Не помню только, с питона или с го они слезли.
Так не нужны же дженерики, ребята, вы чего? Методичку теперь менять? С пеной у рта кричали, что дженерики ненужны и их никто не использует
тоже всегда нравится как ярые крикуны переобуваются)
>С пеной у рта кричали, что дженерики ненужныА можно ссылочку, где авторы кричали, что дженерики не нужны?
Справедливости ради, про дженерики авторы языка говорили, что т.к. язык изначально предназначался как способ усадить тучу студентов и индусов на корпоративные проекты, дав им такой инструмент, который требует минимальной когнитивной нагрузки и на котором оч тяжело выстрелить себе в ногу в силу общей примитивности.
Только с ростом популярности, когда Go понравился и вполне себе состоявшимся и квалифицированным разработчикам, стало очевидно, что отсутствие языковых средств для реализации DRY создает языку плохую репутацию, дженерики добавили. Взгляды не меняют только мертвецы и идиоты.
> ...инструмент, который требует минимальной когнитивной нагрузки...Что-то у них не очень получилось, судя по результату.
Вы что, учили голанг как кресты (год по 10 учебникам), чтобы пройти на джуна? Или в синтаксисе через раз неочевидные места? Язык тупой как пробка и этим и ценен в современных реалиях разработки коммерческого ПО.
Вы по синтаксису оцениваете сложность языка?
По стандартной библиотеке, синтаксису и принятым в сообществе шаблонам "хорошего кода" на языке.
Голанг по всем параметрам простой как табуретка и этим прекрасен. Есть вещи типа многопоточки, которые нетривиальны как концепция в любом языке, но если в Go пользуешься только каналами и горутинами, то тебе вообще до лампочки на всякие happens-before, memory fences и sequential consistency, и прочие вещи касательно моделей памяти, в которых необходимо разбираться, если нужно грамотно писать на какой-нибудь джаве. Ах да, еще один плюс - в проектах и фреймворках на Go никакой магии. Ты пишешь проект, что-то не работает, запускаешь отладчик, проваливаешься в библиотечные функции - и они мало чем отличаются от твоего кода в проекте. Разрабатываешь на какой-нибудь Java/C#, запускаешь отладчик, проваливаешься в кишки фреймворка - мама мия, всё работает в крысу через 10 проксей.
Гораздо больше впечатляет, когда читаешь, что разработчик не пользуется отладчиком от слова совсем.
Как например разработчик Нжинкса Сысоев, который вообще им не пользуется, объясняя это тем, что ему и так понятно как работает его программа, а какие-либо проверки можно просто временно залогировать.
Запуск отладчика скорее говорит не в пользу разработчика.
Возможно даже намекает на профнепригодность в целом.
Табуреточность языка совсем не гарантирует, что присевший на табуретку завтра начнет писать грамотно спроектированное ПО. Скорее наоборот. Да и в целом нужно знать много чего по горизонтали, типа устройства ОС, протоколы, форматы данных, БД и еще много чего.
Часто видно, что многим не дано даже нормально расставить пробелы. В питоне похоже решили эту проблему кардинально.
Ну и чушь написали, используя неуместную аргументацию аппелирования к Сысоеву с его специфичным продуктом. Большинство разработчиков, которые хотят нормальных денег, работают в кровавом ынтерпрайзе с огромными монорепозиториями, легаси кодовыми базами на сотни тысяч строк кода, десятками (иногда сотнями) ежедневно коммитящих коллег и десятками библиотек и фреймворков в зависимостях. В каждой из third-party библиотек могут быть баги. Вы как, возьмете на себя смелость утверждать, что поняли проблему чисто по воткнутым логам, если, к примеру, зарепортили жалобу от клиентов, что иногда возникает немотивированный обрыв передачи данных или данные приходят испорченными? В лучшем случае по логам получится только поверхностно локализовать область поиска виновника. А такие ситуации сплошь и рядом бывают, когда проблема не в твоем клиентском коде, а в библиотечном. Например, там гонка или какой-то хардкод, который невозможно переконфигурировать. И в документации к библиотеке он не описан. И в этом Go удобен тем, что там очень сложно сделать не KISS-архитектуру и как результат, поиск проблемы и написание к ней костыля (или решение поднять или понизить версию) занимает меньше времени, чем на C++/Java/C#. Спасибо, хватило в свое время джавы со всякими интересными "особенностями реализации" Spring или Hibernate, стектрейсы которых приходилось кропотливо простукивать иногда несколько рабочих дней, продираясь через рефлексию, проксирование и кодогенерацию, чтобы понять, что где-то в промежуточном middleware отсутствует какая-нибудь проверка, из-за чего при совокупности различных условий происходит бажное поведение.
>> приходилось кропотливо простукивать иногда несколько рабочих дней, продираясь через рефлексию, проксирование и кодогенерацию, чтобы понять, что где-то в промежуточном middleware отсутствует какая-нибудь проверкаДостаточное основание для уволнения.
Такого разраб практически бесполезен.
К чему ты там пробрался сжигая десятки человекочасов?
У нас такие кропотливые "копатели" испытательный не проходят.
Заботящийся ты наш о человекочасах, может ты ещё и искренне сочувствуешь работодателю, когда просишь повышение зарплаты, так как понимаешь, что это создаст дополнительную нагрузку на зарплатный фонд? Разобраться надо 1 раз, точно определив проблему, и потом над костылем для ее обхода оставить коммент. Сам чуть глубже будешь внутрянку знать, чтобы экономить время свое и работодателя в будущем, и другим предупреждение. Если в конечном итоге в рамки спринта уложился по задачам, какие вопросы?
«Табуреточность» языка гарантирует, что миддл, делающий ревью кода джуниора, поймёт: в порядке код, или нет. С «диванными» языками этот фокус сложнее.
Мидл сделает ревью на мидл, т.е. на полшишечки.
Вы там завязываете с верой в мифическую простоту.
Программа это в первую очередь алгоритмы и декомпозиция, а не табуреточный синтаксис, который якобы дает мега профит. Зная буквы и слова красивое стихотворение не напишешь. Если с абстрактным мышлением не алё, то на выходе будет всегда овнокод на любом языке.
Являюсь постоянным свидетелем того, как разрабы пишут всегда один и тот же плохой небрежный код, на троечку и так ничего не меняется с годами. Единственный плюс в таких разрабах, что они неприхотливы к уровню ЗП и могут долго работать на однотипных задачах не выгорая, но за ними нужен всегда присмотр и ревью на ответственных участках.
>Разрабатываешь на какой-нибудь Java/C#, запускаешь отладчик, проваливаешься в кишки фреймворка - мама мия, всё работает в крысу через 10 проксей:'(
>Или в синтаксисе через раз неочевидные местаАга. http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in.../
"Unused Variables
If you have an unused variable your code will fail to compile. "
Выстрел не просто в ногу, а в голову навылет с рикошетом в... пониже спины.
Кто тебе такую чушь сказал? Дженерики не нужны. Но из-за таких клоунов как ты -- их туда привезли. Усложнили компилятор == понизили надёжность.
Сегодня скачал, поставил. Полдня думал куда мне эти дженерики воткнуть, так и не придумал.
ну альтернативно одаренный, че сказать. Еще скажи, что на пустых интерфейсах всё писал и было читабельно и никаких повторов.
Пустые интерфейсы -- зло. Так в го никто не делает.
почему же? в encoding/* маршалеры/энкодеры их принимают
брат, ты ж мне за отца был...
да все что с энтерпрайзом связано.
в основном обработка данных, разных типов данных, схожим образом.
возможность написания типонезависимых, но при этом типобезопасных библиотек для работы с коллекциями.
да тонны всего... аллилуйя
Кодогенерация спасёт моего сына. Ровно такой же инструмент, как и дженерики. Только БЕЗ УСЛОЖНЕНИЯ компилятора. Более того, если очень надо -- ты не обязан довольствоваться пустыми интерфейсами (и не должен). У тебя есть руки, которые могут эффективно устроить тайпчекинг. И тогда, без использования рефлексии, твой код будет и безопасным, и быстрым. На практике я ни разу за 27 лет трудовой деятельности не видел чтобы прилетали какие-то данные не имеющие чёткой заранее оговоренной структуры.
И я видел множество раз, когда применение дженериков делало невозможным нормальное тестирование, а значит и контроль целостности логики алгоритма.
Буквально вчера закончил микро сервис -- покрытие тестами 95.8%. Удачи тебе сделать также с дженериками.
З. Ы. Фаззинг джва года ждал. Есть популярная либа (да, знаю), но из коробки вкуснее.
Почему не 100%?
> Почему не 100%?Потому что существуют ситуации, которые код контролировать не может. Например, невозможно имитировать достоверный ответ внешнего веб-ресурса, если у этого веб-ресурса свихнулись мозги. Мне все возможные ситуации по внешним ресурсам заведомо неизвестны.
Ещё раз задам вопрос: повтори тоже самое с дженериками. Вперде и удачи. Она потребуется.
> Почему не 100%?Тогда бы это был нано сервис
Какая-то странная практика у вас была. Даже при наличии документации и спецификации твоего сервиса, иногда такую дичь прислать могут, что волосы на жопе дыбом встают.
> Какая-то странная практика у вас была. Даже при наличии документации и спецификации
> твоего сервиса, иногда такую дичь прислать могут, что волосы на жопе
> дыбом встают.Практика у меня нормальная. То, что внешний ресурс предоставляет жопу -- это лишь подтверждает тот факт, что образованию этой жопы дженерики только помогают. Кодогенерация заставляет держать в рамках полёт фантазии художника, который возомнил себя программистом.
> брат, ты ж мне за отца был...
> да все что с энтерпрайзом связано.
> в основном обработка данных, разных типов данных, схожим образом.
> возможность написания типонезависимых, но при этом типобезопасных библиотек для работы
> с коллекциями.
> да тонны всего... аллилуйяУгу. А вот и бенчмарки подвезли с пруфами:
https://betterprogramming.pub/benchmarking-generics-in-go-7d...Твои дженерики работают МЕДЛЕННЕЕ в практическом коде, чем прямое приведение типа.
В искусственном примере только float32 выигрывает на дженериках на 5%. В практическом -- все дженерики проиграли от 20%.
Круто! Именно то, чего не хватало этому языку.
Хм. Там до сих пор не было генериков?
Не, нахрен. Язык без таких высокоуровневых средств или учебный, или неполноценный, или С.
Сколько же тупизны на опеннете.
"эксперт с опеннета" - это уже мем
Есть еще более мемные обитатели ЛОРа
Ты тормоз Вася - в си генерики с 11 года есть
> В клиентском коде по умолчанию отключена поддержка TLS 1.0 и 1.1.Почему корпорасты так не любят TLS 1.0/1.1?
Похоже, в TLS 1.2/1.3 напихано много чего "интересного" от маёра...
таблетки от майора - это всегда хорошо. Главное чтобы не для
> таблетки от майора - это всегда хорошо"Молоко от наших коров" - хорошо (если санэпиднадзор пропустил), "таблетки от майора" - не бери конфетки от незнакомых тебе дядей.
> корпоРАСТыБыло сложно, но ты всё же приплел раст.
преположу, что корпорастам надо периодически секурити аудиты проводить. и алгоритмы которые outdated никого не радуют.
для спецслужб слишком стремно закладывать дыры в такие вещи как тлс. в коде ж много кто копается. всплывет дыра - могут собственные gov и com секторы пострадать.
Это очевидно любому анонимному эксперту
А разговоров-то было про дженерики! 😂
С Гугловскими проектами связываться та ещё лотерея - GWT, Google+ и т.п.
Всё, что гугл пытался сам сделать, со временем закрывалось. Работают только купленные проекты.
P.S. А история началась с покупки поисковика на деньги инвесторов, которым обратно продавалась поисковая информация: кто, что и где ищет.
Ты что?! Все же знают гугл взлетел из-за гениального pagerank!
А можно поподробнее? Не первый раз вижу эту инфу.Всегда думал что уж что, а поиск они делали сами.
Outride (поисковая система) - первое поглощение на заре становления гугла
а также следующие поглощения поисковых движков:
Kaltix
Akwan Information Technologies
Orion
Aardvark
Plink
Metaweb
Like.com
Sparkbuy
Apture
Tenor
- Ещё хочу...
- Да ты же лопнешь!
- А ты налей и отойди!
Не стоит забывать что продавать можно еще и: кто, что и где выкладывает.
Тогда переживать не стоит. Go в какой то мере купленный проект от Bell Labs
Ржунемогу!!!! Но как ведь точно!!!!!
>Синтаксис Go основан на привычных элементах языка Си с отдельными заимствованиями из языка Pascal.Исправил
Со сплошными заимствованиями из Оберон-2
Исправил.
Ну вот и зачем внедрять язык, у которого по решению компании владельца могут завтра отключить все модули? А в рф их отключат и тогда начнётся свистопляска. Вряд-ли кто-то поднял свои репы и копирует все модули.
Предлагаете на 1с всё переписать?
Причём тут 1с, предлагаю использовать языки , которые не принадлежат одной конторе.
Рассказать как удобно компилировать go в Крыму, например?
В любом случае там лучше ничего не компилировать.
А можете рассказать как в Go происходит "отключение" модулей? В C#/Java принято полностью выкачивать популярные репозитории артефактов в локальный Nexus компании, и дальше импортировать библиотеки локально.
Сомневаюсь, что крупные компании, использующие Go, не сделали также, склонировав популярные Go-репозитории на местный сервер.
Я говорю про пблокировку реп по законам США для санкционных регионов. Понятно, что можно держать локальные, но сам факт использования продукта от компании, которая блочит по прихоти власть имущих... И это называется опен сорс, свобода и всякое такое.Есть ряд дистров, которые блочат так же скачивание по тем же причинам. Не буду показывать пальцем, итак понятно же.
А каким образом? Компилятор - opensource. Все модули - opensource. Как их отключить то?
> Как их отключить то?Тут крипту кое-кому уже отключили...
Ты написал чушь. Так никто не работает (кроме кооперативов по обжаривания семечек). А го так не работает от слова совсем.
Расскажи это тем,кто пишет на нём в санкционных регионах.
> Расскажи это тем,кто пишет на нём в санкционных регионах.Т. е. мне рассказывать самому себе?
Ещё раз тебе повторяю: в любой, нормальной конторе -- так не пишут. А в го -- тем более так не делают. Иди учи матчасть: что такое модули в го, и почему вендоринг в модулях клал болт на всё санкции и отключения.
Вопрос к знатокам матчасти.Завтра Гугл запрещает использовать Go в России.
Технически возможно скачать, но Гугл будет трубить: "смотрите, русские воруют, поскольку сами ничего не умеют".
Что делает в такой ситуации Брат Анон и как ему помогает знание матчасти?Что сделают шарлатаны известно на примере разработчиков Пока Линукс - тупо сохранят pokerface и напишут в Реестр про автономность всех процессов, что даст повод Гуглу заявить: "смотрите, они ещё и на официальных ресурсах врут"
> Вопрос к знатокам матчасти.
> Завтра Гугл запрещает использовать Go в России.
> Технически возможно скачать, но Гугл будет трубить: "смотрите, русские воруют, поскольку
> сами ничего не умеют".Нет, так сделать не может ни гугл, ни кто-либо ещё.
Отвечают знатоки матчасти: го распространяется под лицензией BSD.
Гугл никакого отношения к вопросам владения го не имеет.> Что сделают шарлатаны известно на примере разработчиков Пока Линукс - тупо сохранят
> pokerface и напишут в Реестр про автономность всех процессов, что даст
> повод Гуглу заявить: "смотрите, они ещё и на официальных ресурсах врут"Понятно. Зеркала реп не делал, про лицензионную политику не слышал, что такое вендоринг в го -- даже близко не понимает.
>> Вопрос к знатокам матчасти.
>> Завтра Гугл запрещает использовать Go в России.
>> Технически возможно скачать, но Гугл будет трубить: "смотрите, русские воруют, поскольку
>> сами ничего не умеют".
> Нет, так сделать не может ни гугл, ни кто-либо ещё.
> Отвечают знатоки матчасти: го распространяется под лицензией BSD.
> Гугл никакого отношения к вопросам владения го не имеет.***Выпущенные*** версии распространяются под лицензией BSD.
>> Что сделают шарлатаны известно на примере разработчиков Пока Линукс - тупо сохранят
>> pokerface и напишут в Реестр про автономность всех процессов, что даст
>> повод Гуглу заявить: "смотрите, они ещё и на официальных ресурсах врут"
> Понятно. Зеркала реп не делалЯ менял проект под EULA, от которого нет исходников, на MIT и Микрософт пока меня не посадила за это.
> про лицензионную политику не слышал
Я слышал про юридическую ничтожность. Если закон США потребует, BSD превратится в тыкву.
> что такое вендоринг в го -- даже близко не понимает.
Я вообще это ваш Го видел только на картинках. Мне интересны так сказать горизонты планирования. Пока видно, что знатоки матчасти Го молятся "авось белый господин помилует". Попробую переформулировать вопрос. Идеи типа "переписать на ̶R̶u̶s̶t̶ Оберон" не приходили в голову?
>> Гугл никакого отношения к вопросам владения го не имеет.
> ***Выпущенные*** версии распространяются под лицензией BSD.Ещё раз прочитай строку выше и сообрази где ты в тексте не прав.
>> Понятно. Зеркала реп не делал
> Я менял проект под EULA, от которого нет исходников, на MIT и
> Микрософт пока меня не посадила за это.Ключевое слово "пока".
Если бы у тебя был лярд баксов -- посадят только в путь.>> про лицензионную политику не слышал
> Я слышал про юридическую ничтожность. Если закон США потребует, BSD превратится в
> тыкву.Если это касается тебя -- да.
Если это касается той госкорпорации, в которой работаю я -- гораздо быстрее эта госкорпорация превратит США в тыкву, чем наоборот.>> что такое вендоринг в го -- даже близко не понимает.
> Я вообще это ваш Го видел только на картинках. Мне интересны так
> сказать горизонты планирования. Пока видно, что знатоки матчасти Го молятся "авось
> белый господин помилует". Попробую переформулировать вопрос. Идеи типа "переписать на
> ̶R̶u̶s̶t̶ Оберон" не приходили в голову?1) Вот для начала стоит разобраться всё же как работает вендоринг в го. Раст не предлагать -- в го вендоринг сделан грамотно. Тех возможностей что есть в го -- исчерпывающе. Подобный уровень стабильности в расте я не нашёл (вопрос изучал лично, если что).
2) Переписать на Оберон -- я обеими руками за. Не поверите: кое-что в госкорпорации не то, что переписано на Оберон -- с нуля создан многоцелевой компилятор Оберона (и да, на нём с нуля написаны ответственные куски и успешно эксплуатируются в атомной промышленности, оборонке, энергетике, а в Швейцарии -- ещё и в сертифицированных медицинских приборах, надеюсь пример про еврофайтер ещё оскомину не набил). Если что, к проекту написания компилятора на Обероне -- я руки не прикладывал вообще. Делают коллеги из другой дочки (но я за них искренне рад).
Этот компилятор (даже с учётом закрытости госкорпорации) свободно доступен для скачивания и его можно пользовать как на Шинdoшс, так и на Linux. Варианты под Android, фронта веб-браузера и т.п. (если захотите) легко обнаружите.
3) Го -- это испорченный Оберон с конкурентностью из коробки. + встроена инфраструктура вендоринга, тестирования, отличные инструменты для экосистемы, высочайшая портабельность и простота (как наследник Оберона). Поэтому. для меня выбор между Обероном, Го и Растом -- очевиден. Как и приоритеты межды ними.
>>> Гугл никакого отношения к вопросам владения го не имеет.
>> ***Выпущенные*** версии распространяются под лицензией BSD.
> Ещё раз прочитай строку выше и сообрази где ты в тексте не
> прав.Кто именно, Гугл, или борзасосы набегут и сменят лицензию - это дело десятое и не меняет сути.
>>> Понятно. Зеркала реп не делал
>> Я менял проект под EULA, от которого нет исходников, на MIT и
>> Микрософт пока меня не посадила за это.
> Ключевое слово "пока".
> Если бы у тебя был лярд баксов -- посадят только в путь.За GTA вон без миллиарда судят. А по нашим законам реверс в целях адаптации легален, да и мало ли кто как приукрасит на форумах? :) Просто так совпало и код производит идентичный побочный эффект.
>>> про лицензионную политику не слышал
>> Я слышал про юридическую ничтожность. Если закон США потребует, BSD превратится в
>> тыкву.
> Если это касается тебя -- да.
> Если это касается той госкорпорации, в которой работаю я -- гораздо быстрее
> эта госкорпорация превратит США в тыкву, чем наоборот.Наоборот? Т.е. быстрее, чем госкорпорация превратит тыкву в США? :)
Если серьёзно, отправлять ядрён-батон в Йеллоустоун за запрет какого-то языка Го точно не будут, люди не поймут. Могут принять закон, разрешающий использовать "запрещённое" ПО в качестве компенсации за украденный ЗВР, но скорее там всё заранее подсчитано и аккурат хватит на материальные активы. Посыпется ли от этого ФРС и прибегут ли разработчики Го трудоустраиваться в госкорпорацию - этого я не знаю.
>>> что такое вендоринг в го -- даже близко не понимает.
>> Я вообще это ваш Го видел только на картинках. Мне интересны так
>> сказать горизонты планирования. Пока видно, что знатоки матчасти Го молятся "авось
>> белый господин помилует". Попробую переформулировать вопрос. Идеи типа "переписать на
>> ̶R̶u̶s̶t̶ Оберон" не приходили в голову?
> 1) Вот для начала стоит разобраться всё же как работает вендоринг в
> го. Раст не предлагать -- в го вендоринг сделан грамотно. Тех
> возможностей что есть в го -- исчерпывающе. Подобный уровень стабильности в
> расте я не нашёл (вопрос изучал лично, если что).Про Раст я написал по той причине, что на него всё переписывают - как раз что бы сменить лицензию и владельцев. Всё остальное лишь информационный шум для отвлечения внимания. Вот сейчас мне понятно, что активный срач "Паскаль против Си" был устроен в своё время, поскольку в РФ почему-то очень любили писать на Дельфи. В итоге Микрософт пропихнул Додиез.
>[оверквотинг удален]
> пример про еврофайтер ещё оскомину не набил). Если что, к проекту
> написания компилятора на Обероне -- я руки не прикладывал вообще. Делают
> коллеги из другой дочки (но я за них искренне рад).
> Этот компилятор (даже с учётом закрытости госкорпорации) свободно доступен для скачивания
> и его можно пользовать как на Шинdoшс, так и на Linux.
> Варианты под Android, фронта веб-браузера и т.п. (если захотите) легко обнаружите.
> 3) Го -- это испорченный Оберон с конкурентностью из коробки. + встроена
> инфраструктура вендоринга, тестирования, отличные инструменты для экосистемы, высочайшая
> портабельность и простота (как наследник Оберона). Поэтому. для меня выбор между
> Обероном, Го и Растом -- очевиден. Как и приоритеты межды ними.Выходит, могли бы на Обероне всё писать, и компилятор бы за это время улучшили, и свою инфраструктуру вокруг него создали, но кто-то решил немножко сэкономить. Если отбросить эмоции и спокойно призадуматься, то запрет в итоге выгоден. Значит, его будут добиваться.
> Выходит, могли бы на Обероне всё писать, и компилятор бы за это
> время улучшили, и свою инфраструктуру вокруг него создали, но кто-то решил
> немножко сэкономить. Если отбросить эмоции и спокойно призадуматься, то запрет в
> итоге выгоден. Значит, его будут добиваться.Могли бы не просто написать всё -- могли бы уже давно свой процессор на Обероне создать (студенты учебные проекты прошивают в ПЛИС уровня "Спартан-2").
Если отбросить эмоции и спокойно призадуматься, то запрет не нужен для того, чтобы понять, что своё (даже если оно по уровню отстаёт) -- всё-равно лучше, чем "ихнее". И выёживаться до уровня запрета всего и вся -- на это всегда только один ответ: воровать меньше надо.
> Если отбросить эмоции и спокойно призадуматься, то запрет не нужен для того,
> чтобы понять, что своё (даже если оно по уровню отстаёт) --
> всё-равно лучше, чем "ихнее".Это _Вам_ понятно. И одного этого понимания мало, когда вот она халява, и говорящие головы умело обоснуют, почему им должны за неё заплатить.
> И выёживаться до уровня запрета всего и
> вся -- на это всегда только один ответ: воровать меньше надо.Так запрещают "партнёры". :)
Дворкович подал в отставку с поста председателя «Сколково» (ц)
>> И выёживаться до уровня запрета всего и
>> вся -- на это всегда только один ответ: воровать меньше надо.
> Так запрещают "партнёры". :)
> Дворкович подал в отставку с поста председателя «Сколково» (ц)И что, они последние 30 лет тоже запрещали свою электронику развивать? Байкалы, Эльбрусы, мультиклеты всякие?
И где этот Мультиклет? Очень интересная разработка, хотел когда-то приобрести, ждал лучших времён, поскольку у них не открывался сайт. В итоге банально забыл. Зато каждый Аноним здесь расскажет, как крут RISC-V, которому надо помочь из бюджета.Для саботажа не обязательно запрещать, достаточно занять место способных и имитировать бурную деятельность, перетягивая ресурсы на себя.
Если вернуться к теме разработки ПО, то «Роса-Лаб» (резидент «Сколково») теперь называется ООО "НТЦ ИТ Роса" и там у ведущего разработчика в языке Си #define объявляет переменную. Что они могут написать, кроме статьи в СМИ про нескучные обои?
Каким образом это должно произойти технически? Скорее npm отключат и тогда я будут долго смеяться...
В смысле каким образом? Ну блокнут скачивание из РФ и всё. Сидеть впны городить,чтоб штатные модули присосать? Или локальные репы держать , тольк чтоб на голанге оставаться, ну такое.
Всмысле штатные модули "присосать"? Они же встроены в компилятор.> Или локальные репы держать , тольк чтоб на голанге оставаться, ну такое.
Это вообще хорошая практика, если ты не хочешь, чтобы проект зависил от внешнего сервиса. Как по другому то?
> что позволяет добиться производительности, сопоставимой с программами на языке Си.Да что там Си, быстрее ассемблера, ну
Ассемблер еще более небезопасный чем Си.
А насколько уж страшен тогда микрокод, лучше даже и не задумываться.
Прекратите навешивание ярлыков. Нет никаких "безопасных" и "опасных" языков.
Тут в комментах постоянно пишут про один безопасный язык. Миллион мух не могут ошибаться.
Вообще-то, он намного более безопасный и предсказуемый, без вывертов логики компиляторов (и ошибок), только чёткое следование инструкциям и соответствие спекам на железо.
Не стоит конечно забывать, что разработчикам компиляторов могут быть известны определённые особенности и ассемблер для каждого поколения процессора свой, отсюда могут быть различные проблемы. Не обязательно ошибки.
Ассемблер как раз таки и быстрее только лишь за счет того что в нем убирают все проверки «безопасности», работы с абстракциями и всякую другую муть.
Ассемблер в редких случаях и мало в чьих руках обгоняет Си или Плюсы.
И будет у тебя программа от сегфолта до сегфолта. Зато без вывертов.
Как после этого возможно ругать синтаксис раста
Два сапога - валенки.
Странно что дженерики добавили так поздно
> Странно что дженерики добавили так поздноНе странно. Зачем? Какое они дают преимущество, чего не было в го?
> Какое они дают преимущество, чего не было в го?Избавляют от лютой копипасты.
Так, а теперь разверни что плохого в копипасте?
Ее поддержка: написание тестов, исправление ошибок(помнишь недавно пробегала новость об уязвимости в каком-то системном компоненте линукс, там был скопипасчен из другой либы лет 10 назад, в той либе уязвимость давно найдена и исправлена, а в скопированном коде вот только в этом году), рефакторинг, расширение функциональности(вот надо тебе какое-то логгинование или новый способ аутентификации прикрутить и начинай во всех местах это делать, куда код раскопирован)
Открою страшную тайну: если ты в го копипастишь код -- ты сразу же копипастишь и тесты.
Там сломаться нечему. Либо ты всё скопировал правильно, либо твои тесты упали.То, что ты описал про расширение -- у нормальных программистов делается не так. Погугли волшебное слово: интерфейсы.
>> Какое они дают преимущество, чего не было в го?
> Избавляют от лютой копипасты.Анон расписался в полной безграмотности. Открою для тебя офигенную альтернативу дженерикам: кодогенерация.
>>> Какое они дают преимущество, чего не было в го?
>> Избавляют от лютой копипасты.
> Анон расписался в полной безграмотности. Открою для тебя офигенную альтернативу дженерикам:
> кодогенерация.Неудобный инструмент, очень мягко говоря.
Насколько я помню (сам давно переполз с Go на Rust), есть пакеты, облегчающие кодогенерацию настолько, что фактически просто писал на генериках ещё тогда.
> Насколько я помню (сам давно переполз с Go на Rust), есть пакеты,
> облегчающие кодогенерацию настолько, что фактически просто писал на генериках ещё тогда.Сторонние решения всегда хуже нативных.
> Неудобный инструмент, очень мягко говоря.Неудобно спать на потолке и работать до пенсии.
Если ты сделал кодогенератор -- ты сделал как надо ТЕБЕ, а не как придумали ЗА ТЕБЯ, максимальное быстродействие сгенерированного кода, и эта тулза позволяет не раскрывать тебе детали твоих наработок (если надо).Ещё раз: втаскивание дженериков в компилятор УСЛОЖНЯЕТ компилятор == СНИЖАЕТ надёжность.
Кодогенератор ты можешь обложить тестами. С выходом новой версии компилятора -- все твои тесты для компилятора идут лесом.
Кодогенерация позволяет автоматизировать многие этапы разработки (это отчуждаемая часть), а при желании кодогенератор ты вообще можешь заменить (как опция -- выкинуть и копипастить). Удачи тебе с дженериками.
Сразу видно, что с вопросами разработок больших проектов ты не знаком и вопросов интеграции ты не касался.
а потом вдруг оажется что гдето в Go есть маленький бэкдорчик от гугла который весь ваш проект превратит в тыкву. Нет? Конспиралогия и призказки про большого брата? ))
Давайте учится ходить по земле а не ползать.
Есть gccgo?> Давайте учится ходить по земле а не ползать.
Что это означает? Написать свой компилятор go?
не пользоваться компилятором го
Да давай жить в Северной Корее и программировать на перфокартах для ламповых ЭВМ. Как перестать с тебя орать?
Там вообще-то две международные линии интернета... Если ты не в курсе.
Ты так говоришь как-будто это что-то хорошее.
я достаточно хорошо понимаю людей, давно приметил что люди очень любят прыгать из крайности в крайность. Ваше сообщение вполне себе бонально и ожидаемо. Можно было бы рассказать вам о адекватных вариантах, но увы, человек который начал прыгать в крайности, уже настроен на отрицание гормонии )
Кушайте пластиковую еду, или живите в пещере )
А чем пользоваться? Отвергая - предлагай. В gcc есть бэкдоры? Лично проверяли?
gcc нет бэкдоров. Учавствовал в проверке.
> а потом вдруг оажется что гдето в Go есть маленький бэкдорчик от гугла который весь ваш проект превратит в тыкву. Нет?Одна из фич GO в том, что он самокомпилируемый. Т.е. компилятор тоже написан на Go. Более того, это часть документации, благодаря простому синтаксису. Т.е. если что-то хочешь понять - идешь в исходник и смотришь как там все устроено.
Короче по исходникам постоянно ползают сотни программистов и всякие странные штуки будут оперативно найдены.
Каким образом-то "весь проект" сломается? На Го в основном пишут небольшие сервисы и запускают их в докере. Похоже на выдумки человека, который никогда не видел продакшена.
по разному бвает, сегодня микросервисы, завтра модули ядра.
Ну считайте что я далек от прома и тп. сути это не меняет. Я же не пытаюсь вам доказать что я тут спец.
Если такой бэкдорчик есть, то он с тем же успехом превратит в тыкву проекты гугла, не? Бэкдорчики это не избирательное «оружие»
> а потом вдруг оажется что гдето в Go есть маленький бэкдорчик от
> гугла который весь ваш проект превратит в тыкву. Нет? Конспиралогия и
> призказки про большого брата? ))
> Давайте учится ходить по земле а не ползать.Такой риск БЕЗУСЛОВНО есть. Не думаю, что гугель будет к этому иметь отношение (как минимум формально), но риск не нулевой.
Но почему такой странный заход? А что, уже есть компы отечественного производства? (* нет, не Эльбрус, который делается на Тайване, мат.платы делаются у нас и впаиваются американские/китайские чипы с тайваньской памятью). Есть отечественный интернет? (* нет, не чебурнет, на Цисках, ТП-Линках и ТСП/ИП -- продукт ДАРПА *).
Компилятор го, ИМХО, в этом списке почему-то оказался крайним, хотя как раз компилятор проверить куда легче (* и контрольными суммами зафиксировать его целостность до последнего бита *), чем расковырять прошивку сетевой карты или 5Г-модема.
Даёшь больше языков!!! Лет через десять их всёравно ждёт участь perl, tcl, pascal, basic и т.д. ПОТОМУ ЧТО НЕ МОДНО И НЕ МОЛОДЁЖНО..
Не обязательно. Если язык не дно и не застрял где-то 40 лет назад, он будет популярен. Это касается в первую очередь языков, которые берут ради сахара.
Так гошка по определению "застряла в семидесятых".
А какие есть языки, которые не из "застрявших семидесятых"?
Масса их - algol68, например.
Расскажи это коболу. На котором написаны миллионы строк продакшн кода. Но программистов на нём нет в природе.
> Не обязательно. Если язык не дно и не застрял где-то 40 лет
> назад, он будет популярен. Это касается в первую очередь языков, которые
> берут ради сахара.У вас в корне неправильные представления, о языках.
Молоток родом из средневековья, но это ему не мешает быть популярным в век космических кораблей.
Сахар -- это отвратительный критерий. Если вы не в курсе -- сахар вызывает привыкание и провоцирует раннего Альцгеймера.Выживают не популярные (они именно потому популярные, что завтра умрут) и не присахаренные (толстые медленно бегают).
Выживают только те, кто поджарые, всеядные, быстро бегают и не бояться ни жары, ни морозов. Эволюция, Карл!
Го родом из начала 90х, к слову.
Потому что нужно использоваться нужныe инструменты под возникающие задачи. Ключевое слово "ЦЕЛЕСООБРАЗНОСТЬ". Потому что нужна ПРОДУКТИВНОСТЬ/КАЧЕСТВО в условиях жесткой конкуренции. Можете попробовать штихелем валить лес в промышленных масштабах, ведь им так удобно вырезать мелкие детали по дереву. Правильный язык соответствует парадигме программирования, под которую он изначально создавался. А попытки адаптировать существующий язык к новой для него парадигме чаще всего делает его малопригодным для эффективного использования и резко увеличивает порог вхождения, превращая его адептов в подобие секты "истинных знатоков как надо кодить".
> Потому что нужно использоваться нужныe инструменты под возникающие задачи. Ключевое слово
> "ЦЕЛЕСООБРАЗНОСТЬ". Потому что нужна ПРОДУКТИВНОСТЬ/КАЧЕСТВО в условиях жесткой конкуренции.
> Можете попробовать штихелем валить лес в промышленных масштабах, ведь им так
> удобно вырезать мелкие детали по дереву. Правильный язык соответствует парадигме программирования,
> под которую он изначально создавался. А попытки адаптировать существующий язык к
> новой для него парадигме чаще всего делает его малопригодным для эффективного
> использования и резко увеличивает порог вхождения, превращая его адептов в подобие
> секты "истинных знатоков как надо кодить"."Конкуренцию" и "бизнес" нужно запретить как человеконенавистнические идеологии. От каждого по его способностям, каждому по его потребностям, а не наоборот.
Тогда опенсорс нужно прикрывать. А то пилят все кому не лень свои велосипеды и костыли. Эх, вам бы Сталина, он бы вам указал единственный идеологически правильный язык. Мечта аутсайдеров.
>Подняты требования к окружению в Linux, для работы теперь необходимо наличие ядра Linux как минимум версии 2.6.32Это что такое? Это рантаймовый язык такой что-ли?
NAPI device polling?