Je Zig jazyk buducnosti?

oss

  • ***
  • 229
    • Zobrazit profil
    • E-mail
Je Zig jazyk buducnosti?
« kdy: 10. 11. 2022, 07:55:10 »
Je podla vas Zig jazyk buducnosti?

Co si o nom myslite?
Vyskusali ste ho?

za mna solidny nastupca C-ecka, ktory sa snazi riesit jeho problemy bez velkej magie, takze ma programator naozaj kontrolu nad tym co robi.


alex6bbc

  • *****
  • 1 431
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #1 kdy: 10. 11. 2022, 08:07:28 »
v rychlosti na to koukam, zajimave mi pripada:

- aby pointer nebyl null, tak je pouzit optional se zajimavou syntaxi ?*u8
- navratovy union error{Oops}!void je taky zajimava syntaxe
- syntaxe dereference ptr.*, taky zajimave misto ceckoveho *ptr

takze jiste zajimave, ale uz jsem si navykl na go, ktere prinasi vice novinek nez zig oproti c.

Re:Je Zig jazyk buducnosti?
« Odpověď #2 kdy: 10. 11. 2022, 09:00:58 »
Zig se drží při zemi, nabízí skvělý tooling pro integraci do stávajících C projektů. Má pracovitou komunitu a nebojí se Ioxototha vládnoucího ukazateli. Myslím, že dobrý! Jinak budocunost možná v doméně low-level. Ale budoucnost programování jako, že by přinášel nové paradigma, otvíral oči, převracel mysl, to ne! To jsem léta neviděl a pokud ano, bylo to z psychedelických 70. let, jen se na to zapomnělo.

Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #3 kdy: 10. 11. 2022, 20:35:37 »
Pokud bych měl na výběr mezi Zigem a C, šel bych do Zigu. Pokud bych mohl použít Rust nebo jiný vyšší jazyk, použil bych ho namísto Zigu. Zig je, jak se zdá, dost dobrý kroskompilátor, v tomto ohledu budoucnost má. Jinak je to otázka, z vyšších jazyků IMO moc programátorů ujídat nebude a uživatelé C jsou velká neznámá. Rád bych věřil, že přejdou.

Re:Je Zig jazyk buducnosti?
« Odpověď #4 kdy: 10. 11. 2022, 21:20:29 »
Pokud bych měl na výběr mezi Zigem a C, šel bych do Zigu. Pokud bych mohl použít Rust nebo jiný vyšší jazyk, použil bych ho namísto Zigu. Zig je, jak se zdá, dost dobrý kroskompilátor, v tomto ohledu budoucnost má. Jinak je to otázka, z vyšších jazyků IMO moc programátorů ujídat nebude a uživatelé C jsou velká neznámá. Rád bych věřil, že přejdou.

Pokud plati (a v oficialni dokumentaci se to blbe hleda), ze podporovane platformy jsou x86-64, ARM, MIPS, IA-32, WebAssembly, RISC-V a SPARC, tak to spousta ceckaru, co delaji na DSP, mikroradicich (ne Cortex M0/M1) asi nebude moci prejit. Cecko ma spoustu nesvaru, ale je rozlezly vsude, to je jedna z vyhod (ani Rust se nechyta, kupodivu, maji tam z mikroradicu jen MSP-430, jinak je minimum 32bitove zelezo).


a6b

  • ***
  • 119
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #5 kdy: 10. 11. 2022, 23:11:27 »
cecko mmnoho nesvaru, nebo to jsou jen nesvary lidi co to pouzivaji?

a rust ty nesvary ohlida, ale zaroven, nezblbnou ti lidi o to vic, ze uz to nemusi kontrolovat?

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Je Zig jazyk buducnosti?
« Odpověď #6 kdy: 11. 11. 2022, 01:48:24 »
a rust ty nesvary ohlida, ale zaroven, nezblbnou ti lidi o to vic, ze uz to nemusi kontrolovat?

Potřebujeme najít skvělé programátory, kteří dělají málo chyb a jsou drazí. Chybovost kódu 20%.
nebo
Ten jazyk umí použít i průměrný a levnější programátor, chyby odchytí kompilátor. Chybovost kódu 0.2%

Vyber si.

Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #7 kdy: 11. 11. 2022, 06:21:54 »
cecko mmnoho nesvaru, nebo to jsou jen nesvary lidi co to pouzivaji?

a rust ty nesvary ohlida, ale zaroven, nezblbnou ti lidi o to vic, ze uz to nemusi kontrolovat?

Vzhledem k tomu, že spousta nepříjemných chyb se nachází v software, který nepíšou podprůměrní programátoři (kernel, OpenSSL atd.), bral bych lidská selhání jako nevyhnutelnost. Rust (ale podle mě i Zig) obsahuje určitou bariéru (nenaučí se ho úplně každý za pár dní), který naopak ty nejhorší kusy odfiltruje.

a6b

  • ***
  • 119
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #8 kdy: 11. 11. 2022, 07:27:42 »
c
c++
zig ... c+=0.5
golang ... c*= 10
rust ... (c++)*=20

oss

  • ***
  • 229
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #9 kdy: 11. 11. 2022, 08:06:13 »
Preco sa pytam... s Rustu som bol nadseny a pouzival som ho jeden a pol roka aj na vetsich veciach, myslel som si, ze to bude Go-killer. Ale moje nadsenie opadlo. Tak hladam nieco ine, lepsie, v com sa aj da realne programovat.

Ono skor Go-killer je C# a net 6/7 (miliardukrat lepsi jazyk a richlejsi runtime ako Go a 7-cka aj mirene vykonejsia ako Rust (v grpc)).

Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #10 kdy: 11. 11. 2022, 08:23:12 »
Preco sa pytam... s Rustu som bol nadseny a pouzival som ho jeden a pol roka aj na vetsich veciach, myslel som si, ze to bude Go-killer. Ale moje nadsenie opadlo. Tak hladam nieco ine, lepsie, v com sa aj da realne programovat.

Ono skor Go-killer je C# a net 6/7 (miliardukrat lepsi jazyk a richlejsi runtime ako Go a 7-cka aj mirene vykonejsia ako Rust (v grpc)).

Jestliže Ti nevadí C#, nevidím důvod pokukovat po Zigu. Ten přece míří úplně jinam.

Re:Je Zig jazyk buducnosti?
« Odpověď #11 kdy: 11. 11. 2022, 08:50:17 »
Preco sa pytam... s Rustu som bol nadseny a pouzival som ho jeden a pol roka aj na vetsich veciach, myslel som si, ze to bude Go-killer. Ale moje nadsenie opadlo. Tak hladam nieco ine, lepsie, v com sa aj da realne programovat.

Ono skor Go-killer je C# a net 6/7 (miliardukrat lepsi jazyk a richlejsi runtime ako Go a 7-cka aj mirene vykonejsia ako Rust (v grpc)).

Rust urcite neni Go killer a Go neni Rust killer. Ty niky obou jazyku se dost lisi, stejne jako pozadavky kladene na vyvojare a na kvalitu vysledneho kodu (a to je mnoho metrik, ne jedna). Asi jeste dlouho budou koexistovat vedle sebe. Asi nema moc vyznamu se na ne divat jako na protivniky.

oss

  • ***
  • 229
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #12 kdy: 11. 11. 2022, 09:19:43 »
Preco sa pytam... s Rustu som bol nadseny a pouzival som ho jeden a pol roka aj na vetsich veciach, myslel som si, ze to bude Go-killer. Ale moje nadsenie opadlo. Tak hladam nieco ine, lepsie, v com sa aj da realne programovat.

Ono skor Go-killer je C# a net 6/7 (miliardukrat lepsi jazyk a richlejsi runtime ako Go a 7-cka aj mirene vykonejsia ako Rust (v grpc)).

Jestliže Ti nevadí C#, nevidím důvod pokukovat po Zigu. Ten přece míří úplně jinam.

Kvoli mikrokontrolerom (tam ma aj Rust dost problemy a je to ohybak na rovnak) a nativnym DLL, tie obcas tiez musism robit.

Preco sa pytam... s Rustu som bol nadseny a pouzival som ho jeden a pol roka aj na vetsich veciach, myslel som si, ze to bude Go-killer. Ale moje nadsenie opadlo. Tak hladam nieco ine, lepsie, v com sa aj da realne programovat.

Ono skor Go-killer je C# a net 6/7 (miliardukrat lepsi jazyk a richlejsi runtime ako Go a 7-cka aj mirene vykonejsia ako Rust (v grpc)).

Rust urcite neni Go killer a Go neni Rust killer. Ty niky obou jazyku se dost lisi, stejne jako pozadavky kladene na vyvojare a na kvalitu vysledneho kodu (a to je mnoho metrik, ne jedna). Asi jeste dlouho budou koexistovat vedle sebe. Asi nema moc vyznamu se na ne divat jako na protivniky.

Chapem, ale skor som to myslel tak, ze pre mna mal byt Rust Go killer. Na Go mi vadi jazyk, runtime a (nechcem nikoho utrazit) ale jeho pribrzdenost/zaostalost. A viac menej som mal pocit, ze Rust vsteky problemy co som mal s Go ma dobre vyriesne od zaciatku. No na Ruste mi zacali vadit ine veci. myslel som si, ze to bude to prave na tvorbu high-perfomace servicov, no vyzera, ze pre mna nie.

Re:Je Zig jazyk buducnosti?
« Odpověď #13 kdy: 11. 11. 2022, 09:47:18 »

Rust urcite neni Go killer a Go neni Rust killer. Ty niky obou jazyku se dost lisi, stejne jako pozadavky kladene na vyvojare a na kvalitu vysledneho kodu (a to je mnoho metrik, ne jedna). Asi jeste dlouho budou koexistovat vedle sebe. Asi nema moc vyznamu se na ne divat jako na protivniky.

Chapem, ale skor som to myslel tak, ze pre mna mal byt Rust Go killer. Na Go mi vadi jazyk, runtime a (nechcem nikoho utrazit) ale jeho pribrzdenost/zaostalost. A viac menej som mal pocit, ze Rust vsteky problemy co som mal s Go ma dobre vyriesne od zaciatku. No na Ruste mi zacali vadit ine veci. myslel som si, ze to bude to prave na tvorbu high-perfomace servicov, no vyzera, ze pre mna nie.

Jj urcite pro jednotlivce to samozrejme plati (a taky si to myslim). Akorat treba Go u nas proslo, protoze je relativne snadny na to sehnat lidi, co jsou to ochotni se naucit tak, aby dokazali vyprodukovat produkcni (ehm ehm ) kod :)

Zajimavy je, ze vsechny veci, ktere jsou na Go spatne (a to mnohdy zbytecne), tak ma Rust spravne...

jano6

Re:Je Zig jazyk buducnosti?
« Odpověď #14 kdy: 11. 11. 2022, 10:21:38 »
Preco sa pytam... s Rustu som bol nadseny a pouzival som ho jeden a pol roka aj na vetsich veciach, myslel som si, ze to bude Go-killer. Ale moje nadsenie opadlo. Tak hladam nieco ine, lepsie, v com sa aj da realne programovat.

Ono skor Go-killer je C# a net 6/7 (miliardukrat lepsi jazyk a richlejsi runtime ako Go a 7-cka aj mirene vykonejsia ako Rust (v grpc)).

C#/F# combo sú momentálne moje top jazyky. (C# v posledných rokoch drasticky vylepšil svoju syntax, F# bolo
famózne od začiatku.) Napriek tomu, že syntaxou a svojimi možnosťami ďaleko prekračujú Go, Go je v niektorých
prípadoch pre mňa vhodnejší jazyk.

Go je ideálny jazyk pre command linu a pre tých, čo programujú network. C# doteraz nemá cmd parser, chystá sa
System.CommandLine, zatiaľ to do 7.0 nestihli dať. Go má flags a výborný package Cobra. Go je taký hackerský jazyk.
Trebárs pre porovnanie chcete si pingovať s ICMP. C# má Ping classu s určitími limitujúcimi možnosťami, Go má
celú sadu funkcií pre ICMP: https://pkg.go.dev/golang.org/x/net/icmp.
Go umožňuje ísť oveľa viac do hĺbky a pohrať sa s úplnými detailami. V tomto nemá konkurenciu.

Je úplne v pohode naprogramovať si cmd tool v C#, avšak ak ten tool plánujem pre tisícky ľudí, tak je Go vhodnejšie
pretože výsledná binárka je zlomkom veľkosti .NET binárky.

Go má svoje pevné miesto medzi programovacími jazykmi. A syntaktické možnosti jazyka nie sú všetko. Zásadne sú
tiež knižnice a tooling.