170 похожих чатов

Голенг хорошо подходит как первый язык?

72 ответов

16 просмотров

да

нет

K4TANC3- Автор вопроса

Нет

K4TANC3
почему

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

Rostislav Teryaev
жесть, а еще goto обрезанный

вот это прям вообще калит!

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

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

исключения подаются критике во многих языках наследвоание подается критике стандартные значения аргументов ведут к неявному поведению и плохому дизайну параметрич полифморфзим уже есть (что тоже подается критике) плюс в хорошей

учите тот с которым может помочь кто то из окружения и есть вакансии в ващем городе

Яб си шарп посоветовал

Yura Sargsyan
Яб си шарп посоветовал

Не, гошечка прям идеально для первого

K4TANC3- Автор вопроса
Anton Kucherov
Смотря что хотите писать. Первым языком лучше всег...

тогда я буду каждый раз менять язык и ничего не выучу

K4TANC3
тогда я буду каждый раз менять язык и ничего не вы...

На itbeard, вроде было интервью с челом, который 14 языков знает😄

K4TANC3
тогда я буду каждый раз менять язык и ничего не вы...

с опытом много проще учить новые языки

Первый язык должен быть С. Не ++, просто С. Познаете С - познаете все остальные

Женя
Может испугать)

Боятся С - крудошлепером не стать. (С) джейсон стетхем

K4TANC3- Автор вопроса
Dmitry Soloma
Первый язык должен быть С. Не ++, просто С. Познае...

с си я прострелю колени и мне будет уже все равно

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

😐 а где есть простой подход для итерирования по полям структуры? Нахрена вообще по структуре итерироваться...

Jack Bolt
😐 а где есть простой подход для итерирования по по...

в языках , где "структуры" суть словарь )

K4TANC3
с си я прострелю колени и мне будет уже все равно

для первого рабочего языка - jvm*, javascript, python если вообще нет опыта программирования - python (много книжек, курсов, учебников по теории)

Jack Bolt
😐 а где есть простой подход для итерирования по по...

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

Iva
Свифт

Полностью согласен

K4TANC3- Автор вопроса
K4TANC3
значит все таки лучше джаву?

Учите питон первым, потом так кайфанете от перехода на язык со строгой типизацией.)

K4TANC3
значит все таки лучше джаву?

Скажите, что вы писать собираетесь? Что-то выделили себе?

Iva
Учите питон первым, потом так кайфанете от переход...

Учить питон первым, чтобы потом писать питонокод на типизированных языках? 😁

K4TANC3
ну бэкэнд

Т.е. пока не определились. Скорость питона легко компенсируется усилением железа.

K4TANC3- Автор вопроса
Iva
Т.е. пока не определились. Скорость питона легко к...

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

K4TANC3
значит все таки лучше джаву?

для работы - да, наверное джаву. как учебный (алгоритмы, структуры данных) - питон если с математикой на "ты" - питон и дальше в большин данные/ai

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

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

Как раз таки на питоне не удобно и выглядит отвратительно

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

я вот с какой стороны зайду - а у какого языка, на ваш взгляд, дизайн хороший? и, следующим ходом, по каким критериям гошный плохой, а тот - хороший?

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

А почему вы в сторону плохого дизайна относите отсутствие поддержки плохих практик? Вы бы ещё про множественное наследование написали, ну серьёзно

Daniel Podolsky
я вот с какой стороны зайду - а у какого языка, на...

Возможность разыменовать нулевой указатель/ссылку в сейвовом подмножестве языка = плохой дизайн

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

именно поэтому, Го - прекрасный первый, да и последний язык:)

Владимир Гришин
именно поэтому, Го - прекрасный первый, да и после...

Кстати про выбор его первым языком, вам не кажется что кривая обучения в начале изучения конкурентности в го устремляется к небу? Это плохо

о! а вот скажите, если в коде написано разыменование, а указатель оказался нулевой - что надо делать в языке с хорошим дизайном?

это типа две конструкции, которые надо выучить - это устремление к небу?

Daniel Podolsky
о! а вот скажите, если в коде написано разыменова...

Разрешить его разыменовывать в ансейф блоке, перекладывая ответственность явно на вызывающего

Владимир Гришин
это типа две конструкции, которые надо выучить - э...

Давайте я дам вам 2 слова - zero knowledge, выучите их. Это всего лишь 2 слова, есть конструкции которые занимают 10 слов, а эта занимает всего 2.

Pro Logic 🍓
Давайте я дам вам 2 слова - zero knowledge, выучит...

Количество конструкций ничего не говорит про сложность.

Владимир Гришин
это типа две конструкции, которые надо выучить - э...

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

Pro Logic 🍓
Вы описали 2% от всей конкурентности го

которые покрывают 99% реальных кейсов

Maxim Biryukov
Разрешить его разыменовывать в ансейф блоке, перек...

а в сейф блоке что делать? мы же не знаем на этапе компиляции, что там, в указателе

Pro Logic 🍓
Джуна?

да любой продуктовой разработки

Daniel Podolsky
а в сейф блоке что делать? мы же не знаем на этапе...

Запретить обращаться туда напрямую, сделать гард на Maybe/Option и явно обработать оба кейса, когда указатель пустой и нет, не давая его разыменовывать

Maxim Biryukov
Запретить обращаться туда напрямую, сделать гард н...

и вот мы явно отрабатываем пустой указатель - что делаем?

Daniel Podolsky
и вот мы явно отрабатываем пустой указатель - что ...

Ну тут логика должна быть. Если это непредвиденное состояние то панику и завершать приложение Можно на дефолт валью заменить откуда ж я знаю что нужно

Maxim Biryukov
Ну тут логика должна быть. Если это непредвиденное...

кажетсся, там и так паника и завершение 🙂

Maxim Biryukov
Запретить обращаться туда напрямую, сделать гард н...

А чем Nothing отличается от нулевого указателя?

видимо разница лишь в том, что компилятор не скомпилирует в случае если вы не проверили явно прежде чем dereference'ить

Roman Sharkov
видимо разница лишь в том, что компилятор не скомп...

Ага, а потом добавить в прелюд forceDeref, который делает тоже самое (как fromMaybe в хаскеле)

Евгений Омельченко
Ага, а потом добавить в прелюд forceDeref, который...

with p != nil { a += *p } думаю товарищ говорит по что-то подобное

Maxim Biryukov
Запретить обращаться туда напрямую, сделать гард н...

go func() { p = nil }() if *p != nil{ fmt.Printf("panic may be here", *p) }

Евгений Омельченко
go func() { p = nil }() if *p != nil{ fmt.Pri...

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

Roman Sharkov
и на этом этапе начинает переизобретении Rust и ем...

Ну я бы посмотрел на раст с gc и горутинами, на самом деле

Pro Logic 🍓
Кстати про выбор его первым языком, вам не кажется...

сейчас обучал джаве соседа по квартире и понял, что гошка в одном быстрее пойдет, в другом тяжелее кстати, джава — фу

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
3
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
думаешь я не смогу также сделать? мне это просто не удобно
int 💳 𝙖𝙞𝙧 𝙗𝙞𝙜 𝙗𝙤𝙗 🔫 check bio / spam block / AFK / nohello.com / GMT+3
9
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Ребят, чет я уже не догоняю... Крч в коде на асм там происходит нечто вроде a+число (a+1, a+2 и т.д.). Но почему строка lea ecx, [edx+1] работает как a+1?? В edx берется адрес...
Alan 🔝 Бэброу
3
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
Карта сайта