Kann eine einzelne einfache Sprache wie Clojure HTML + JavaScript + CSS + Flash + Java Applets ersetzen? [geschlossen]

8

Bitte lehnen Sie die Idee nicht sofort ab. Ich weiß, dass es schwierig ist, mit einem Mainstream-Ansatz zu konkurrieren, der (meistens) bereits funktioniert, daher ist meine Frage teilweise "akademisch".

Mir ist auch bewusst, dass ClojureScript existiert und sehr cool ist, aber es ist ein Patch auf eine vorhandene hässliche Sache, eine nützliche Abstraktion.

Haftungsausschluss: Ich bin Programmierer, aber kein Webentwickler. Deshalb bitte ich andere um Feedback. Als Entwickler, der jeden Tag das Web nutzt, sich über verschiedene Themen informiert und von Zeit zu Zeit die HTML-Quelle einer Seite anzeigt, habe ich eine Vorstellung von der Webentwicklung.

Wie auch immer, die Probleme, wie ich sie sehe:

  • Das Web begann schnell und schmutzig und noob-freundlich, aber jetzt sind viele Fähigkeiten erforderlich, um eine gute moderne interaktive Webseite zu erstellen, und man muss nur gut darin sein, um heute wettbewerbsfähig zu sein. Dies bedeutet oft, dass schnelles und schmutziges "Web in 21 Tagen lernen" es einfach überhaupt nicht schneidet.
  • HTML begann schnell und schmutzig als noob-freundliches Protokoll. Es ist derzeit ein Chaos.
  • Die JavaScript-Sprache ist nicht ohne Mängel, aber in Ordnung.
  • CSS scheint ein anständiger Versuch zu sein, Dinge aufzuräumen. Es lohnt sich, zumindest die Idee beizubehalten, dass Sie das Erscheinungsbild in einer separaten Datei gestalten können.
  • Alles zusammen - JavaScript + Html + CSS wird ziemlich schmutzig. Es gab gute Ideen / Tools, die das Problem mindern, wie zum Beispiel: AJAX-Bibliotheken abstrahieren die spezifischen Varianten des JavaScript. Leistungsstarke Bibliotheken wie JQuery, Node.js usw. ermöglichen es, coole Dinge in JavaScript so unvollkommen wie möglich zu machen. Google Web Kit übersetzt ein GUI-Design sehr gut in eine Webseite. Web MVC - Frameworks wie ASP.Net, RoR, Django abstrakte Dinge weg und für Sie tun viel Beinarbeit, JEDOCH , das sind alles Abstraktionen auf einem crappy Basis.
  • Die Nachfrage nach dem, was das Web heute leisten kann, steigt ständig. Das ChromeBook von Google ist eine Manifestation davon. Sie führen einen Browser im Vollbildmodus aus und alles, was Sie tun möchten - Tastatur / Maus-Interaktionen, Ton, Video, Spiele, Text, Bilder, PowerPoint-Präsentationen - alles geschieht in ihm. Vielen Dank für die schnellen Browser und schnellen Computer und "die Cloud", aber es könnte viel besser sein!

Aus grafischer Sicht ist ein Browser nur eine rechteckige Leinwand, auf die Sie alles malen können. Derzeit wiegt die ausführbare Browser-Datei viele Megabyte, da sie wissen muss, wie man HTML, JavaScript, CSS analysiert und alles anzeigt.

Wenn Sie bei Null anfangen und feststellen, dass es sich so ziemlich nur um eine Leinwand handelt, die gemalt werden muss, kann der Browser meiner Meinung nach viel kleiner und einfacher sein. Der Preis ist, ein gültiges Programm für alles in einer funky Syntax wie Lisp oder Clojure zu schreiben, selbst für die einfachsten Dinge wie das Anzeigen eines Etiketts. Das war früher der coole Teil des HTML-Codes - wenn Sie nur den Absatz eingeben möchten, geben Sie ihn wörtlich ein. Das passiert selten mehr. Wenn Sie nur den Textabschnitt eingeben möchten, müssen Sie immer noch über Inline- oder CSS-Stil und Platzierung nachdenken. Das folgende Stück HTML (auf der Titelseite dieser Website zu finden)

<a href="/software/tagged/programming-languages" class="post-tag" title="show questions tagged 'programming-languages'" rel="tag">programming-languages</a> <a href="/software/tagged/learning" class="post-tag" title="show questions tagged 'learning'" rel="tag">learning</a>

ist nicht viel einfacher zu erstellen als eine alternative Lispy-Syntax (und ich habe nicht so viel darüber nachgedacht):

(create-link :target "/questions/tagged/programming-languages" :class "post-tag" :title "show questions tagged 'programming-languages'" :rel "tag" :content (text "programming-languages"))

Dies ist möglicherweise keine gültige Clojure-Syntax. Ich habe es irgendwie erfunden. Es muss nicht versucht werden, HTML nachzuahmen - tatsächlich ist dies der Punkt, an dem man von vorne anfangen muss. Der große Vorteil hier wäre, dass (text ...)und (create-link ...)ist nicht Teil der Kernsprache , dass ein Browser verstehen würde. Der Browser müsste nur eine "sichere" Clojure verstehen (eine, die Ihre Festplatte nicht sauber wischen kann) und in der Lage sein, Musik zu zeichnen und abzuspielen und Tastatur und Maus und ähnliche Dinge sowie alles andere zu hören - Text zeichnen, ein Video abspielen Das Anzeigen eines Kombinationsfelds und die Interaktion damit würde in einer sorgfältig gestalteten Bibliothek erfolgen.

Warum habe ich mich für Clojure entschieden? Es ist eine winzige Sprache, die viel leisten kann, und die Philosophie, komplizierte Programme aus einfachen Bausteinen zu erstellen, ist sehr attraktiv.

Ich denke, dass die Unterstützung einer einzigen leistungsstarken Sprache wie Clojure ausreichen würde, um alles zu erreichen, was Html und Html5 sowie CSS und JavaScripts sowie Silverlight und Flash leisten können.

Eine tangentiale Diskussion - ich denke, dasselbe gilt für LaTeX - könnte mit Clojure als zugrunde liegender Sprache wiederholt werden, und eine Quelldatei wäre ein vollwertiges Programm, das während der Ausführung ein PDF oder ein ps ausspuckt.

Ich verstehe, dass es SEHR SCHWER ist, von vorne zu beginnen, da ein moderner Browser viele, viele nützliche Funktionen hat. Mit einer sauberen Basis zu beginnen, kann sich jedoch auszahlen.

Was denkst du über diese verrückte Idee? Mir ist klar, dass die Antworten aufgrund der Art dieser Frage wahrscheinlich subjektiv wären, aber ich bin immer noch neugierig, was Sie davon halten.

Job
quelle
2
Theoretisch kann man HTML durch viele Dinge ersetzen, aber ich sehe nicht ein, wie man möglicherweise hoffen könnte (und das ist das richtige Wort), alle anderen dazu zu zwingen, sich um seinen eigenen Standard zu kümmern.
K.Steff
2
Compojure macht einige der von Ihnen beschriebenen Aufgaben . Natürlich spricht es "Browser", genau wie alle anderen Web-Frameworks.
Robert Harvey
1
@Martin, Microsoft hat WPF von Grund auf neu gestartet. Es hat nicht so viel abgenommen, wie manche gehofft hätten, weil es zu kompliziert ist, aber so etwas wie WPF hätte HTML ersetzen können. Es hat nicht. Außerdem hat Apple den Thunderbolt-Standard herausgebracht, den sie von vorne begonnen haben und der leben wird. Wenn die Idee großartig ist, gebraucht wird und einen anständigen Schub hinter sich hat, kann sie erfolgreich sein. Dies ist bei meinem Vorschlag wahrscheinlich nicht der Fall, aber ich denke, dass die Nachfrage nach sehr schnellen Browsern immer größer wird.
Job
1
Ich bin mir nicht sicher, wie ich zu diesem Beitrag gekommen
bin,

Antworten:

9

Browser haben eine Sache vor sich, die alle anderen Überlegungen ziemlich überfordert.

Marktanteil.

Kurz gesagt, Sie müssen sie nicht installieren. Sie befinden sich bereits auf dem Computer des Benutzers. Unterschätzen Sie diesen einzigartigen Vorteil nicht.

Mit HTML5 ist es viel besser geworden. Sie können so ziemlich einen Rich Client darin schreiben, wenn Sie möchten, und es gibt viele Frameworks , die diesen Prozess vereinfachen.

Wenn Ihnen die Muttersprachen des Browsers nicht gefallen, können Sie sie mit Dingen wie CoffeeScript und Less bereinigen. Javascript ist sowieso die neue Maschinensprache. Das ist es, was Dinge wie ClojureScript zum Funktionieren bringt.

Es gibt eine Reihe von Tools wie Websharper , die die Webentwicklung in einer einzigen Sprache ermöglichen.

Robert Harvey
quelle