1.2, Аноним (2), 10:25, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Посмотрел на синтаксис Go, и что-то я не заметил каких-то схожестей с Си
Что именно там "Синтаксис Go основан на привычных элементах языка Си"?
| |
|
2.7, Аноним (7), 10:27, 07/02/2024 [^] [^^] [^^^] [ответить]
| +12 +/– |
Синтаксис Go - это кошмарная солянка синтаксисов кучи языков.
| |
|
|
4.25, Аноним (7), 10:52, 07/02/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Rust самобытный и не Си-подобный от слова ни разу и не заявлялся таким. На него с Си-подобных языков не перепрыгнешь так просто. Зато он реально нормально работает.
У Go же в свю очередь вакханалия такая, что прикладные структуры данных реализованы на уровне языка и между списками и массивами синтаксис неадекватно плавает. Это дикость. Как это вообще имеет право на существование!?
От случая к случаю у него синтаксис то от С/Java, то от Delphi/Pascal, то от JS, то от Python, как будто его придумали обдолбаные наркоманы. Я понимаю когда язык существует не одно десятилетие и обрастает "обоснованным" синтаксическим сахаром. А тут как будто из других языков нахватали на старте, и существует это лишь благодаря хорошему компилятору и библиотекам с других языков.
| |
|
|
6.49, Проходил мимо (?), 12:28, 07/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Угу, то первого серьезного втыкалова с владением и разного рода временами жизни так оно и есть. А потом приходит понимание, что слово Rust и слова "Легко писать" не совсем соответствуют действительности.
| |
|
7.171, ZVVZ (?), 12:21, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Опять, еще один не удосужился при написании кода запомнить что же за код он пишет. Ну иди на JS пиши, если человек не осилил на пару правил на расте выучить то и на С++ такому индивиду тем более делать нечего, а человеку лучше на пенсию пойти отдыхать, его же работу чатгпт отдать, все надежней будет. И человек счастлив и не обременен и компания не получит кучу багов.
| |
|
|
5.63, alle (?), 14:01, 07/02/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
>Зато он реально нормально работает.
Да, но его ниша примерно нигде. где-то заменит си и то хорошо
| |
5.84, OpenEcho (?), 16:07, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> ... библиотекам с других языков.
Гон. Там все свое, от компилятора и кончая библиотеками
| |
|
|
|
4.48, anonymous (??), 12:23, 07/02/2024 [^] [^^] [^^^] [ответить]
| +6 +/– |
Веселый доклад.
Выходит люди всю жизнь занимались херней, последовательно перебегая из корпорации в корпорацию, и в результате получился такой вот челмедведосвин среди языков программирования, которого еще и удалось продать гуглу.
"Вам не завидно, Балаганов? Мне завидно"
| |
|
5.200, Хухрымухры (ok), 07:13, 09/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> всю жизнь занимались херней
По вашему получается что в то время все занимались хернёй.
Потому что тогда не было толком устоявшейся парадигмы типа "Си подобного языка".
В то время только только перестали использовать перфокарты.
| |
|
6.204, anonymous (??), 12:30, 09/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Вы доклад-то смотрели ? Посмотрите, он интересный.
Примеры на языке alef весьма понравились, вот так и надо было, но потом кого-то похоже покусал паскалист, а гуглу еще и понадобилось облегчить переучивание питономаKак, в результате получилось какое-то франкенштейново чудовище.
| |
|
|
|
3.88, OpenEcho (?), 16:14, 07/02/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Синтаксис Go - это кошмарная солянка синтаксисов кучи языков.
Сдается мне, что вы не понимаете разницы между синтаксисом и семантикой.
Большинство языков, - с синтаксисом С
| |
|
4.147, Аноним (7), 05:51, 08/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Я не упоминал семантику, если ещё ещё затронуть это вообще ******.
| |
|
|
2.19, Аноним (19), 10:41, 07/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
на структуры там много чего завязано, надо ее обьявить, а дальше использовать, со стандартными типами переменных работать тяжело, конвертить строки в массив байтов и обратно укантрапупишься, да и вообще половина кода это приведение типов
| |
|
3.131, Аноним (131), 20:47, 07/02/2024 [^] [^^] [^^^] [ответить]
| –3 +/– |
> конвертить строки в массив байтов
Дали сишнику строки, а он их в массив сконвертировал, за пределы вышел и нулевой указатель разыменовал.
| |
|
2.21, Аноним (21), 10:47, 07/02/2024 [^] [^^] [^^^] [ответить]
| +5 +/– |
- фигурные скобки для блоков
- * и & для работы с указателями
- Структуры и само слово struct
- Условие цикла for из трёх частей
Конечно, такое есть и в других языках, и это как раз и есть c-likе элементы, подсмотренные у Си.
В общем же это извиняющийся кивок про схожесть с Си уже давно пора выбросить; сейчас не 2009 год, чтобы описывая новый на тот момент язык Го, смягчать подачу робким "а вот на Си похоже-с, да…". Язык и экосистема уже взрослые и могут кое-где уже и дверь ногой открывать не стесняясь.
| |
2.33, Ананий (?), 11:18, 07/02/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
:=
необязательная ;
заменили скобками begin end, writeln на println, шоб уж совсем на паскаль не походить
ну и всё настолько типизированно, шо даже для указателей указывают тип, шо еще паскалистее чем сам паскаль.
| |
2.34, Аноним (168), 11:23, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Посмотрел на синтаксис Go, и что-то я не заметил каких-то схожестей с Си
Ну как же? Всё, где блоки кода скобочками "{ }", теперь считается основанным на привычных элементах языка Си.
| |
2.103, anonymous (??), 17:46, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
В учебнике авторы говорят, что база - С, но очень много элементов: от модулей и ООП - взято из языков Вирта.
| |
|
3.105, OpenEcho (?), 17:55, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> В учебнике авторы говорят, что база - С, но очень много элементов: от модулей и ООП - взято из языков Вирта.
В Го завезли ООП? Вы уверены что книжка от авторов?
| |
|
4.132, Аноним (131), 20:48, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ещё один, думающий, что ООП — это «как в джаве» или «как в крестах».
| |
|
5.136, OpenEcho (?), 21:49, 07/02/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ещё один, думающий, что ООП — это «как в джаве» или «как в крестах».
Ещё один, думающий, что знает что я думаю... одни блин телепаты :)
ООП, именно в том виде как у крестов и джавы, в Го - нет. Нет классов. Нет кострукторов.
Но есть возможность самому делать ООП через структуры, а это значит, что язык, сам по себе не предоставляет классических элементов ООП как часть языка
| |
|
|
7.217, OpenEcho (?), 21:57, 10/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> конструктор это просто функция
Не просто функция, а функция которая вызывается только раз при инициализации класса, а классов в Го языке как language construct - нет (И я очень этому даже рад, чем меньше абстракций, тем ближе к сущности). Единственный "констуктор" в Го - это функция "init".
Но в тоже время возможности языка вполне себе позволяют реализовывать собсвенный "ООП" если надо через структуры (что вообщем-то точно так же и делается во "взрослых" ООП)
| |
|
|
|
4.135, tty0 (?), 20:59, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
От ранних, в рассказе ООП было вначале столько же, сколько и последующих С
| |
|
|
2.164, Аноньимъ (ok), 11:23, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Что именно там "Синтаксис Go основан на привычных элементах языка Си"?
Это стандартный базворд, так же как джава и сишарп "имеют привычный похожий на си синтаксис".
Менеджерам нужно, иначе они не примут ЯП в прод никогда, ну и реклама дыркошлёпам, типо чувак тут то-же только лучше...
| |
2.191, Neon (??), 19:28, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Во, во, из какого пальца высосали похожесть Go на С неизвестно.
| |
|
1.3, Аноним (3), 10:26, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –7 +/– |
А если какой-нибудь индус забросит проект , от которого зависят другие проекты . То мой хелоуворд не соберется ?
| |
|
2.8, Аноним (7), 10:28, 07/02/2024 [^] [^^] [^^^] [ответить]
| –9 +/– |
Go - это как недопитон, только со статической типизацией.
| |
|
|
4.170, Бывалый смузихлёб (?), 12:01, 08/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Go - это как
>>> Go on home British Soldiers Go on home
>>> Have you got no fucking homes of your own
>>> For 800 years we've fought you without fear
>>> And we will fight you for 800 more
>>> ... | |
|
|
2.109, OpenEcho (?), 18:24, 07/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А если какой-нибудь индус забросит проект , от которого зависят другие проекты . То мой хелоуворд не соберется ?
А что это ты вообще в программирование суёшься? Это их бизнес (ты даже хело ворд не одолел)
| |
2.213, кек (?), 11:39, 10/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Соберется, пока проект не выпилили
А если выпилили или нашли cve 15/10 в мертвом проекте - будь бобр искать форк или сам форкать, да. Но это всегда так и было, на самом то деле
| |
|
1.4, Аноним (7), 10:26, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
До сих пор базовые проблемы фиксят. Этот язык ещё на стадии альфы или уже релиз?
| |
|
2.27, Хухрымухры (ok), 10:56, 07/02/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
Это было сделано специально в угоду скорости. На практике оказалось что это создаёт больше проблем.
| |
|
3.151, 12yoexpert (ok), 06:53, 08/02/2024 [^] [^^] [^^^] [ответить]
| –4 +/– |
Вряд ли что-то в этом недоязыке было сделано в угоду скорости, достаточно взглянуть на docker и kubernetes
| |
|
4.189, OpenEcho (?), 18:50, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Вряд ли что-то в этом недоязыке было сделано в угоду скорости, достаточно
> взглянуть на docker и kubernetes
11 Bravo
| |
4.198, Хухрымухры (ok), 07:07, 09/02/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Дружище. Ты напиши сначала аналог kubernetes или docker на твоём любимом языке, а там посмотрим.
| |
|
|
|
1.5, Аноним (-), 10:26, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
> Решена давняя проблема с циклами "for", приводившая при вызове сопрограмм (goroutine) к совместному использованию переменных цикла в разных итерациях.
Открыли ящик Пандоры по изменению ошибок допущенных при проектирование языка. Это, конкретно, я поддерживаю, но интересно, что будет следующим.
| |
|
|
|
4.23, Аноним (23), 10:48, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Так-то он прав, но у гулага бесконечные деньги (в частности, на рекламу) и живо оно будет до тех пор пока надо гулагу.
| |
|
3.99, Андрей (??), 17:22, 07/02/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Вы на нём пишете или как те из стаи "активистов" по жалобам которых отменяют концерты? :-D
| |
|
2.32, Аноним (32), 11:17, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Не понятно только для кого это было проблемой.
Вполне логичное поведение в подобной среде
| |
2.185, Аноним (185), 15:27, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ящик Пандоры они открыли, зафорсив стиль скобок K&R с левыми объяснениями "потому что гладиолус и транслятор быстроходный, и точки с запятой автоматом, чо пристали". У Вирта все языки с быстрыми трансляторами, но им побоку в строчку идет BEGIN или с новой строки.
| |
|
|
|
3.13, Аноним (3), 10:32, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
У меня однажды на сервере пропала директория с джава . С тех пор я не могу его использовать .
| |
|
2.111, OpenEcho (?), 18:40, 07/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Чтобы собрать хелоуворд , сколько гигабайт надо ?
Для это не гигабайты нужны (можно даже на STM32 со 128кб), для это мозги нужны
| |
|
1.10, Аноним (3), 10:29, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> позволяет добиться производительности, сопоставимой с программами на языке Си
В рекламных роликах не принято сравнивать достоинства товара A и товара B другой фирмы .
| |
|
2.12, Аноним (7), 10:31, 07/02/2024 [^] [^^] [^^^] [ответить]
| +5 +/– |
> позволяет добиться производительности, сопоставимой с программами на языке Си
**при вызове библиотек, написанных на Си
XD
| |
|
1.18, Маня (?), 10:41, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
почему код:
values := []string{"a", "b", "c"}
for _, v := range values {
go func() {
fmt.Println(v)
done <- true
}()
}
будет выводить abc а не cba? нет же гарантий порядка выполнения горутин. просто теперь не будет повторений.
| |
|
2.29, Аноним (3), 11:02, 07/02/2024 [^] [^^] [^^^] [ответить]
| –5 +/– |
> values := []string{"a", "b", "c"}
Такое сложно читать человеку , он устает . Зачем пустые скобки ? Чтобы показать что это массив ? Человеку это зачем знать ? Зачем кавычки ? Непонятно , что a b c это не цифры , а текст ?
> go func() {
Это изобретения велосипедов .
Человек должен понять программу , просто прочитав ее . Вы же читаете этот текст .
Просто очень сложно такое читать
values := []string{"a", "b", "c"} for _, v := range values {go func() {fmt.Println(v) done <- true}()}
| |
|
3.35, Аноним (35), 11:24, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Зачем кавычки ? Непонятно , что a b c это не цифры , а текст ?
Чтобы понять что это текст, а не другие переменные.
Но в целом синтаксис ИМХО омерзителен. Конечно и на других языках можно писать стольже отвратительно выглядящий код но там надо стараться, а тут это судя по всему норма.
| |
3.37, Ананий (?), 11:26, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Непонятно , что a b c это не цифры , а текст ?
а если текст совпадет с зарезевированным словом? изобретать костыли?
а какое-нибудь а b c 0xFF d это что?
мне например наоборот понравилась игогошечка, т.к. не предполагает никаких поползновений и разночтений, но без пихоновских извращений в виде форматирования блоков пробельными сиволами
| |
3.75, Аноним (75), 14:55, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Такое сложно читать человеку , он устает
Ну так пишите на перле, там будет просто map { print $_, "\n" } qw/a b c/
>Человек должен понять программу , просто прочитав ее . Вы же читаете этот текст
Реально ваш язык, присмотритесь.
| |
|
|
5.178, Аноним (75), 13:30, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
say работает по дефолту хоть в какой-нибудь версии перла?
И у вас не запускается рутина, как в гошном варианте. map с блоком ближе к этой логике.
| |
|
|
3.133, Аноним (131), 20:52, 07/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Просто очень сложно такое читать
Ну попробуй научиться программировать и хотя бы пару _разных_ языков выучить, перестанет быть сложно очень быстро.
| |
|
4.179, Аноним (75), 13:33, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Я знаю пять или шесть и для меня пихон (99% кодов) и голанг (от 99% программистов на голанге, начинавших с курсов пихона) по-прежнему нечитаемы.
| |
|
3.162, Аноним (162), 11:13, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Кому как. Я устаю гадать во всех этих недомолвках питанорубижабаскрипта. А тут -- всё понятно.
| |
|
2.106, noc101 (ok), 17:56, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Порядок выполнения не гарантируется. Одна горутина может быть завершена быстрей другой, даже если была запущена позже.
Но порядок запуска определенный.
В твоем примере будет АБС выводится в любом случае, так как порядок запуска и порядок выполнения тут совпадет.
| |
|
3.186, derfenix (ok), 16:18, 08/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Порядок запуска тоже не определён. Горутины сначала в одну из очередей попадают, прежде чем запуститься, и какая когда запустится не знает никто, кроме планировщика.
| |
|
2.134, Аноним (131), 20:57, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Всё правильно, порядок выполнения горутин не гарантируется. Однако, у тебя настолько примитивный код, что пока цикл дойдёт до запуска следующей горутины, предыдущая успевает отработать. Если бы там делалось что-то кроме вызова print на локалхосте, порядок вывода менялся бы между запусками.
| |
|
3.143, Аноним (143), 00:44, 08/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Кто такой Горутин? Много раз эту фамилию уже видел, но так и не понял что это за мужик. Причём иногда о нем пишут как о женщине - Горутина.
| |
|
2.141, _ (??), 23:29, 07/02/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
>почему код:
>[...]
>будет выводить abc а не cba? нет же гарантий порядка выполнения горутин. просто теперь не будет повторений.
потому что местные IT-ЫгспЁрды посчитали неважной для __точного__ перевода фразу:
"the following code will print “a”, “b”, and “c” in some order"
оне жи в английском тоже ЫгспЁрды! :)
| |
2.187, derfenix (ok), 16:20, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Суть изменения тут в том, что выведутся все 3 символа, а не три раза "с", как было до 1.22. Только в этом отличие. А порядок выведенных символов всё так же практически рандомный.
| |
|
1.20, Аноним (20), 10:44, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> для перебора значений с 0 до 9 теперь можно использовать цикл "for i := range 10 {...}".
Удобный синтаксис для off by 1 ошибок.
| |
|
2.222, нона (?), 01:53, 15/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
А как должно быть?
for i := 0 .. 9? Это гораздо более прямой путь к off by 1.
| |
|
1.22, Аноним (22), 10:48, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Такой ощущение, что синтаксис for стараются сделать максимально непохожим ни на что другое и получается настолько криво, насколько это вообще возможно.
| |
|
2.74, wWolf (?), 14:55, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Цикл for в Go это просто сборная солянка всех возможных конструкций циклов.
Он может быть и сишным (start; cond; end) и while'ом, и loop'ом (безусловным), и ренжом аля питоновский.
| |
|
1.40, Аноним (40), 11:35, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
На Go после появления дженериков вполне можно писать, т.к. это убрало самые вопиющие моменты копипасты. Когда обработку ошибок сделают хотя бы в стиле Swift, тогда вообще будет норм. После джавы с ее annotation-driven development код на Go дебажить одинаково комфортно что у себя в проекте, что в кишках гошных фреймворков - он что там, что там формата "палка-веревка".
| |
|
2.46, Аноним (162), 12:19, 07/02/2024 [^] [^^] [^^^] [ответить]
| –3 +/– |
Кому как. Жители бангладешских деревень, которые не умеют читать и считают только используя пальцы рук и ног, плохо дженерики понимают. Понимают плохо, но используют охотно. В результате ПО на языках, в которых есть свои варианты шаблонов/обобщений, типично превращаются в обезьяну с гранатой.
Поэтому, на мой взгляд, добавление обобщений в Го было крайне спорным решением.
| |
|
3.90, OpenEcho (?), 16:33, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Кому как. Жители бангладешских деревень, которые не умеют читать и считают только используя пальцы рук и ног
Почему же тогда они везде?! В Оракле, Гугле и конечно же в Майкрософте! И живут почему-то не в деревнях, а в Issaquah, Mountain View, Redwood... и получают четверть миллиона в год зеленью
Где Вы, о великий "белий каста" ? Где ваш гениальный код?!
Мир ждет вас!!!
| |
|
4.117, Аноним (162), 19:02, 07/02/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ты удивишься, но в деревнях тоже. В огромных количествах. Мой гениальный код где надо, но даже я дженериков побаиваюсь. Они -- нет. Поэтому, лучше, когда дженериков нет вообще. Натыкать проверок типа того, что кладёшь и что берёшь в/из коллекции, из снипетов куда проще и сюрпризов меньше.
| |
|
|
2.57, 12yoexpert (ok), 13:38, 07/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
на языках, в которых шаблоны называют дженериками, в принципе невозможно писать
"Я не похож на все-ех, посмотрите на меня-а, я читал модные книжки оре-лли, ***тесь с нашей уникальной гениальной терминологией" - любой автор такого языка
| |
|
3.71, anonymous (??), 14:36, 07/02/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Понятно, что ты тролль, но для тех, кто случайно прочитает твой комментарий, я напишу, что шаблоны - это compile-time фича, а дженерики - рантайм.
| |
|
4.221, zog (??), 14:43, 13/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> но для тех, кто случайно прочитает твой комментарий, я напишу, что шаблоны - это compile-time фича, а дженерики - рантайм.
На самом деле ровно наоборот. Именно поэтому дженерики в Java сделаны с type erasure и в рантайме узнать конкретный дженерик невозможно. Фактически джавовские дженерики - это синтаксический сахар, заменяющий явное преобразование типов. Дженерики - это недоделанные шаблоны и это действительно плохо.
| |
|
3.114, Аноним (162), 18:59, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну потому что это не шаблоны, а именно обобщения. С цпп шаблон в кучу классов превращается, а той же Жабе или Го -- нет. Там это просто сахар для проверки типобезопасности коллекций и всё. Причём такой сахар с овнецом немного.
| |
|
4.146, penetrator (?), 04:10, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
тогда C# сильно тебя удивит ))
там это тоже типа Generic, но работает как обычный шаблон (по твоей терминологии)
и в нем и Generic и Template это около и рядом одного и того же
| |
|
5.156, Аноним (162), 11:03, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Чем меня это должно удивить? В Жабе и Шарпе обобщений не было. Жаба, чтобы сохранить обратную совместимость, обобщения реализовала только на уровне компиляции, а МС на обратную совместимость забили и сделали через привычные шаблоны. Как в Го не знаю. Присобачивать обобщения к языку, который обобщений до этого не имел, всегда процесс не безболезненный.
| |
|
6.174, penetrator (?), 13:05, 08/02/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Чем меня это должно удивить? В Жабе и Шарпе обобщений не было.
> Жаба, чтобы сохранить обратную совместимость, обобщения реализовала только на уровне компиляции,
> а МС на обратную совместимость забили и сделали через привычные шаблоны.
> Как в Го не знаю. Присобачивать обобщения к языку, который обобщений
> до этого не имел, всегда процесс не безболезненный.
я не знаю что ты называешь обобщениями, но шарпе шаблоны называются генериками / Generic
про это и было мной написано
| |
|
7.181, Аноним (162), 13:55, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Офигеть, чудик, а автобус называется бас, а рыба -- фиш. Нефига себе, открытие. Generic это Обобщение. В данном случае Обобщение типа. Ну хочешь называть то, что ты не понимаешь, тем, что ты не понимаешь -- кто ж тебе запретит. Хотя, напишу жалобу в минобр -- может, запретят в конце концов.
| |
|
|
|
|
3.159, Аноним (162), 11:08, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну вот твой шарп. В нём шаблоны названы дженериками. Чтоб по-модному. А в моде тогда была Жаба. В Жабе -- дженерики. Уровня компиляции.
| |
|
4.175, penetrator (?), 13:08, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Ну вот твой шарп. В нём шаблоны названы дженериками. Чтоб по-модному. А
> в моде тогда была Жаба. В Жабе -- дженерики. Уровня компиляции.
генерики появилось в шарпе в 2005 году, когда смузиеов еще не было, как и другой модной хрени
просто такое название для одного и того синтаксического сахара, детали реализации уже вторичны
| |
|
5.182, Аноним (162), 14:03, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну фиг знает. Эти самые Дженерики в Жабе именно, что сахар уровня написания кода. Машина о них ничего не знает, в байткоде их нет. В Жабе какой-нибудь вызов new Shit<String> в коде не сделает тебе новый класс Shit<String>, а потом его экземпляр, а просто сделает очередной экземпляр Shit. В Шарпе же, насколько я понимаю, вызов Обобщения (т.е. когда ты его уже типизуешь) плодит настоящий новый класс на стадии компиляции, ну т.е. это такой классический Шаблон.
| |
5.183, Аноним (162), 14:07, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну как не было, меня уже к 2005 от смузи мутило, а хлебать их начала не раньше 2002 точно.
| |
|
|
|
|
1.41, cheburnator9000 (ok), 11:43, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
Язык где вместо решения фундаментальных проблем в виде race condition вам предлагают race detector ... фу.
C#/.NET лучше, хоть и кушает для своей работы больше ОЗУ и ЦПУ в рантайме, но это дело поправимо, сейчас улучшают Ahead of Time компиляцию в нативный код, правда проблемы с рефлексией в этом деле еще не решили, но все будет.
| |
|
2.67, Аноним (67), 14:17, 07/02/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
Да-да, жава тоже уже скоро хорошей станет, с минуты на минуту.
| |
2.81, Аноним (81), 15:49, 07/02/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Вообще я бы посомневался что есть уровень Си. Временами и жава код быстрее.
И вроде бы все круто, но похоже западные языки будут обосабливаться в своем маня-мирке. Они уже давно европу миром зовут, так что ждать омталось недолго.
А вот жабокод уже заворачивают и отечественным проектам денег не дают.
Кто их знает что там очередной гомосек решит как пондасрать.
| |
2.127, Аноним (127), 19:48, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Для большинства приблуд даже .NET FW достаточно за глаза, остальное решается распараллеливанием. Если уж что и продвигать, то C# - последний вменяемый язык, да и тот после 8.0 уродуют.
| |
2.160, Аноним (162), 11:10, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
А что в Го нет каких-нибудь механизмов явной сериализации исполнения? Ну там синхры какие-нибудь или что-то в этом духе?
| |
|
3.192, OpenEcho (?), 19:46, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> А что в Го нет каких-нибудь механизмов явной сериализации исполнения? Ну там
> синхры какие-нибудь или что-то в этом духе?
В Го есть смачные каналы, мютексы, атомарные переменные, Группы Ожиданй... он задумывался изначально на мультипоточность и конкурентное выполненение, - это где он блестит
| |
3.195, cheburnator9000 (ok), 22:40, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> А что в Го нет каких-нибудь механизмов явной сериализации исполнения? Ну там
> синхры какие-нибудь или что-то в этом духе?
конечно есть, но язык же позиционируется как пишешь go myFuncName() и все чики пуки из коробки, люди так и делают, а в итоге все не так просто.
| |
|
4.207, _ (??), 18:43, 09/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ты конечно же дашь линк на https://go.dev/чего-то-там где о так "позиционируется"? Ты же не жалкий сосунишка сосок?
>люди так и делают, а в итоге все не так просто.
Не волнуйся всех этих ^^^^^ у нас уже AI-шкой меняют. Она уже на их уровне, в период 5-10 лет станет лучше их.
| |
|
|
2.188, Имя1 (?), 16:54, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Так то в java Excelsior JET уже давно AOT с рефлексией запилили, без каких либо ограничений. Вот нынешний GraalVM без полноценной рефлексии какая-то несерьезная игрушка, печально что и C# все так же
| |
|
1.43, Аноним (-), 12:04, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Как вообще кому-то могла прийти мысль импортировать библиотеки прямо из интернета? Каждый import github.com/... - это дополнительная точка отказа.
| |
|
2.54, Аноним (56), 13:22, 07/02/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Точка отказа у тебя в голове все зависимости должны быть в папке vendor.
| |
|
3.58, похнапоха. (?), 13:38, 07/02/2024 [^] [^^] [^^^] [ответить]
| +4 +/– |
Он просто не знает, как работает импорт в Гоу, что такое модули и тд. Бесполезно спорить с ИКСпертом на оупеннет, лет 15 тут еще водились адекватные, которые владели знаниями в обсуждаемых темах. Теперь смузихлебы, которые знают 5+ ЯП и 15+ фреймворков, но толком ни в одном не разобравшиеся, поучают всех остальных. АйТи, которое мы заслужили.
| |
|
4.64, Placeholder (ok), 14:06, 07/02/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Да это даже не смузихлебы, это на 80% просто тролли сидят. У них и гит не нужен, и винда - самая лучшая ОС. В основном тупо копипастят одну и ту же фигню чтобы развести флейм.
| |
|
5.85, Анонист (?), 16:09, 07/02/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Судя по тому что ты написал, троллем тут являешься именно ты. А гит действительно не нужен и винда стоит на 99% компов (те что не маки), в отличии от ляликса с его 0.01%.
| |
|
|
5.112, похнапоха. (?), 18:52, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
При чем тут третьесторонний репозиторий к функционалу ипорта модулей? Для этого в Гоу есть средства, как решить эту проблему. И это касется любого ЯП, когда используются третьесторонний зависимости.
| |
5.169, Аноним (169), 11:58, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Я, конечно, тоже go не люблю, но ты смотрел ваще на что именно линк кидаешь? Там какое-то небинарное оно с розовыми волосами с очень плохим английским и которое работало только в вебе.
| |
|
|
|
2.83, Анонист (?), 16:07, 07/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Потому что в нынешнем айти засилье гуманитариев, которые даже слов таких не знают, как "точки отказа". Из-за этого и браузеры стали жрать как топовые игры AAA. Инженеров нет. Вернее есть, но в военке и прочей робототехнике с AI теперь тусуются.
| |
2.94, OpenEcho (?), 17:09, 07/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Каждый import github.com/... - это дополнительная точка отказа.
О-о-о! Есть еще богатыри, пишущие абсолютно все с нуля и не использующие никакие библиотеки...
Майкрософт с Гуглом скоро падут от такой мощи
| |
|
3.97, Аноним (-), 17:19, 07/02/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Одно дело, когда это хранилище, из которого пакет не пропадет (например, pip, nuget). И другое - чей-то личный репозиторий, который автор завтра решит закрыть.
| |
|
4.104, OpenEcho (?), 17:48, 07/02/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Одно дело, когда это хранилище, из которого пакет не пропадет (например, pip,
> nuget). И другое - чей-то личный репозиторий, который автор завтра решит
> закрыть.
Господа как обычно, догадки выдают за правду...
go мod vendor
и стороняя библиотека у тебя на диске, лежит в той же директории где и проект, который ты можешь компилить в оффлайне, под водой и на самолете (у которго нет вайфай). А на счет овнер исчез/закрыл, для это го держит дубликты всех опубликованных пакеджей, как раз на этот случай чтоб не изчезали и еще чтоб верифицировать достоверность, что пакет кто-то не увел с целью внедрить дерьмецо
| |
|
5.108, noc101 (ok), 18:02, 07/02/2024 [^] [^^] [^^^] [ответить]
| –4 +/– |
Верно, но вставлю замечание.
В случае переезда разработчика на новый ПК, сервер сборки и тп. При закрытом гите, проект уже не соберется. Поэтому, лучше скачивать с гита архив, чтобы был резерв.
| |
|
6.115, похнапоха. (?), 18:59, 07/02/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Проект соберется, для этого достаточно знать азы работы с зависомстями и произвести replace:
go mod edit -replace github.com/репозиторий/мой-потерянный-подуль=/home/user/project/мой-потерянный-подуль
Поэтому ИКСперты продолжайте критиковать скобочки в синтаксисе ЯП
| |
6.119, OpenEcho (?), 19:07, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Поэтому, лучше скачивать с гита архив, чтобы был резерв.
Да, обычно все что в вендор, еще паралельно можно гит-нуть, тогда сохранятся еще все версии сторонних пакетов. Очень удобно откатывать назад, для устареших ОС-ей
| |
|
|
|
3.107, noc101 (ok), 18:01, 07/02/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
О боже гуманитарий, не позорься.
Никто не писал про всё писать с нуля. тут пишут, что в проекте импортить с гитхаба модули, это возможные будущие проблемы.
Умные ребята, которая не пьют смузи как ты, качают модули в папку вендор и уже оттуда импортят и по надобности обновляют.
Плюс в том, что нет минусов. Даже если гитхаб закроется, твой проект не умрет.
| |
|
4.110, Аноним (-), 18:35, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну хорошо, ты скачал пакет себе. Опубликовал свой код. Посторонний разработчик решил сделать форк или просто собрать на своей машине, а пакета в инете уже нет. Как с этим решать? Публиковать также код всех пакетов?
| |
|
5.116, OpenEcho (?), 19:00, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Посторонний разработчик решил сделать форк или просто собрать на своей машине, а пакета в
> инете уже нет. Как с этим решать?
В Го такого не получится, даже если овнер исчез, пакет останется закэшированным/сохраненным в Го прокси репозитарии
> Публиковать также код всех пакетов?
Вы про форк слышали?
| |
|
6.118, Аноним (-), 19:06, 07/02/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Форк, конечно, спасает, но при использовании тех же pip и nuget разработчику не нужно форкать пакеты) Их соранность гарантируется самим хранилищем.
| |
|
7.122, OpenEcho (?), 19:19, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Форк, конечно, спасает, но при использовании тех же pip и nuget разработчику
> не нужно форкать пакеты) Их соранность гарантируется самим хранилищем.
Вы через слово читаете??? Аналог ваших питонов и дотнетов - это ГоПрокси
| |
|
|
|
4.113, OpenEcho (?), 18:54, 07/02/2024 [^] [^^] [^^^] [ответить] | +2 +/– | О гений телепатический, в Го пакеты качаются не с гитхаба, а по умолчанию с прок... большой текст свёрнут, показать | |
|
5.121, Аноним (-), 19:15, 07/02/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Все верно, для этого и есть: go mod vendor
> и еще есть репозитарий Го, который хранит все копии пакетов с гитхаба, как раз на случай "диверсий" :)
Хз, выглядит ненадежно. Слишком много непонятных зависимостей.
| |
|
6.123, OpenEcho (?), 19:23, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Хз, выглядит ненадежно.
Что именно - не надежно ? Все без проблем может работать как в оффлайне, так и со свежаком
> Слишком много непонятных зависимостей.
Для это документация есть, чтоб избавиться он непонятностей и зависимостей
| |
|
5.206, noc101 (ok), 15:53, 09/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
>> качают модули в папку вендор и уже оттуда импортят и по надобности обновляют.
> Блястнул уровнем не-знаий, "молодец", "Умные ребята..." :)
> Про go mod vendor не слышал, вручную качаешь?
го мод вендор качает в своей локальный "репозитарий"
Я же вручную качаю в свой "репозитарий", который лежит там где мне удобно.
>> Плюс в том, что нет минусов. Даже если гитхаб закроется, твой проект не умрет.
> Все верно, для этого и есть: go mod vendor
И возращаемся к первокомментарию. Чел говорит что указывать гитхаб в импортах это лищняя точка отказа.
В чем он не прав?
Получается прав.
> и еще есть репозитарий Го, который хранит все копии пакетов с гитхаба,
> как раз на случай "диверсий" :)
И?
| |
|
6.209, OpenEcho (?), 19:09, 09/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
> В чем он не прав?
В том, что так же как и Вы - не в теме. Но усиленно продолжаете спорить...
| |
|
|
|
|
2.126, Аноним (127), 19:45, 07/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Абсолютно солидарен. Но если тебе 20, ты работаешь в гугле и с тебя просят "инновации", вот такие вот идеи и приходят в голову! :)) Инженерное позорище, согласен. Как и nuget в мире .NET
| |
|
1.53, Аноним (56), 13:21, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Про то что си подобный пишут, а про то что нельзя выйти за границы буфера не пишут.
| |
|
|
|
4.145, Аноним (40), 02:42, 08/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Справедливости ради, TOCTOU уязвимости - это гонка процессов, а не тредов. Ну в том смысле, что Rust может и защитит от ошибок кривого наваливания данных в shared коллекции из разных потоков, но вот что у него кривая реализация в std::fs - это логическая ошибка (некорректная работа с системными вызовами), от которых этот язык не защищает никак. Вся его задача - перенос "лучших практик" из C++ по работе с памятью в компайл-тайм, чтобы минимизировать человеческий фактор. В остальном просто нескучный синтаксис.
| |
|
|
|
1.60, Alexey (??), 13:47, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –5 +/– |
Google компания делает дела. когда-то про нее много писали что "корпорация зла". но нет, она делает добрые дела. полезные. вот язык обновила.
так что, не надо ее ругать.
кто там главный в компании? Брин и еще второй. они делают полезное дело. обновляют язык.
| |
|
2.125, Аноним (127), 19:43, 07/02/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Брин, перелогинься и не позорься! :)))) "делает дела"... ты в 3 классе что ли? Выражаешься как косноязычный троечник. Это уже не говоря о смысле твоих похвал недоязыку от недокомпании.
| |
|
1.102, Аноним (102), 17:25, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Решена давняя проблема с циклами "for"
Выглядит так как будто язык всё ещё переживает детские болезни.
| |
1.155, ВоваВолшебник (?), 08:32, 08/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Пользовался языком пару лет. Неплохой инструмент для написания маленьких сетевых программ. Но в какой то момент прозрел и нафиг послал этот язык со своими идиотскими правилами синтаксиса. Мол, ему не нравится что есть неиспользованная переменная. Ну сейчас в данный момент не используется, надо будет, потом удалим, сейчас голова забита другим. Это конечно хорошо, что типа для оптимизации. Но в активной фазе разработки как же эта фигня ставит палки в колеса. Я вообще молчу про фигурные скобки. Это вообще чья то субьективщина стала частью языка.
| |
|
2.218, Аноним (218), 02:00, 11/02/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
>сейчас в данный момент не используется, надо будет, потом удалим, сейчас голова забита другим. Это конечно хорошо
Пример хода мысли, приводящего к появлению и постоянному увеличению количества го-кода в проекте. Нет, это не ускоряет разработку. Вы делаете работу по три-четыре раза в результате.
| |
|
|
2.163, Аноним (162), 11:19, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну вот у меня ровно обратное мнение. ADT слишком сложно для уверенного понимания. А без понимания его применение приводит к опасным ошибкам. Лучше многословно, но предельно понятно на каждом шаге даже дэбилу.
| |
|
|
4.173, Аноним (162), 12:47, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну я о проблемах с пониманием и адекватным применением именно ADT, т.е. абстрактных типов и шаблонов построения типов.
| |
|
3.215, Аноним (218), 15:55, 10/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
А им и надо, чтобы язык был такой черной магией, чтобы не программу писать, а что угодно подводящее к ее написанию, но никогда не приводящее. Подмена деятельности ее имитацией.
| |
|
2.184, Аноним (169), 14:38, 08/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
ADT - это прошлый век, сейчас любой язык без TRJ - игрушка для хеллоувротов. А на подходе еще BKFHW - еще круче будет
| |
|
1.190, Neon (??), 19:28, 08/02/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ничего привычного из С даже близко нет в Go. Откуда это глупость постоянно берется ?!
| |
|
2.214, Аноним (218), 15:53, 10/02/2024 [^] [^^] [^^^] [ответить]
| +/– |
Тупизация, структуры, указатели, блоки кода фигурными скобками, видимость внутри блока. Все это очень даже сишное.
| |
|
|