Je Zig jazyk buducnosti?

Re:Je Zig jazyk buducnosti?
« Odpověď #15 kdy: 25. 12. 2022, 00:22:45 »
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.

j, jako příklad vývoje dozadu... jediný jazyk který řešit problémy které byly vyřešeny před +30 lety a ještě blbe..
jediný důvod proc Go existuje je Google. A to ze bylo rychlejší než python a ruby. To ze ho původně google pozoroval proti C byla největší ptákovina dějin


Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #16 kdy: 25. 12. 2022, 00:38:57 »
Rust urcite neni Go killer a Go neni Rust killer. Ty niky obou jazyku se dost lisi [...]. Asi jeste dlouho budou koexistovat vedle sebe. Asi nema moc vyznamu se na ne divat jako na protivniky.
Přesně, moc si do zelí nelezou.

Re:Je Zig jazyk buducnosti?
« Odpověď #17 kdy: 25. 12. 2022, 07:16:15 »
jediný důvod proc Go existuje je Google. A to ze bylo rychlejší než python a ruby.
Spíš to, že v něm jdou dělat standalone binárky, který nemají stovky MB nebo hromadu požadavků na věci, co musí mít uživatel nainstalovaný. To je věc, která do té doby víceméně neexistovala (mimo staticky slinkovaný C/C++), a přitom je to čas od času potřeba na různý tooly. Jinak teda Go mi jako jazyk přijde příšerný a nepoužívám ho, ale tohle byla díra na trhu, kterou úspěšně zaplnili.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #18 kdy: 25. 12. 2022, 11:15:41 »
jediný důvod proc Go existuje je Google. A to ze bylo rychlejší než python a ruby.
Spíš to, že v něm jdou dělat standalone binárky, který nemají stovky MB nebo hromadu požadavků na věci, co musí mít uživatel nainstalovaný.
A taky snadná kroskompilace.

Re:Je Zig jazyk buducnosti?
« Odpověď #19 kdy: 25. 12. 2022, 11:31:41 »
Za mě jednoznačně ano. Ne jako BLANK-killer (to je IMO absurdní koncept patřící spíš někam do marketingu než do odborné diskuse), ale jako elegantní a nenásilný doplněk do toolkitu systémového nebo embedded vývojáře. Zig umí přímo importovat Cčkové knihovny (bez wrapperů), pracuje se s nimi snadněji než v C, stejně tak umí C-API knihovny vytvářet, včetně automatického vygenerování headeru. Jeho build system umí triviálně tyto hybridní projekty (nebo i čistě C projekty) cross-kompilovat z libovolné platformy na libovolnou jinou, a to všechno pěkně rychle. Už jen ta elegance, se kterou pomocí tagged enums & packed structs (zero-cost) abstrahuje hardwarové registry, je poesie.

Má LLVM a nově i vlastní backend, takže umí kompilovat pro všechen hardware, na který LLVM cílí. Pokud máte na stole nějakou exotiku, tak umí generovat C kód, a ten potom můžete zkompilovat proprietárním kompilátorem (vyzkoušeno na jednom otřesnějším 8051 klonu). Binárky jsou maličké. WASM binárky jsou maličké a rychlé, je to jeden z důvodů proč je na demoscéně a wasm Zig najednou tak populární.

Podpora v IDE je už teď slušná (přes LSP), vývoj je finančně stabilní díky Zig Foundation a full-time vývojářům, komunita je přátelská. Je to malý jazyk, dá se naučit za víkend tak, že v něm je člověk už produktivní.


Re:Je Zig jazyk buducnosti?
« Odpověď #20 kdy: 25. 12. 2022, 11:37:44 »
(teď si to po sobě čtu, zní to jako sales pitch :D)

Má samozřejmě i (dočasně) nevýhody: je to mladé, rychle se to hýbe, a při nějaké náročnější práci se rychle seznámíte s jejich Github Issues, protože na bugy kompilátoru nebo standardní knihovny definitivně narazíte. Real-world projekty které jedou na Zigu cílí na starší, stabilní verze, a při upgradu je čeká někdy trošku portování.

Jazyk je "opinionated", někdy je to IMO na škodu, např. prohlášení že odsazovat se bude čtyřmi mezerami a všechno ostatní je hard syntax error. Nebo že nepoužitá proměnná je hard error.

Re:Je Zig jazyk buducnosti?
« Odpověď #21 kdy: 25. 12. 2022, 16:56:09 »
jediný důvod proc Go existuje je Google. A to ze bylo rychlejší než python a ruby.
Spíš to, že v něm jdou dělat standalone binárky, který nemají stovky MB nebo hromadu požadavků na věci, co musí mít uživatel nainstalovaný. To je věc, která do té doby víceméně neexistovala (mimo staticky slinkovaný C/C++), a přitom je to čas od času potřeba na různý tooly. Jinak teda Go mi jako jazyk přijde příšerný a nepoužívám ho, ale tohle byla díra na trhu, kterou úspěšně zaplnili.

to je ve co umí každý jazyk, jen Go nedokaze nic jiného ... ono dynamické linkování vzniklo proto aby se nemusely stale stejně věci načítat zvláštní do paměti dokola ale aby program je dokázal znovu použití...

statické vinařky mají své použití ale  samy o sobe jsou ukázka neschopnosti pro softwarovém inženýrství ..

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #22 kdy: 25. 12. 2022, 17:17:16 »
statické vinařky mají své použití
No to bezpochyby ;D

Re:Je Zig jazyk buducnosti?
« Odpověď #23 kdy: 26. 12. 2022, 09:01:00 »
to je ve co umí každý jazyk
Dřív to asi platilo, ale z těch "rozšířených" to dneska neumí skoro žádnej: Java ne (potřebuje JVM), C# asi ne (moc ho neznám, ale taky asi potřebuje nějakou VM), Python, JS, Ruby, PHP ne (všechno skriptovaný bazmeky)... vlastně mě žádnej garbage-collected jazyk kromě Go nenapadá.

Re:Je Zig jazyk buducnosti?
« Odpověď #24 kdy: 28. 12. 2022, 23:09:34 »
Dřív to asi platilo, ale z těch "rozšířených" to dneska neumí skoro žádnej: Java ne (potřebuje JVM), C# asi ne (moc ho neznám, ale taky asi potřebuje nějakou VM), Python, JS, Ruby, PHP ne (všechno skriptovaný bazmeky)... vlastně mě žádnej garbage-collected jazyk kromě Go nenapadá.
C# je opajcnutá Java, v 90-tych rokoch boli okolo toho aj súdy, vtedy M$ robili dokonca aj J#, ale to bol príliš okatý opajc, tak J# nakoniec zarezali.
 Samozrejme vývoj ide ďalej oboma smermi a dnes sa jazyky už tak nepodobajú, ale stále má C# kompiláciu do byte-kódu ako Java a aj jeho interpretáciu (ako Java).

Re:Je Zig jazyk buducnosti?
« Odpověď #25 kdy: 29. 12. 2022, 05:24:35 »
Dřív to asi platilo, ale z těch "rozšířených" to dneska neumí skoro žádnej: Java ne (potřebuje JVM), C# asi ne (moc ho neznám, ale taky asi potřebuje nějakou VM), Python, JS, Ruby, PHP ne (všechno skriptovaný bazmeky)... vlastně mě žádnej garbage-collected jazyk kromě Go nenapadá.
C# je opajcnutá Java, v 90-tych rokoch boli okolo toho aj súdy, vtedy M$ robili dokonca aj J#, ale to bol príliš okatý opajc, tak J# nakoniec zarezali.
 Samozrejme vývoj ide ďalej oboma smermi a dnes sa jazyky už tak nepodobajú, ale stále má C# kompiláciu do byte-kódu ako Java a aj jeho interpretáciu (ako Java).

Interně je .NET a JVM dost jine - https://stackoverflow.com/a/1625090/406691 - Teď už to nemohu najít, ale mám pocit, že alespoň z části .NET navazoval na výzkum z ETH Curych, kde ještě před Javou řešili efektivitu přenositelných aplikací. C# se pak Javě  podobá (i když mně osobně to nepřijde), ale je to jazyk z 90 let, kdy všechno muselo mít objekty a všechno muselo mít garbage collector. Jinak koncept interpretace byte code, a jeho interpretace je ze 70 let - to není vynález ani Sunu a ani Microsoftu (a Microsoft měl relativně rychlou a efektivní implementaci ve Visual Basicu). .NET původně cílil na mswin desktop a síťování se řešilo víc skrze RO. Java se víc motala kolem internetu. Microsoft u .NET skoro vůbec neřešili nezávislost na platformě. .NET byl původně čistě MS záležitost. Naopak Java byla od začátku multiplatformní.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Zig jazyk buducnosti?
« Odpověď #26 kdy: 29. 12. 2022, 12:01:20 »
je to jazyk z 90 let, kdy všechno muselo mít objekty a všechno muselo mít garbage collector.
Jo to byly časy :) Dokonce vzniknul “object-oriented Prolog”. Když se šéfa (francouzské pobočky) IBM ptali, proč, odpověděl: “Our customers wanted an object-oriented Prolog, so we made an object-oriented Prolog.” Prostě protože proto :)