Abo
  1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Software-Entwickler…

Golang [KWT]

  1. Thema
  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


  1. Golang [KWT]

    Autor: eeg 25.09.18 - 15:59

    kwt

  2. Re: Golang [KWT]

    Autor: pythoneer 25.09.18 - 19:49

  3. Re: Golang [KWT]

    Autor: Hello_World 25.09.18 - 20:09

    Go? War das nicht diese Sprache, die es seit Jahren nicht geschissen kriegt, so grundlegende Features wie Sum Types und Generics einzubauen, die es in ML seit 1972 gibt?

    Eine statisch typisierte Sprache, die im Jahr 2018 keine Generics kann, ist schlicht und einfach Bastelscheiß, dafür gibt's heute einfach keine Entschuldigung mehr.

  4. Re: Golang [KWT]

    Autor: TheMasterMaind 25.09.18 - 20:39

    Hello_World schrieb:
    --------------------------------------------------------------------------------
    > Go? War das nicht diese Sprache, die es seit Jahren nicht geschissen
    > kriegt, so grundlegende Features wie Sum Types und Generics einzubauen, die
    > es in ML seit 1972 gibt?
    >
    > Eine statisch typisierte Sprache, die im Jahr 2018 keine Generics kann, ist
    > schlicht und einfach Bastelscheiß, dafür gibt's heute einfach keine
    > Entschuldigung mehr.

    Hä? Seit wann braucht eine Sprache zwingend Generics um kein "Bastelscheiß" zu sein? Siehe auch https://appliedgo.net/generics/

    Oder wie war das noch mit den Generics in Java? https://stackoverflow.com/questions/520527/why-do-some-claim-that-javas-implementation-of-generics-is-bad



    1 mal bearbeitet, zuletzt am 25.09.18 20:40 durch TheMasterMaind.

  5. Re: Golang [KWT]

    Autor: Hello_World 25.09.18 - 21:16

    TheMasterMaind schrieb:
    --------------------------------------------------------------------------------
    > Hä? Seit wann braucht eine Sprache zwingend Generics um kein "Bastelscheiß"
    > zu sein?
    Seit jede ernstzunehmende statisch typisierte Sprache dieses Feature beherrscht: C#, Java, OCaml, Typescript, Rust, Swift, Scala, Kotlin, sogar VB.NET und Delphi!

    > Siehe auch https://appliedgo.net/generics/
    Ehrlich gesagt interessiert es mich wenig, mit welchen Ausreden die Go-Community sich das schönredet. Vor allem dann nicht, wenn sie mit Ratschlägen wie „2. Consider copy & paste“ daherkommen. Ja, es gibt tradeoffs. Nein, das ist keine valide Begründung, in dem Bereich überhaupt nichts zu tun.

    > Oder wie war das noch mit den Generics in Java? stackoverflow.com
    Den wesentlichen Punkt dort hast Du leider übersehen: „It's better than nothing!“.

  6. Re: Golang [KWT]

    Autor: eeg 26.09.18 - 10:51

    Deswegen gibt es auch so viel Software in Go?

    Cloudflare API
    Hetzner Cloud API
    Caddy
    Gitea

    etc.: https://github.com/avelino/awesome-go#server-applications

  7. Re: Golang [KWT]

    Autor: Yo 26.09.18 - 11:26

    Ich entwickle seit Jahren mit Go und ich sehe überhaupt keinen Grund warum es Generics braucht. Und nur weil viele anderen dies anbieten heisst es ja noch lange nicht das es gut sein muss. Nein, das Konzept hinter Go gefällt mir und inzwischen hab ich von Microservices bis hin zu Services für IoT Devices oder den Raspi schon vieles in Go programmiert und die Performance überzeugt.

    Letztendlich entscheidend war für mich, dass es ein geniales Ökosystem an Packages rund um die Standard-Libs um Go gibt und die Entwicklergemeinde toll ist. Natürlich hätte ich einige meiner Projekte auch in einer anderen Sprache entwickeln können, aber die Begeisterung von Go führte eher zum Gegenteil - viele Anwendungen/Services hab ich von Perl oder Phyton zu Go portiert.

  8. Re: Golang [KWT]

    Autor: 0110101111010001 26.09.18 - 12:40

    deswegen gibt es auch so wenige Codegeneratoren für golang :D

    Ich habe ne weile mit golang entwickelt - man findet einen Weg drum herum, aber die Lösungen sind meist alles andere als optimal.
    Sonst ist golang schon eine schöne (einfache!) Sprache, aber keine Generics zu verwenden ist der größte Fehler, der mit der Sprache gemacht worden ist.

  9. Re: Golang [KWT]

    Autor: Hello_World 26.09.18 - 13:59

    Yo schrieb:
    --------------------------------------------------------------------------------
    > Ich entwickle seit Jahren mit Go und ich sehe überhaupt keinen Grund warum
    > es Generics braucht.
    Das sagt mehr über dich aus als über Generics oder Go. Code, der für verschiedene Typen funktioniert, ist Alltag für quasi jeden Entwickler, und wenn keine Generics zur Verfügung stehen, resultiert das nahezu zwangsläufig in Code, der nicht typsicher oder dupliziert ist.

    > Und nur weil viele anderen dies anbieten heisst es ja
    > noch lange nicht das es gut sein muss.
    Nein, es ist nicht gut, weil andere es anbieten, sondern weil es Bugs verhindert, den Code wartbarer macht und Code-Wiederverwendung ermöglicht. Und der Rest der Welt hat das eben erkannt, während die Go-Entwickler offenbar einfach zu verbohrt sind.

  10. Re: Golang [KWT]

    Autor: Hello_World 26.09.18 - 14:07

    eeg schrieb:
    --------------------------------------------------------------------------------
    > Deswegen gibt es auch so viel Software in Go?
    Ja, damit hast Du bewiesen, dass man auch mit veralteten, schlecht designten Programmiersprachen brauchbare Software entwickeln kann. So what? Das wusste jeder, der jemals C- oder PHP-Software eingesetzt hat. Davon wird die Sprache aber nicht besser.

  11. Re: Golang [KWT]

    Autor: GodsBoss 26.09.18 - 18:23

    > > Siehe auch appliedgo.net
    > Ehrlich gesagt interessiert es mich wenig, mit welchen Ausreden die
    > Go-Community sich das schönredet. Vor allem dann nicht, wenn sie mit
    > Ratschlägen wie „2. Consider copy & paste“ daherkommen. Ja, es
    > gibt tradeoffs. Nein, das ist keine valide Begründung, in dem Bereich
    > überhaupt nichts zu tun.

    Zumindest für Go 2 gibt es ja intensive Diskussionen und diverse Vorschläge, ob und wie sich Generics umsetzen lassen, es wird also de facto was getan, ich halte das Fehlen ebenfalls für einen eklatanten Mangel.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  12. Re: Golang [KWT]

    Autor: GodsBoss 26.09.18 - 18:40

    > Ich entwickle seit Jahren mit Go und ich sehe überhaupt keinen Grund warum
    > es Generics braucht. Und nur weil viele anderen dies anbieten heisst es ja
    > noch lange nicht das es gut sein muss.

    Das ist ja seltsam, immerhin findet man schon in der Standardbibliothek Beispiele, wo Generics offensichtlich fehlten. So sind sync#Map und sync#Pool nicht typsicher. sort#Slice, sort#SliceIsSorted und sort#SliceStable ebenso nicht.

    Ich will nicht wissen, wie oft ich schon sort.Interface auf eigenen Slice-Typen implementiert habe mit den gleichen Len()- und Swap()- Methoden, wo sich immer nur der Typ unterschied.

    "Brauchen" im Sinne von "Die Sprache braucht das, sonst kann ich Business-Anforderung XYZ nicht umetzen" ist das nicht, aber wenn man nur das betrachtet, unterscheiden sich sehr viele Sprachen nicht voneinander, da man nunmal das meiste in ihnen bauen. Es geht viel mehr um Entwickler-Effizienz, z.B. Vermeidung von Duplikation bei gleichzeitiger Bewahrung von Typsicherheit.

    Und ja, ich stoße regelmäßig auf Situationen, in denen mir Generics das Leben erleichtern würden.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  13. Re: Golang [KWT]

    Autor: 0110101111010001 26.09.18 - 19:22

    GodsBoss schrieb:
    --------------------------------------------------------------------------------
    > Es geht viel mehr um
    > Entwickler-Effizienz, z.B. Vermeidung von Duplikation bei gleichzeitiger
    > Bewahrung von Typsicherheit.

    Gibt doch einige Codegeneratoren, mit denen du dann Typsicherheit und DRY hast ;)

  14. Re: Golang [KWT]

    Autor: Hello_World 26.09.18 - 20:11

    Wenn Du mit einem Codegenerator weitere Features dranfrickelst, ist es aber nicht mehr Go, sondern eine andere Sprache. Und die ist dann vielleicht sogar ein kleines bisschen besser als Go, aber im Vergleich mit dem Rest der Welt halt immer noch Gülle.

  15. Re: Golang [KWT]

    Autor: GodsBoss 26.09.18 - 20:30

    > > Es geht viel mehr um
    > > Entwickler-Effizienz, z.B. Vermeidung von Duplikation bei gleichzeitiger
    > > Bewahrung von Typsicherheit.
    >
    > Gibt doch einige Codegeneratoren, mit denen du dann Typsicherheit und DRY
    > hast ;)

    Ja, Code-Generierung ist eine Möglichkeit, aber das sind dann Nicht-Standardtools, die oft schlechteren IDE-Support haben, außerdem muss ich aus meiner Sprache "ausbrechen", weil ich Kommandozeilentools aufrufen muss und/oder statt des eigentlichen Codes Templates o.ä. schreibe. Wenn man eine generische Library schreibt, zwingt man dann auch noch den Nutzer der Library, den Code-Generator nutzen zu müssen.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  16. Re: Golang [KWT]

    Autor: fuu-bar 26.09.18 - 20:56

    Mir fehlt in diesem Artikel ebenfalls Go. Tools, welche die Software-Entwicklung und -Auslieferung in den letzten Jahren grundlegend verändert haben, sind in Go programmiert. Allen voran natürlich Docker und Kubernetes. Moderne Software in Form von Microservices kommt nicht mehr ohne diese aus. Google stellt für seine Google Cloud Platform großartige Go-Libraries zu Verfügung. Weitere Software in diesem Bereich wie Prometheus zum Monitoring sind ebenfalls in Go geschrieben. Da zudem die Einstiegshürde sehr gering ist, lohnt es sich auf jeden Fall, die Sprache anzuschauen. Unabhängig von allem Flamewar und unabhängig davon was die Sprache nun kann oder nicht kann.

  17. Re: Golang [KWT]

    Autor: 0110101111010001 26.09.18 - 21:01

    oft hat man doch eh ein Makefile -> einfach den generator hinzufügen. Das Template ist einfach ganz normaler Go-Code der generisch gemacht wird (auch via go -> is einfach eine library). Nix wildes

  18. Re: Golang [KWT]

    Autor: BlackSuit 26.09.18 - 21:12

    0110101111010001 schrieb:
    --------------------------------------------------------------------------------
    > GodsBoss schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Es geht viel mehr um
    > > Entwickler-Effizienz, z.B. Vermeidung von Duplikation bei gleichzeitiger
    > > Bewahrung von Typsicherheit.
    >
    > Gibt doch einige Codegeneratoren, mit denen du dann Typsicherheit und DRY
    > hast ;)

    Die Existenz der Generatoren straft jeden Lüge der behauptet Go bräuchte keine Generics. Solche Generatoren sollten Teil des Compilers und nicht irgendwie dran gefrickelt sein. Muss ja nicht gleich wie C++ Templates ausarten. Übrigens ist es immer ein Warnsignal wenn eine Sprache Sachen wie Maps im Sprachkern und nicht in den Bibliotheken unterbringt. Zeigt sofort wie wenig mächtig die Sprache selbst ist, wenn solche elementaren Datencontainer nicht selbst mit eleganten Schnittstellen implementiert werden können. Und erzähle mir keiner, niemand bräuchte mehr als eine Map Implementierung. Das beweist nur, das sich derjenige noch nie über seine Datenstrukturen echte Gedanken gemacht hat.
    Übrigens liefen auch in der Java Community viele rum und haben felsenfest behauptet niemand bräuchte Generics. Bis sie dann mit der etwas inkonsequentem Implementierung kamen und keiner will sie mehr missen. Man kann Go aber durchaus vorwerfen nichts aus der Vergangenheit von Java gelernt zu haben. Eine verpasste Chance, die man in Go2 hoffentlich ausbügelt.

  19. Re: Golang [KWT]

    Autor: Hello_World 26.09.18 - 23:12

    0110101111010001 schrieb:
    --------------------------------------------------------------------------------
    > oft hat man doch eh ein Makefile
    Tatsächlich Makefile?? Go steckt noch tiefer in den 70ern fest als ich dachte. Traurig, das.

  20. Re: Golang [KWT]

    Autor: 0110101111010001 27.09.18 - 00:49

    Jetzt bin ich neugierig - was gibt es denn moderneres Al's Makefiles? (Ehrliche Frage - bin gerne offen für neues)

  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. PHOENIX CONTACT Electronics GmbH, Berlin
  2. Haufe Group, Freiburg
  3. FTS - Future TV Services GmbH, Berlin
  4. Sauer GmbH, Stipshausen

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. (-40%) 23,99€
  2. 2,99€
  3. 20,99€ - Release 07.11.
  4. 46,99€ (Release 19.10.)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Athlon 200GE im Test: Celeron und Pentium abgehängt
Athlon 200GE im Test
Celeron und Pentium abgehängt

Mit dem Athlon 200GE belebt AMD den alten CPU-Markennamen wieder: Der Chip gefällt durch seine Zen-Kerne und die integrierte Vega-Grafikeinheit, die Intel-Konkurrenz hat dem derzeit preislich wenig entgegenzusetzen.
Ein Test von Marc Sauter

  1. AMD Threadripper erhalten dynamischen NUMA-Modus
  2. HP Elitedesk 705 Workstation Edition Minitower mit AMD-CPU startet bei 680 Euro
  3. Ryzen 5 2600H und Ryzen 7 2800H 45-Watt-CPUs mit Vega-Grafik für Laptops sind da

Lichtverschmutzung: Was Philips Hue mit der Tierwelt im Garten macht
Lichtverschmutzung
Was Philips Hue mit der Tierwelt im Garten macht

LEDs für den Garten sind energiesparend und praktisch - für Menschen und manche Fledermäuse. Für viele Tiere haben sie jedoch fatale Auswirkungen. Aber mit einigen Änderungen lässt sich die Gartenbeleuchtung so gestalten, dass sich auch Tiere wohlfühlen.
Ein Bericht von Werner Pluta

  1. Play und Signe Neue farbige Philips-Hue-Leuchten für indirektes Licht
  2. Smart Home Weitere Hue-Leuchten fürs Badezimmer vorgestellt
  3. Badezimmerspiegel Philips Hue kommt ins Bad

Shine 3: Neuer Tolino-Reader bringt mehr Lesekomfort
Shine 3
Neuer Tolino-Reader bringt mehr Lesekomfort

Die Tolino-Allianz bringt das Nachfolgemodell des Shine 2 HD auf den Markt. Das Shine 3 erhält mehr Ausstattungsdetails aus der E-Book-Reader-Oberklasse. Vor allem beim Lesen macht sich das positiv bemerkbar.
Ein Hands on von Ingo Pakalski

  1. E-Book-Reader Update macht Tolino-Geräte unbrauchbar

  1. Random Forest, k-Means, Genetik: Machine Learning anhand von drei Algorithmen erklärt
    Random Forest, k-Means, Genetik
    Machine Learning anhand von drei Algorithmen erklärt

    Maschinenlernen klingt innovativ und hat schier unendlich viele Einsatzzwecke, doch die Funktionsweise verstehen nur wenige. Sie basiert auf komplizierten mathematischen und statistischen Verfahren. Wir erklären sie Nichtmathematikern anhand von drei wichtigen Algorithmen.

  2. MLab: MongoDB kauft für 68 Millionen US-Dollar zu
    MLab
    MongoDB kauft für 68 Millionen US-Dollar zu

    MongoDB kann nach dem erfolgreichen Börsengang einkaufen gehen. MLab wird nun Teil des Unternehmens.

  3. Aus dem Verlag: Making Games Conference 2018 mit Doom und Elex
    Aus dem Verlag
    Making Games Conference 2018 mit Doom und Elex

    Rückblick auf 25 Jahre Doom und Ausblick auf offene Welten von Piranha Bytes (Elex): Auf der Making Games Conference 2018 geben Entwickler einen Blick hinter die Kulisse der Spielebranche. Die Tagung richtet sich an Spielemacher und an Experten im Bereich Animation, Film und VFX.


  1. 12:01

  2. 11:33

  3. 11:31

  4. 11:01

  5. 10:53

  6. 10:15

  7. 09:20

  8. 09:02