Re[5]: Что мне понравилось в Go
От: rudzuk  
Дата: 09.07.23 09:06
Оценка:
Здравствуйте, so5team, Вы писали:

s> ...

s> С поправкой на то, что в Go за счет рантайма языка происходит автоматическая передиспетчеризации гороутин при обращении к блокирующим системным вызовам.

Там сейчас нормальное вытеснение сделано: https://habr.com/ru/articles/502506/
avalon/3.0.2
Re[3]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: rudzuk  
Дата: 09.07.23 09:25
Оценка: 1 (1)
Здравствуйте, Разраб, Вы писали:

Р> так что именно горутины это не какое то ноухау как по мне.


Речь не о том, что это ноухау, а о том, что это номальная реализация зеленых потоков, с реальным вытеснением.
avalon/3.0.2
Re[2]: Что мне понравилось в Go
От: Vladsav  
Дата: 09.07.23 19:37
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

Хочу дополнить по Go:

1. Мне приходилось переписывать веб-сервисы с Java на Go.
Web-сервис на Java + Tomcat + JSP требовал для работы 200-250 Mb оперативной памяти.
Тот же сервис, переписанный на Nginx + Go + html template занимал 20-30 Мб ОЗУ.
Выигрыш по памяти значительный. Если сервисы крутятся в облаках — можно прилично сэкономить.

2. Обработка ошибок. Она проста и незатейлива. Мы писали так:

html, err := template.ParseFiles("tmpl/result.html")
CheckFatalErr(err)

...
func CheckFatalErr(err error) {
    if err != nil {
    log.Fatal(err)
}


Все просто и глаз не спотыкается об if err != nil.
Re[3]: Что мне понравилось в Go
От: SkyDance Земля  
Дата: 09.07.23 22:31
Оценка: +1
V>2. Обработка ошибок. Она проста и незатейлива. Мы писали так:

Просто и незатейливо — это #letitcrash.

Примерно так:

{ok, Parsed} = parse_files("tmpl/result.html"),


А то, что на Go, угрюмо и страшно.
Re[4]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: SkyDance Земля  
Дата: 10.07.23 02:12
Оценка:
N>Просто представь C# без генериков, исключений, LINQ, платформо-независимых бинарей, JIT и т.д.

Все это появится, просто позже (если, конечно, гугль не решит сэкономить на команде, работающей над go), спираль — она на то и спираль.
Re[5]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: SkyDance Земля  
Дата: 10.07.23 02:20
Оценка: 3 (2) +1
S>Типа chain в Go -- это не first class citizens, а так, нашлепка сбоку

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

S>Не думал, что встречается Erlang головного мозга, а вот поди ж ты.


Случается, что у некоторых есть опыт работы с разными языками, платформами и концепциями. Так что возникает понимание, где какая экосистема в чем лучше. И осознание, в чем, например, хорош C#, а где удобен Go. А также что проще отлаживать, и почему. И заодно — что отлаживать не нужно. Или где реализация устрашающа (ага, расскажите мне про отладку async/await программ в C# ).

Go имеет современную экосистему (которой Erlang не имеет). Это как раз менеджеры пакетов, отладчики и прочее. Но именно как язык Go по простоте и выразительности на две головы ниже.
Re[6]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: so5team https://stiffstream.com
Дата: 10.07.23 05:29
Оценка:
Здравствуйте, SkyDance, Вы писали:

S>>Типа chain в Go -- это не first class citizens, а так, нашлепка сбоку


SD>Так и есть, причем нашлепка настолько уродливая, что люди пытаются изобразить функциональщину для более комфортного чтения.




К first-class ваша ссылка не имеет отношения. Если бы chan не был в Go first-class citizen, то, например, его бы не поддерживала Go-шная функция make.

S>>Не думал, что встречается Erlang головного мозга, а вот поди ж ты.


SD>Случается, что у некоторых есть опыт работы с разными языками, платформами и концепциями.


Жаль, что к этому опыту не прилагается еще и осознание того, что это вовсе не уникально.
Re[9]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: VladiCh  
Дата: 10.07.23 06:02
Оценка:
Здравствуйте, novitk, Вы писали:

N>Здравствуйте, netch80, Вы писали:


N>>Уровень людей... ну наших — терпимо. Авторов исходного пакета софта... ну да, они умеют в Linux, а не Windows. На этом положительные слова заканчиваются. И во второй раз за неделю я вспоминаю столь любимого восточным соседом тов. Кобу: "Других людей у меня для вас нет."

N>>Это реальный случай, когда я бы хотел Go вместо всей этой хери. Оно перестанет падать, оно будет лучше отлаживаться, и прочая и прочая.
N>если GC не проблема, то чем Java(Scala/Kotlin/etc) с АОТ(Graal) не подходит? Ну или .NET?

тяжеленное говнище для кучи случаев. жрут память как не в себя.
Re[5]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: novitk США  
Дата: 10.07.23 16:41
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Все это появится, просто позже (если, конечно, гугль не решит сэкономить на команде, работающей над go), спираль — она на то и спираль.

Языку десять лет уже, а перечисленные фичи в базе лет так 30 уже.
if-ы в докере переписывать никто не будет.
Это не убьет основную фичу — "простоту"?
Re[10]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: novitk США  
Дата: 10.07.23 16:50
Оценка:
Здравствуйте, VladiCh, Вы писали:

N>>если GC не проблема, то чем Java(Scala/Kotlin/etc) с АОТ(Graal) не подходит? Ну или .NET?

VC>тяжеленное говнище для кучи случаев. жрут память как не в себя.
"Tяжелое говнище" это Спринги и Томкаты, которым давно пора на помоечку. В Go никакой магии в управлении памяти нет, GC там до сих пор хуже, a ValueType в Яву завезли.
Re[3]: Что мне понравилось в Go
От: novitk США  
Дата: 10.07.23 16:55
Оценка: +1
Здравствуйте, Vladsav, Вы писали:

V>Все просто и глаз не спотыкается об if err != nil.

CheckFatalErr разве не должны быть распылену чуть менее чем везде?
Отредактировано 10.07.2023 20:10 novitk . Предыдущая версия .
Re[6]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: SkyDance Земля  
Дата: 10.07.23 17:14
Оценка:
N>Это не убьет основную фичу — "простоту"?

Убьет, конечно (вместе с другими фичами). Но это и есть та самая спираль. Каждый язык (включая С, ага) имел с самого начала "основную фичу, простоту". Избежать усложнения человеки, я так понимаю, просто не в состоянии, поэтому через сколько-то лет появится очередной язык, основной фичей которого будет являться простота.
Re[7]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: novitk США  
Дата: 10.07.23 18:13
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Убьет, конечно (вместе с другими фичами). Но это и есть та самая спираль. Каждый язык (включая С, ага) имел с самого начала "основную фичу, простоту".


"C" всеже контрпример. Он не стал набирать фичи и в основном полировал синтакс.
Есть разная "простота". В понимание "golang" это не богатая композиция из минимального набора сущностей, а именно 'простота' в "быдлокодинге".
Re[9]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: Pzz Россия https://github.com/alexpevzner
Дата: 10.07.23 19:37
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>У Go возможны data races, так что непредсказуемое поведение всё равно будет. Но в любом случае это сильно лучше чем C/C++


Ну, в Go заложено много интересных возможностей. Например, два сабслайса от одного и того же слайса (или массива) — у них общая память. Пишешь в один — в другом меняется. А после первого append-а — как повезет.
Re[3]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: Pzz Россия https://github.com/alexpevzner
Дата: 10.07.23 19:40
Оценка: 2 (1) -1 :)
Здравствуйте, rudzuk, Вы писали:

R>Нишу гошечки давно и конкретно определил его создатель — язык для тупых
Автор: rudzuk
Дата: 15.02.22
. (прямая речь
Автор: rudzuk
Дата: 15.02.22
)


Язык и должен быть языком для тупых. Мозг надо на задачу расходовать, а не на язык. Если что, эта мысль принадлежит Дейкстре, а не мне.
Re[5]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: Pzz Россия https://github.com/alexpevzner
Дата: 10.07.23 19:43
Оценка: +1
Здравствуйте, netch80, Вы писали:

N>Знакомые которые на нём пишут — одинаково рассказывают, не сговариваясь, что уровень, в первую очередь, копипастинга превышает все разумные пределы и все известные аналоги кода на других языках.


Мне кажется, эти люди внутри рассуждают, как если бы они писали на C++ или чем-то подобном, а фактически пишут на Go.

Я тоже пишу на Go, и как-то вот обхожусь без массового копипастинга.

N>Ругань типа "пока я собирался поменять все 4 места, где что-то надо было менять, добавили ещё 6" совершенно типична.

N>А вот это уже наверняка результат отсутствия нормального наследования в объектах, соответственно, реюз кода катастрофически усложняется.

Может здесь пора сделать рефакторинг?
Re[5]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: Pzz Россия https://github.com/alexpevzner
Дата: 10.07.23 19:45
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Все это появится, просто позже (если, конечно, гугль не решит сэкономить на команде, работающей над go), спираль — она на то и спираль.


Вроде Пайк таки вышел на пенсию. Так что да, может и появится. Будет жаль...
Re[2]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: Pzz Россия https://github.com/alexpevzner
Дата: 10.07.23 19:47
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>Объясните в чем преимущество Go перед другими языками. Особенно с точки зрения именно языка, а не того, что вебсервис на pyhon переписанный на go в 100500 раз быстрее работает.


Он удобный, как старые тапочки.
Re[6]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: SkyDance Земля  
Дата: 10.07.23 20:04
Оценка:
Pzz>Вроде Пайк таки вышел на пенсию. Так что да, может и появится. Будет жаль...

Ха, выгнали-таки.
Ну тогда ждем и генериков, и всего такого прочего!
Re[3]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.07.23 20:15
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, gandjustas, Вы писали:


G>>Объясните в чем преимущество Go перед другими языками. Особенно с точки зрения именно языка, а не того, что вебсервис на pyhon переписанный на go в 100500 раз быстрее работает.


Pzz>Он удобный, как старые тапочки.


А можно пример без эмоциональных оценок?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.