Hier sind noch zwei interessante Blogbeiträge zu Go: 1 und 2.
Stefan
Google stellt neue Programmiersprache vor (GO)
So wirklich zusagen tut mir Go nicht. Die Schleifen haben sie ja gründlich versiebt, da wäre ein zusätzliches Python-For + while besser gewesen.
Ein kleines, simples Objektmodell hätte Go wohl auch nicht geschadet. Dazu kommt ich bin ein großer Fan von Operatorüberladung
Ein kleines, simples Objektmodell hätte Go wohl auch nicht geschadet. Dazu kommt ich bin ein großer Fan von Operatorüberladung
Das "for" in C ist ja nur ein Makro für "while". Ein "for(i=0; i< 10; i++)", bei dem man nur den mittleren Teil braucht entspricht dem while. Kann man also auch umdrehen. Ob man nun "for(;i<10;)" oder wie in Go "for i < 10" schreibt, ist doch egal. Und da sie das fehleranfällige "if (c=getc())" durch "if c=getc(); c != 0" ersetzt haben, was für while dann "while c = getc(); c != 0" wäre was "zufällig" genau dem "for" entspricht, ist es doch konsequent, auf das Schlüsselwort "while" zu verzichten.
Go hat ein kleines simples Objektmodell. Zustand kann man in structs halten, Verhalten mit Methoden implementieren.
Und wo kann man Operatoren überladen (oder sonst welche Funktionen)? Im Gegenteil, das Fehlen der Möglichkeit, eigene Datentypen mit "+", "-", usw. zu bearbeiten ist ein berechtigter der Kritikpunkt der Attitüde "ihr dürft nicht, was wir dürfen", die sich leider durch die Sprache zieht.
Stefan
Go hat ein kleines simples Objektmodell. Zustand kann man in structs halten, Verhalten mit Methoden implementieren.
Und wo kann man Operatoren überladen (oder sonst welche Funktionen)? Im Gegenteil, das Fehlen der Möglichkeit, eigene Datentypen mit "+", "-", usw. zu bearbeiten ist ein berechtigter der Kritikpunkt der Attitüde "ihr dürft nicht, was wir dürfen", die sich leider durch die Sprache zieht.
Stefan
Ich persönlich finde "while condition" einfach eingänglicher als "for condition". Sie hätten statt das c-for irgendwie zu verbessern ein for einbauen können, dass über Iteratoren iteriert wie in Python, statt dieses komische range einzubauen, dass sowieso nur bei eingebauten Datentypen funktioniert. Ich zähle ja for ... in ... und yield mit zu den besten Sprachfeatures in Python. Hier hat sich auch jemand mal die Mühe gemacht, das für C(+Blöcke) nachzubasteln.sma hat geschrieben:Das "for" in C ist ja nur ein Makro für "while". Ein "for(i=0; i< 10; i++)", bei dem man nur den mittleren Teil braucht entspricht dem while. Kann man also auch umdrehen. Ob man nun "for(;i<10;)" oder wie in Go "for i < 10" schreibt, ist doch egal. Und da sie das fehleranfällige "if (c=getc())" durch "if c=getc(); c != 0" ersetzt haben, was für while dann "while c = getc(); c != 0" wäre was "zufällig" genau dem "for" entspricht, ist es doch konsequent, auf das Schlüsselwort "while" zu verzichten.
Mit den Interfaces hätten sie ja die Möglichkeit ein generisches Iteratorprotokoll zu implementieren(wobei das glaube ich so einfach auch nicht möglich ist, da Go keine Typinferenz bietet).
Hmm ich glaube diese Interfaces könnten etwas sein, was ganz bauchbar ist.Go hat ein kleines simples Objektmodell. Zustand kann man in structs halten, Verhalten mit Methoden implementieren.
Kann man nicht, das war ja auch mein Kritikpunkt, war bloß etwas in Eile deswegen war das so knapp. Ich finde Go ist nichts ganzen und nichts halbes, es hat einige nette Ansätze aber geht imo nicht weit genug, um eine Alternative zu C/C++ zu sein.Und wo kann man Operatoren überladen (oder sonst welche Funktionen)? Im Gegenteil, das Fehlen der Möglichkeit, eigene Datentypen mit "+", "-", usw. zu bearbeiten ist ein berechtigter der Kritikpunkt der Attitüde "ihr dürft nicht, was wir dürfen", die sich leider durch die Sprache zieht.