Igor
короче в папке проекта go mod init *my-app и потом можно делать go get или go mod tidy
Anonymous
go mod init myproject
Anonymous
И потом go get blabla
Сергей
gri
документация в целом понятна
А такая как считаете?) Адама фримана
gri
вот из русских книг такую рекомендуют
gri
это норм.
ага, а она актуальная не старая?)
Igor
ага, а она актуальная не старая?)
отличия небольшие. типа go mod и пары мелочей
gri
сравниваю php с го, пытаюсь копнуть в производительнсть, никто не знает ответы на вопросы?) 1).насколько хорошо масшштабируется произодительность сервера в зависимоти от увелеичения кол-ва ядер на php 2). кто рождает рабочие процессы php-fpm? кто регулирует кол-во 3). насколько велики накладные расходы на порождение новых процессов? 4). накладные расходы на маршрутизацию новых процессов?
Юра (Юрий Александрович)
Я думаю, в канале по php лучше знают, как дела с производительностью в php :-/
Victor
А в го свой планировщик
Юра (Юрий Александрович)
а в го как?)
1) Хорошо масштабируется. *разумеется, если сам код многопоточный (точнее "многорутинный") и количество одновременно активных рутин не меньше, чем количество логических процессоров, доступных для бинарника. Однопоточный код, разумеется, сам по себе масштабироваться не будет. 2) процесс в Go один, треды рождает рантайм Go, и как правило их не больше, чем логических ядер процессора, горутины рождает программист из своего кода явно 3) Накладные расходы на порождение новых go-рутин (и переключение между ними) минимальны, т.к. это внутренний объект рантайма, а не объект операционной системы. 4) Что такое маршрутизация процессов?
Юра (Юрий Александрович)
2). т.е. можно ли загрузить все ядра? или получатся что раз процесс один то он только на одном ядре?
Ядра грузят не процессы, ядра грузят потоки (в зависимости, конечно, от терминологии операционной системы). Если процесс один, а потоков много, то каждый поток может занимать работой один логический процессор.
Aziz
Всем привет я сейчас изучаю тему срезы и запускаю вот этот код
Aziz
geamotricProgressSlice := []int{1} for i := 1; i < 1500; i++ { fmt.Printf("Current len of slice %v and capacity %v \n", len(geamotricProgressSlice), cap(geamotricProgressSlice)) geamotricProgressSlice = append(geamotricProgressSlice, i) }
Aziz
суть в том что его capacity c 1024 переходит в 1280 а не 2048, не могли бы осветить почему так ?
Илья
у тебя го 1.17?
Илья
начиная с определенного capacity (go1.17=1024, go1.18=256) меняется формула
Victor
Илья
https://habr.com/ru/post/660827/
Victor
Victor
1.13.8
в 1.13 код немного другой был. Выше писали уже )
Victor
но по сути как я понимаю threshold просто разный
Muxammadس٩٧
Roman
Ребята нужен ваш отзыв , стоит ли учить Golang как первый язык ?
Roman
За сколько по времени его можно освоить если с программированием ноль знаний ?
Roman
Спасибо вам за ответы 😇
Юра (Юрий Александрович)
На мой взгляд - Golang в качестве первого языка - не самый лучший вариант. Во-первых, Golang мультипарадигменный, из-за чего новичку сходу придется знакомиться с достаточно большим количеством фундаментальных понятий. во-вторых, приложения на Golang не имеют GUI, что не позволяет хорошо поиграться в интерактив со своей программой. в-третьих, в Golang очень своеобразная реализация ООП. И проще понять ее, зная более классические, чем после go-шной понимать классическую. в-четвертых в Golang'е есть несколько очень специфичных для него при этом широко используемых языковых средств, без которых потом в других языках программирования будет некомфортно.
Юра (Юрий Александрович)
на мой взгляд, первым может быть любой другой язык, но обязательно чтоб со строгой типизацией!
Юра (Юрий Александрович)
Gui - fyne ,gotk, gio? Или вы про что?)
я про то, что Gui в го - это не нечто стандартное.
Dillag
на мой взгляд, первым может быть любой другой язык, но обязательно чтоб со строгой типизацией!
Мне кажется лучший язык в качестве первого это шарпы, а потом когда уже понимаешь как что устроено очень легко перейти на другой стэк
Юра (Юрий Александрович)
а какой язык не мультипарадигмальный? Си?
Си, паскаль и бейсик. Возможно, что-то еще, чего я не знаю (а не знаю, я много чего)
Rostislav
Си, паскаль и бейсик. Возможно, что-то еще, чего я не знаю (а не знаю, я много чего)
ну на этом далеко не уедешь. А не использовать элементы разных парадигм никто не запрещает
Rostislav
А стандартный вещи, вроде циклов и условий в го обычные
Roman
Я просто думаю выучится на Go и не парится ) да будет трудно ну а где легко ?
Юра (Юрий Александрович)
ну на этом далеко не уедешь. А не использовать элементы разных парадигм никто не запрещает
А далеко на этом ехать и не нужно. На этом нужно просто научиться преобразовывать словесную формулировку задачи в алгоритм, алгоритм - в код, воссоздавать алгоритм по коду, изменять код в соответствии с изменившимся алгоритмом и т.д.
Anonymous
Просто учите
Grigorij
в джаве легко))
Ваня Гречка
Нет лучших языков, можно учить любой, потом с каждым новым будет легче
Юра (Юрий Александрович)
ну для этих вещей и не надо использовать элементы функционального программирования или ооп. Обычное структурное
Осталось найти учебник (или курс) по Go, который долгое время не будет сталкивать новичка с ООП и функциональным программированием, давая возможность отточить алгоритмическое мышление. И чтоб еще обилие пакетов тоже первое время не показывал.
Dillag
До момента пока не начнёшь упарываться в его работу с памятью и прочими нестандартными вещами
Rostislav
Осталось найти учебник (или курс) по Go, который долгое время не будет сталкивать новичка с ООП и функциональным программированием, давая возможность отточить алгоритмическое мышление. И чтоб еще обилие пакетов тоже первое время не показывал.
Я просто такой на си искал и не нашел особо. Керниган Ритчи сложен для новичков имхо. Можно курсы проходить, вроде в го курс на степике ок. Я не проходил, но боком видел задачки - мне понравилось. Чисто на мышление показалось. Условия, циклы типо того
Юра (Юрий Александрович)
А и еще аргумент не в пользу Go: под него сложные IDE. А в простых с Go очень неудобно работать.
Grigorij
шо сложного вв голанде
Юра (Юрий Александрович)
Но вцелом удачный выбор первого языка не определяет на 100% успех от изучения. Намного больший вклад создает учебная литература или проходимый курс, умение и желание объяснять тех, кто рядом. С хорошей поддержкой можно и сложный путь успешно пройти, а при ее отстутствии можно и простой путь не осилить.
Юра (Юрий Александрович)
шо сложного вв голанде
Много окошков, кнопочков и строчков меню.
Victor
не знаю, хотите начинать с Golang, почему нет ? В сишарпе слишком сладко и приторно )
Grigorij
ну хз
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤhæze
Victor
с каждой версией всё больше сахарку добавляют )
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤhæze
Хз, год назад работал на нем. Ничего такого не заметил)
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤhæze
Шарп тоже не лёгкий в обучении новичку
Dillag
Для новичка все не легко
Dillag
Особенно если полный ноль
Grigorij
да че уж с схемы начинать
Dillag
Зато через годик упорного обучения уже хоть какое-то понимание появится
Victor
с ассемблера
Dillag
Питон изи
Зато после него очень тяжело переходить на другие япы
Ваня Гречка
Cмотря какие цели, если быстро хочется устроиться на работу, то лучше начинать с питона/js
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤhæze
Питон изи
Это стереотип
Dillag
Да и то, питон очень просто пока ты не понимаешь как он работает