Обновить
-28
Beduin@beduin01read⁠-⁠only

Пользователь

Отправить сообщение
Я просто оставлю тут ссылку github.com/arcanosam/imgui_wasm_demo
Так что скоро на JS наконец то можно будет забить.
Go явно не конкурент Python. Python простой и понятный. Go раздутый и непродуманный. Если в Python какие-то вещи делаются в одну строчку кода, то на Go нужно какую-то лапшу писать которая будет приводить только к лишним ошибкам.

Единственный минус Python — это отсутствие типизации. В этом плане в Dart поступили очень правильно введя в Dart 2 strong mode с обязательной явно типизацией.
>А в чем отличие читаемости rust 1.21 от 1.20?
Да ничем. Она отсутствует.
let x: &'static u32 = &0;

Rust с каждой версией все более и более уродским становится.

Вот хороший пример читаемости синтаксисов:
Go:
func typeList(arch *TFile,
      offset uint32, parseDecl bool) []BStr {

C++
std::vector<std::string> typeList(TFile* arch,
        off_t offset, bool parseDecl) {


Rust:
fn typeList<'a>(arch: &'a TFile<'a>,
      offset: u32, parseDecl: bool) -> Vec<&'a bstr> {


D:
string[] typeList(File arch, size_t offset, bool parseDecl) {
На сколько я знаю фишка сопрограмм именно в том, чтобы избежать затратных переключений контекста. Или все же переключение контекста так же происходит и разница лишь в том, что в сопрограммах можно этим управлять?
Я имею ввиду что никак не могу понять чем переключение контекста отличается от сопрограмм. Переключение контекста получается полностью дамп всех регистров делает, а у сопрограмм затрагиваются только некоторые регистры?
>сопрограммы… сохранить текущий стек
А где он будет сохраняться? Если программа записала что-то в регистры процессора и новая сопрограмма туда тоже что-то хочет записать чтобы выполнить вычисление, то как все это будет работать?
Если надумаете D, то вот книжка не плохая для старта.
Попробуйте D будете удивлены тем на сколько меньше кода придется писать..))
Ну если контейнер будет являться диапазоном (Range) то canFind будет с ним так же работать. Если нужно что-то другое, то ничего не мешает реализовать у контейнера свой метод Contains.

Но тут то вся соль в том, что на Go нужно костыли городить уже в простых случаях.
Так, тоесть вы уверяете, что запись вида:
if _, ok := arr[x]; ok {...}

Читается лучше чем к примеру:
if (arr.canFind(x))

>если же у вас там массив то в цикле проверять придется.
А ну вообще прелестно! Проще некуда!

Вот видите даже в каких-то стерильных условиях типа: «Если ваш 'arr' это мэп то» код на Go оказывается куда менее читабельный чем на других языках.
>Везде
Да ладно врать то. Вы примеры покажите чем Go проще других языков.

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

>и угадать, что же он попытался упаковать в те 5 символов
Ага, к примеру по `canFind` или `Сontains` ну совершенно не очевидно что они делают и приходится гадать.
>Тут глупо спорить. Кто-то считает, что если учить 4 года Haskell
Так, стоп. Причем тут Haskell. Вопрос был в том чем Go проще C#/Java/D/Swift/Python. Можете пример показать? Ну вот допустим я в Python могу проверить вхождение так:
if x in arr
На D это будет:
if (arr.canFind(x))
На других языках тоже примерно так же.

Вы будете утверждать, что на Go это проще делается?

По факту больше кода, больше ошибок, дольше разработка, сложнее рефакторинг, тестирование, отладка и тд.

Так ГДЕ Go простой??
Кстати, один я заметил интересную особенность, что на Go активно переходят только PHP-шнки т.е. в большинстве своем те люди, которые привыкли писать лапшеобразный код.

Я реально слабо представляю себе кейс когда человек решит перейти с C#/Java/D/Swift на Go и сможет внятно объяснить свое решение.

Особенно занятно читать вранье про простоту Go. Каким местом он простой? Что на нем делается проще чем на других языках? Такой бред могут нести только люди никогда в жизни ничего серьезного не писавшие. Вся эта простота (а по факту примитивность) приводит лишь к тому что на мало-мальски сложных проектах начинается дикое костылестроение т.к. в языке не оказывается каких-то элементарных синтаксических конструкций. Итогом является закономерный Го-внокод.

Тут просто сам бог велел эту картинку вставить


10 лет непрерывных побед.
>Тем, кто сидит на Java или C# смотрят на Go.
Интересно почему?)) После C# Go выглядит еще более убого чем Basic.
Заголовок не соответствует содержанию. Правильно было назвать статью так: «Mail.ru опять обобралась». Куда этим людям поисковик делать если они публично позорятся в каждой публикации.
Потому что Nim очень сырой и в нем хаотично надерганы концепции из кучи других языков.
Julia все же больше для математиков и ученых создана.
Пробовал Xamarin. Оно сырое просто до ужаса. Плюсов нет. Одни сплошные минусы. Ради интереса попробовал Dart и flutter. Оно хоть и альфа-бетное все, но зато хоть не такое глючное.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность