ZigLang - Wo kommt denn das nun wieder her?

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

ZigLang - Wo kommt denn das nun wieder her?

Beitrag von TroaX »

Es ist erstaunlich, was man so findet, wenn man auf Arbeit etwas Leerlauf hat und sich umsieht. In einem Kommentar zu einer Heise News hat jemand die ZigLang zur Sprache gebracht. Mal wieder eine neue Programmiersprache. Aber dieses mal ist es anders. Die Sprache ist irgendwie ... interessant. Ich würde sogar fast sagen, sie ist sexy. Und vor allem gefühlt anders als der ganze andere Kram, der die letzten 1-2 Dekaden auf uns gefallen ist. Irgendwie klarer. Irgendwie weniger unnötig abstrakt. Irgendwie anders ...

Kennt die jemand von euch? Hat schon einmal wer etwas genauer reingeschaut?
https://ziglang.org/de/learn/why_zig_rust_d_cpp/
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: ZigLang - Wo kommt denn das nun wieder her?

Beitrag von NicTheQuick »

Also ich hab mich viel zu sehr verliebt in Operatorüberladungen, Properties und weitere versteckte Möglichkeiten schönen Code zu schreiben. Da steht auch nichts von OOP. Kann Ziglang das nicht? Ich hab auch noch nichts gelesen von Thread-Sicherheit oder sauberer Speicherverwaltung, nur dass es für letzteres bessere Debug-Möglichkeiten und einen Profiler gibt. Aber seitdem es Rust gibt, braucht man ja selbst das nicht mehr, weil es in der Hinsicht einfach schon sicher ist.

Mein größtes Problem damit ist aber, dass ich auch noch nie davon gehört habe, die Webseite aber den Anschein erweckt, dass sie quasi an alles gedacht haben, selbst ein Paketmanager und ein Buildsystem, was alle gängigen ersetzen kann, ist integriert. Wäre das alles so toll, hätte ich davon doch wohl schon mal gehört, oder?

Naja, ich hab mich jetzt auch noch nicht länger als 15 Minuten damit beschäftigt. Von daher kann ich auch falsch liegen.

Aber bezüglich Operatorüberladungen: Ist vector1.add(vector2) wirklich schöner als vector1 + vector2? Ich glaube nicht. :-D
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: ZigLang - Wo kommt denn das nun wieder her?

Beitrag von TroaX »

Du wirst lachen. Aber für mich ist es tatsächlich schöner. Denn ein Operator erfüllt klar seinen Zweck und ich mag es nicht, wenn ein Operator mehrere Zwecke erfüllt und ich erst einmal aus dem Kontext heraus mir den Zweck denken muss, wenn man den Zweck frei implementieren kann, wenn bestimmte Bedingungen erfüllt sind. Genau das gleiche wie mit dekoratoren bei Python. Oder Macros bei PureBasic.

OOP hat es im klassisches Sinne auch nicht, was damit zusammenhängt, das Zig bewusst auf ein tiefgreifendes Speichermanagement verzichtet. Hier gibt es nochmal das Overview im Detail: https://ziglang.org/de/learn/overview/

Am Ende werde ich wohl einer der wenigen sein, der die Aussagen in dem Overview genauso fühlt. Aber ich fühle das zu 100 %. Schönheit hilft mir nicht, wenn ich den Bumms nicht raffe, den andere mit den Features fabrizieren. Seit ich sehen musste, was mit Dekoratoren in Python alles geht, kann dieser Dreck für mich zur Hölle fahren :D
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: ZigLang - Wo kommt denn das nun wieder her?

Beitrag von DarkDragon »

Ich finde versteckten Kontrollfluss teilweise ganz nützlich. Vektoren addieren usw mit + und * ist doch schöner als .add() .mul() ... . Und wenn man die richtige IDE verwendet zeigt sie den Operator dann auch im Stil einer Methode an, man sieht also, dass der Operator überladen ist. Exceptions sind eigentlich super wenn man sich einigt auf welcher Ebene etwas aufgefangen werden muss. Aber dieses Prinzip kein throw/catch zu haben kenne ich schon aus Go oder Rust, wo man den Fehler dann durchschleift bis zum Handler über Rückgabewerte:

https://go.dev/blog/error-handling-and-go
https://doc.rust-lang.org/book/ch09-00- ... dling.html
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
dige
Beiträge: 1239
Registriert: 08.09.2004 08:53

Re: ZigLang - Wo kommt denn das nun wieder her?

Beitrag von dige »

Schade es auf der ZiG Webseite keine UI Beispiele gibt. Mich würde mal das Look'n Feel der Sprache interessieren..
"Papa, ich laufe schneller - dann ist es nicht so weit."
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: ZigLang - Wo kommt denn das nun wieder her?

Beitrag von NicTheQuick »

Ich gehe davon aus, dass es keine UI gibt. Du musst vermutlich direkt mit der API des entsprechenden OS arbeiten oder ein anderes Framework einbinden wie QT. Es ist eher selten, dass eine Programmiersprache eigene UI-Befehle mitbringt.
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: ZigLang - Wo kommt denn das nun wieder her?

Beitrag von TroaX »

Zig liefert keine eigene UI-Lib mit. Wenn ich mir aber die Standard-Lib so ansehe, ist es erstaunlich, das so Sachen wie z.B. JSON, Password-Hashing (Blowfish, Argon2, kdf etc.), HTTP-Client, Cryptography, Compression und eine wasm-Lib direkt an Bord hat. Momentan riecht das doch sehr stark nach Web, wobei zumindest aktuell noch ein Webserver mitgebracht werden muss. Oder eine *GI Implementierung.

Naja in den deutschen Medien ist die Sprache erst im laufe der letzten Wochen angekommen. Und sie sind auch noch ne Weile von der 1.0 entfernt. Mal sehen wo das hinführt.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Benutzeravatar
dige
Beiträge: 1239
Registriert: 08.09.2004 08:53

Re: ZigLang - Wo kommt denn das nun wieder her?

Beitrag von dige »

@ToraX: halte uns gern hier auf dem Laufenden. Insbesondere wegen der altbackenen PB-GUI Optik, bin ich an Alternativen / Ergänzungen sehr interessiert.
"Papa, ich laufe schneller - dann ist es nicht so weit."
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: ZigLang - Wo kommt denn das nun wieder her?

Beitrag von TroaX »

@dige
TroaX ... nicht ToraX :D

Es wird keine GUI direkt von Zig geben. Zig ist eine weitere Alternative für C. Und meines Wissens nach liefert C auch keine eigene UI-Bibliothek aus. Wie auch bei allen modernen oder auch alten Vertretern kommt die GUI meist mit externen Bibliotheken daher.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: ZigLang - Wo kommt denn das nun wieder her?

Beitrag von mk-soft »

dige hat geschrieben: 28.04.2023 09:46 @ToraX: halte uns gern hier auf dem Laufenden. Insbesondere wegen der altbackenen PB-GUI Optik, bin ich an Alternativen / Ergänzungen sehr interessiert.
Ich finde altbackend gut (also bin ich alt).

Mit der nächsten PB-Version funktioniert auch der FormDesigner besser (PB hat eine GUI ;))
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Antworten