Стас
надеюсь к совету про плюсы никто не прислушается
Да ладно, не такой и плохой вариант
Марина
надеюсь к совету про плюсы никто не прислушается
Начала с плюсов, получила отличную базу, потом перешла на гошку. Ни о чем не жалею :)
Monies
Hello Team, I'm a GOLANG DEVELOPER in Ghana, with over 5 years of experience seeking for a remote job, anyone to help or need hands on project
noi
К чему душа идет, то и учить В идеале начать с С++
Это такой способ избавления от конкуренции? Одобряю. После c++ работать точно никто не станет
noi
Если уж хочется рекомендовать новичкам хорошую базу - нужен C
noi
Как-минимум потому что ООП новичкам - вредно. Как-максимум потому что C++ можно назвать только одним словом - clusterfuck :)
Midas
Если уж хочется рекомендовать новичкам хорошую базу - нужен C
Лучше уж с++ – актуальнее, и ооп есть.А про вредность не согласен, никто же не заставляет идти все принципы зубрить, просто ознакомиться с базой. А там уже выбирать путь
Midas
+Имхо*
Midas
Лучше уж с++ – актуальнее, и ооп есть.А про вредность не согласен, никто же не заставляет идти все принципы зубрить, просто ознакомиться с базой. А там уже выбирать путь
Да и выбрать инструмент который является идентичной копией другого, но с добавкой инструментария является более умным решением, разве нет? Ну и в добавок ко всему по плюсам как минимум больше теории и курсов на просторах интернета
noi
Лучше уж с++ – актуальнее, и ооп есть.А про вредность не согласен, никто же не заставляет идти все принципы зубрить, просто ознакомиться с базой. А там уже выбирать путь
На С весь мир работает, нет ничего актуальнее С)) Вот эта "база ООП" быстро превращается в единственный способ программировать, потом очень много времени занимает процесс, что бы понять что можно как-то по-другому. Новички должны понимать, что данные, это просто данные, а ещё есть функции и процедуры. Нет никаких классов, наследований, методов, абстрактных фабрик... Хотя интерфейсы было бы полезно знать, вот это фича нужна.
Midas
Структуры всякие, классы, это же мастхев, смысл от этого избавляться?
noi
Да и выбрать инструмент который является идентичной копией другого, но с добавкой инструментария является более умным решением, разве нет? Ну и в добавок ко всему по плюсам как минимум больше теории и курсов на просторах интернета
Это не так, C++ очень долго развивался, и зачастую не в совсем хорошем виде, в итоге C++ стал монстром, а C как был базой, так и остался. Если хочется только запутать и отбить желание у новичка, C++ - отличный выбор.
Midas
В любом вузе тебя будут учить первому языку это плюсы
Midas
Да, конечно, гос образование оставляет желать лучшего и равняться на него явно не стоит
Midas
Но все таки
noi
Структуры всякие, классы, это же мастхев, смысл от этого избавляться?
Классы очень легко понять, когда ты понимаешь как программировать, сразу поймёшь зачем они нужны и какие бонусы дают. А если ты начинаешь с классов - складывается неправильное впечатление, плюсы такого подхода ты вроде понимаешь, но осознать не можешь в силу неопытности.
Midas
Ни один курс, ни одна теория не начинается с классов
На своем опыте скажу что 99% новичков начиная учить плюсы начинают с симпл кода, которой даёт шикарную роад мапу по основам
noi
Я начинал с плюсов, потом перешёл на раст и сейчас с гошкой.И вроде не жалею что начал с плюсов)
Так мой тейк в том, что очень большая часть просто не выдержит c++) Если у тебя получилось - отлично, ты крут, у тебя хорошая база.
Midas
Не понимаю как это связанно
Тем что смысл зацикливаться на простом надолго?Разве не цель в том что бы побыстрее отучиться и пойти работать?
noi
Ни один курс, ни одна теория не начинается с классов
Да прям, 5я глава каждого курса по языку это обязательно "так, вот это класс, его можно наследовать, наследуем собачку от животного"
noi
Тогда давай начинать с гошки :)
Это хорошая идея с точки зрения обучения, Го - отличный и продуманный язык, а с точки зрения карьеры - не очень, джуны не нужны
Midas
Перебороть свой страх и вкатиться с мидла и всё отлично
Midas
Перебороть свой страх и вкатиться с мидла и всё отлично
Я не говорю что это хорошо, говорю как есть если что
noi
Кстати тут с тобой согласен максимально.Я очень долго не мог понять ооп и его смысл
Вот я об этом и говорю, мне лично потребовалось язык сменить, что бы до меня дошло, что ООП - не единственный вариант
noi
Хотя это было на поверхности, казалось бы
Midas
Я ооп только на гошке до конца понял, что странно)
Марина
Ну кроме 1с мб 😃
noi
Я ооп только на гошке до конца понял, что странно)
Потому что убрали мусор и оставили действительно важные фичи. А не "абстрактная фабрика виртуальных классов"
noi
Ну в других языках джунов вроде тож не встречают с распростертыми объятиями
Это так, просто думаю что у джунов в го меньше шансов
Midas
Ну это уже как совесть позволит
Об этом и говорю.Как будто другие варианты у них есть
Awesome
Ну это уже как совесть позволит
Если не позволяет то лучше сразу сменить деятельность, сейчас по другому никак
Sergey
Потому что убрали мусор и оставили действительно важные фичи. А не "абстрактная фабрика виртуальных классов"
как бы только потом не оказалось, что этот мусор был не совсем и мусор. Генерики тоже видимо изначально были не нужны, а потом пук-среньк https://go.dev/doc/tutorial/generics
Edgar
Перебороть свой страх и вкатиться с мидла и всё отлично
Это наверно, чтобы трудноподдерживаемый Легаси побыстрее на гошке появился?)
noi
как бы только потом не оказалось, что этот мусор был не совсем и мусор. Генерики тоже видимо изначально были не нужны, а потом пук-среньк https://go.dev/doc/tutorial/generics
Не окажется. Большинство новых языков убрали перегруженность ООП, оставили только самое нужное - и отлично себя показывают. А параметрический полиморфизм не является частью ООП.
Sergey
да я думаю очень много вещей не меняют из-за go 1 compatibility promise
да, но иногда также из-за тараканов. Попробуй нагуглить обсуждение про добавление удобного string форматтера например.
noi
какие?
Go, Rust, Zig, Gleam. Под вопросом только последний, его в проде не видел.
Sergey
я даже не буду предлагать вам сравнить рынок кандидатов этих языков и java/c#/c++
Sergey
и рынок вакансий тоже
noi
в чем? какие критерии отличности?
Поддерживаемость, приятность использования, думаю насчет Go тут никто спорить не будет :) Те же Rust и Zig имеют достаточно больших кодовых баз и никто не жалуется, на недостаток ООП фич уж точно
noi
я даже не буду предлагать вам сравнить рынок кандидатов этих языков и java/c#/c++
Зачем? Речь не об этом, не нужно подмешивать в обсуждение нерелевантную тему
Ilya
я даже не буду предлагать вам сравнить рынок кандидатов этих языков и java/c#/c++
а ваша цель — найти легкую работу, или разрабатывать на удобном и продуманном языке?
noi
почему? я насколько понимаю большинство гоферов знают больше одного языка, в моментах вполне можно поспорить.
Ну так если кто-то хочет пожаловаться на то, что ему в Го не хватает абстрактных виртуальных фабрик, то пусть жалуется, обсуждение открытое. Лично мне отсутствие этой мишуры только делает жизнь легче
Sergey
а ваша цель — найти легкую работу, или разрабатывать на удобном и продуманном языке?
иронично, что вы задаете этот вопрос в чате "Golang Jobs".
noi
Sergey
да это к гошке и гоферам точно так же применимо. Только причины разные.
noi
да это к гошке и гоферам точно так же применимо. Только причины разные.
Само собой, наговнокодить везде можно, просто где-то это чуть легче, а где-то сложнее)
Sergey
Само собой, наговнокодить везде можно, просто где-то это чуть легче, а где-то сложнее)
ну к сожалению в гошке это сделать ничуть не сложнее. человек, который изучает ооп, овладевает до кучи навыками структуризации кода. учится проектировать интерфейсы, выделять нормально функции и методы, строить правильные абстракции. в гошке, если человек ей учится с нуля и ему сразу же вдолбили что "го не ооп, забей на эту мишуру", любой мало-мальски сложный алгоритм расползется со временем в нечитаемую и неподдерживаемую колбасень.
noi
ну к сожалению в гошке это сделать ничуть не сложнее. человек, который изучает ооп, овладевает до кучи навыками структуризации кода. учится проектировать интерфейсы, выделять нормально функции и методы, строить правильные абстракции. в гошке, если человек ей учится с нуля и ему сразу же вдолбили что "го не ооп, забей на эту мишуру", любой мало-мальски сложный алгоритм расползется со временем в нечитаемую и неподдерживаемую колбасень.
Наивно полагать, что через ООП осваивается навык структуризации кода, этот навык приходит с опытом. В реальности новичок узнает ООП, получится 4 уровня наследования и 30 методов на классе, потом с этом никто не разберется. Или новичок может прочитать Clean Code и наплодить 100500 функций по 5 строк. Суть в том, что по неопытности любую парадигму и философию можно "натянуть на глобус" и переборщить, единственный вариант лучше программиировать - долго и много программировать, тогда уже и умные книжки от дяди Боба не нужны будут, сам додумаешься до того "как надо". Более того, ООП - продвинутый концепт, что бы осознать пользу этого продвинутого концепта, нужно иметь опыт, а в начале этого опыта нет, оно только путает.
noi
Наивно полагать, что я пишу из головы, не опираясь на свой опыт и опыт коллег.
Ну так и я не с потолка свои мысли беру, у меня сложилось такое мнение
Sergey
Мнение мнением, но я и фактажа могу накинуть. Вот содержание классического труда фаулера про рефакторинг. Если не читали, всячески рекомендую, без шуток, но лучше в оригинале. Из шести разделов(6-12), посвященных конкретным методом рефакторинга, с практикой из пяти(6,7,8,10,11,12) неизбежно сталкиваешься при работе с ООП языком. И далеко не факт, что столкнешься при написании кода в структурном стиле.
Sergey
Sergey
softland
Можно ли начать изучать go,и после найти офера на это яп
Как оно сейчас, сказать сложно. Лично я именно так и делал, но долго и я не изучал язык, а просто делал программки для себя (для реального использования) и на гитхаб. Сейчас, меня как тимлида, мало интересует знание языка, а вот: ответственность, внимательность, память, трудолюбие, способность принимать решения (желательно с первого раза правильные)... вот чего хочется.
Sergey
Воот коллега о том же
я коллеге уже ответил по факту про наивность, повторяться не буду, извините.
Midas
чем плох нечитаемый и неподдерживаемый код?) думаю, это аксиома.
Так а кто сказал что такой код будет нечитаемым?