3 Punkte von GN⁺ 2024-09-23 | 1 Kommentare | Auf WhatsApp teilen
  • Nach 12 Jahren Entwicklung und praktischem Einsatz wurde Hy 1.0.0 veröffentlicht
  • Hy ist ein in Python eingebetteter Lisp-Dialekt
    • eine multiparadigmatische Allzweck-Programmiersprache aus der Lisp-Familie
    • als alternative Syntax für Python implementiert
    • bietet im Vergleich zu Python verschiedene neue Funktionen, Verallgemeinerungen und Syntaxvereinfachungen
    • bietet im Vergleich zu anderen Lisp-Sprachen direkten Zugriff auf die eingebauten Funktionen von Python und auf Python-Bibliotheken von Drittanbietern
    • erlaubt die freie Mischung von imperativem, funktionalem und objektorientiertem Programmierstil

Meinung von GN⁺

  • Hy ist eine interessante Programmiersprache, die die Vorteile von Python und Lisp kombiniert. Sie nutzt das reichhaltige Ökosystem und die Bibliotheken von Python und bietet zugleich die starken Funktionen und die Flexibilität von Lisp, was die Produktivität von Entwicklern steigern kann.
  • Da Hy jedoch noch keine weit verbreitete Sprache ist, könnten Lernmaterialien und Community-Support begrenzt sein. Außerdem ist Vorsicht geboten, da Kompatibilitätsprobleme mit bestehendem Python-Code auftreten können.
  • Andere Sprachen mit einem ähnlichen Konzept wie Hy sind unter anderem Clojure und Racket. Als Sprachen aus der Lisp-Familie bieten sie Funktionen wie funktionale Programmierung und Makros und laufen auf der JVM oder auf ihrer eigenen Runtime.

1 Kommentare

 
GN⁺ 2024-09-23
Hacker-News-Kommentare
  • Es fiel schwer zu verstehen, wie Hy nach Python übersetzt wird

    • Hy ist ein Dialekt der Programmiersprache Lisp und übersetzt S-Ausdrücke in den abstrakten Syntaxbaum (AST) von Python
    • Im Github-Code wurde bestätigt, dass dieser Compiler in Python geschrieben ist
    • Statt Hy als „in Python eingebetteten Lisp-Dialekt“ vorzustellen, wäre es wohl klarer, es als „Lisp-Dialekt, der in den AST von Python kompiliert“ zu beschreiben
    • Es gibt verschiedene Möglichkeiten, Lisp in Python einzubetten, und jede ist sehr unterschiedlich und bringt unterschiedliche Trade-offs mit sich
    • Man kann zum Beispiel einen Interpreter in C schreiben, in Python-Bytecode kompilieren oder direkt in Python-Quellcode übersetzen
    • So oder so ist es ein interessantes Projekt
  • Der HYPE POST hat mir sehr gefallen

    • Funktioniert hervorragend bei der Arbeit mit Unternehmenssoftware
  • Es überrascht mich, wie weit sich Hy von den Anfangstagen bis heute entwickelt hat

    • Ich habe auf der PyCon einen Lightning Talk gesehen, in dem Hy zum ersten Mal vorgestellt wurde
    • Ich habe Paul kennengelernt und angefangen, zu frühen Versionen von Hy beizutragen
    • Ich war für CL-artige kwargs und einige Bibliotheken zuständig
    • Es freut mich zu sehen, dass das Projekt weiter vorankommt
  • Jetzt kann ich endlich https://github.com/rcarmo/sushy aufräumen

    • Jedes Mal, wenn ich Hy aktualisierte, ging entweder die Syntax kaputt oder Dinge wurden aus dem Paket hyrule verschoben
    • Hy funktioniert gut innerhalb von https://holzschu.github.io/a-Shell_iOS auf dem iPad
    • Das Syntax-Highlighting in vim/neovim muss bei den Releases ab 0.29+ und den asynchronen Features noch aufholen
    • Ich habe Fennel und Guile ausprobiert, aber der Zugriff auf Python-Bibliotheken und das Python-Ökosystem ist besser
    • Mit den asynchronen Features ist eine effiziente API-Verarbeitung möglich
  • Glückwunsch! Ich habe zwei Fragen

    • Unterstützt es REPL-basierte Entwicklung (Condition System, breakloop usw.)
    • Gibt es eine Standalone-Distribution? Python selbst auszuliefern ist umständlich. Ideal wäre es, eine einzelne Hy-Binärdatei mit allen Abhängigkeiten auszuliefern
  • Verwandte Information für Clojure-Fans:

  • Glückwunsch und danke! Ich habe Transformer mit Hy ausprobiert und https://github.com/kunalb/orphism veröffentlicht

    • Es ist wohl Zeit, Hy wieder auszuprobieren
  • Den weniger ernsten Teil habe ich sehr genossen

    • Ich wünschte, mehr programmierbezogene Projekte würden Humor zulassen
    • Das ist vielleicht die beste Art, die Python-Tradition zu ehren
  • Man kann funktionale Programmierkonstrukte bekommen, ohne die Python-Syntax aufzugeben (so wie Hy es tut)

  • Eines der guten Dinge an Raku ist, dass es standardmäßig einen erstaunlichen Lisp-Eindruck vermittelt