Javascript bietet zwar wirklich coole Konzepte. Vieles geht flexibler und eleganter als in C/C++ oder Java. Aber wenn man sich nicht auskennt oder nicht sauber vorgeht, ensteht ebensoschnell ein grausames Machwerk. Und bei den Programmierern, die teilweise herumlaufen, wäre es nur allzuoft wünschenswert, wenn sie von ihrer Programmiersprache etwas mehr an die Leine genommen würden.
Benutzer wird von Ihnen ignoriert. Anzeigen
Ich weiß jetzt nicht was eleganter sein soll, außer das man manche Dinge einfacher lösen kann da man dynamische Typisierung hat....
Ansonsten sehe ich nicht viel Vorteile bei Javascript bis darauf das es wohl leicht wirkt für einen Anfänger.
Wobei man auch schnell auf seltsame Dinge stößt..
siehe:
http://wtfjs.com/
Benutzer wird von Ihnen ignoriert. Anzeigen
Haxx schrieb:
--------------------------------------------------------------------------------
> Ich weiß jetzt nicht was eleganter sein soll, außer das man manche Dinge
> einfacher lösen kann da man dynamische Typisierung hat....
Javascript ist ja nicht nur dynamische typisierung, das hat ja noch einiges mehr zu bieten.
>
> Ansonsten sehe ich nicht viel Vorteile bei Javascript bis darauf das es
> wohl leicht wirkt für einen Anfänger.
Ja das mit dem wirken kommt hin.
>
> Wobei man auch schnell auf seltsame Dinge stößt..
> siehe:
> wtfjs.com
Du sprichst es ja selbst an ;-).
Whatever you do, do it with: 5 + (sqrt(1-x^2(y-abs(x))^2))cos(30((1-x^2-(y-abs(x))^2))), x is from -1 to 1, y is from -1 to 1.5, z is from -100 to 4.5
Benutzer wird von Ihnen ignoriert. Anzeigen
Ich halte JS gerade, aber nicht nur für Anfänger, für sehr gefährlich.
Es gibt im einfach zu viele Anleitungen, die zeigen, wie man es falsch macht, statt wie man es richtig macht. Dazu kommt noch die Java-artige Syntax, die viele falsche Eindrücke entstehen lässt.
Auf der anderen Seite ist JS eine wirklich schöne Sprache wenn man sie einmal verstanden hat.
Python wäre evtl doch wünschenswerter gewesen, einfach weil es den Programmierer mehr an die Leine nimmt.
Benutzer wird von Ihnen ignoriert. Anzeigen
Fest steht jedoch, Javascript ist die Sprache der seichten Programmierung. Kann man doof finden, sich dagegen wehren, aber letztlich ist jeder Widerstand zwecklos. Es entscheiden kaum abstrakten Qualitäten, sondern vor allem die Verbreitung und die pure Anzahl der Entwickler. In beiden Feldern ist Javascript bei den Oberflächen jeder Alternative um Größenordnungen voraus.
Benutzer wird von Ihnen ignoriert. Anzeigen
DrWatson schrieb:
--------------------------------------------------------------------------------
> Python wäre evtl doch wünschenswerter gewesen, einfach weil es den
> Programmierer mehr an die Leine nimmt.
Den Artikel gelesen? Python wird auch weiterhin unterstützt. Man will nur zusätzlich die Entwickler da abholen wo sie gerade am meisten Zuwachs erzielen und das ist nun einmal in der auf JavaScript basierenden Webentwicklung.
Benutzer wird von Ihnen ignoriert. Anzeigen
Ja, ich habe den Artikel gelesen, was aber nichts an meiner Meinung ändert.
Die Gnome Leute haben natürlich ihre Gründe (http://treitter.livejournal.com/14871.html) Javascript zu unterstützen, die Konzepte von JS gefallen mir eigentlich sehr gut, auch ist JS relativ Ressourcenschonend, was für Mobil/Desktopanwedungen schon wichtig ist. Die Sprache selbst verleitet allerdings zu unschönen Dingen und in dem Sinne hätte mir Python dann doch besser gefallen …und ja, ich weiß dass C, C#, C++, Vala, Python und was auch immer weiterhin unterstützt werden.
Benutzer wird von Ihnen ignoriert. Anzeigen
Ich bin schon viel zu oft zufällig auf welche gestoßen. Das ist jedes Mal blöd, denn der Code ist an sich korrekt, weswegen sich kein Bug finden lässt und das Programm läuft fehlerfrei bis zu einer eigentlich ganz normalen Zeile, die man schon mehrmals überprüft hat und die keinen Fehler aufweist. Dann darf man erst mal herausfinden, woran genau es hakt.
Mein letzter war, in C# zur Berechnung eines Modulos den Rückgabewert einer Methode zu verwenden. Den Rückgabewert eine Zeile vorher in eine unsinnige Variable zu speichern und den Methodenaufruf durch den Variablennamen zu ersetzen, löste das Problem. -.-
Benutzer wird von Ihnen ignoriert. Anzeigen
Sie werden JS aber bevorzugen, die Frage ist ob die Python Bindings die nötige Zuwendung bekommen.
Wahrung der Menschenrechte oder Freie fahrt am Wochenende.
-- Georg Schramm
Benutzer wird von Ihnen ignoriert. Anzeigen
Du findest Python besser, andere die z.B. gerade mit Node.js arbeiten finden JS bzw. vielleicht CoffeeScript besser. Das ist ein Stück weit persönlicher Geschmack. Mist programmieren den kein Mensch mehr sinnvoll nachvollziehen kann, das kann man in jeder Programmiersprache. Das werden dir die Leute an meiner Uni, welche sich mit Programmen in allen möglichen Sprachen beschäftigen müssen, gerne bestätigen. Da bringt es nichts zu verteufeln. Lieber konstruktiv dafür werben wie man es besser und richtig machen kann. Wenn du schlechte Tutorials für JS kennst dann erkläre warum sie schlecht sind und verweise aus bessere. Ich verweise z.B. gern auf die Codecademy.
Benutzer wird von Ihnen ignoriert. Anzeigen
max2 schrieb:
--------------------------------------------------------------------------------
> Javascript bietet zwar wirklich coole Konzepte.
Javascript hat ein Konzept? Deiner Meinung nach sogar mehrere? Na weiß nicht... :)
> Vieles geht flexibler und
> eleganter als in C/C++ oder Java.
Flexibel? Elegant? Ich würde es teilweise eher als planloses Gefrickel bezeichnen. ^^
> Aber wenn man sich nicht auskennt oder
> nicht sauber vorgeht, ensteht ebensoschnell ein grausames Machwerk. Und bei
> den Programmierern, die teilweise herumlaufen, wäre es nur allzuoft
> wünschenswert, wenn sie von ihrer Programmiersprache etwas mehr an die
> Leine genommen würden.
Der große Scheiß an Interpretersprachen ist fehlende Vorabprüfung. Total behindert, wenn ein Tipfehler erst zur Laufzeit Probleme machen kann.
Benutzer wird von Ihnen ignoriert. Anzeigen
fratze123 schrieb:
--------------------------------------------------------------------------------
> Der große Scheiß an Interpretersprachen ist fehlende Vorabprüfung. Total
> behindert, wenn ein Tipfehler erst zur Laufzeit Probleme machen kann.
So wirklich konstruktiv kannst du nicht, oder? Was soll das denn heißen, dass der Fehler "erst zur Laufzeit Probleme machen" könne? Das ist doch gerade der Vorteil von Interpretersprachen, dass man sie einfach so mal eben ausführen kann und eben nicht erst die Kompilierung abwarten bis man die Ausgabe testen kann. Sehe da dann nicht den großen Unterschied ob mir dann nun der Debugger zur Laufzeit oder beim Kompilieren den Fehler anzeigt. Klar die Debugger könnten besser sein, aber das zählt sowohl für Laufzeitumgebungen von Interpretersprachen als auch Compiler. Aber wozu konstruktiv auch offen für andere Konzepte sein, wenn man stumpf nur einfach abmotzen kann, was? Aber was genau hat dir das jetzt gebracht? Und was soll es anderen bringen?
Benutzer wird von Ihnen ignoriert. Anzeigen
Das Problem mit Programmiersprachen, die erst zur Laufzeit die Fehler zeigen, ist, dass man erst mal alle möglichen Programmzweige durchtesten muss, bis man alle noch so trivialen Tippfehler findet. Wenn man tonnenweise Unit-Tests schreiben muss, nur um doofe Vertipper zu finden, dann geht einigesvon der gewonnenen Produktivität wieder verloren.
In diesem Zusammenhang ist zu bemerken, dass Groovy, eine zu JavaScript relativ ähnliche Sprache, in der neuen Version 2 ein Feature zur statischen Typprüfung erhalten hat; ein Feature, dass langjährige Groovy-Programmierer wie wir schonsehnsüchtig erwartet haben.
CrasherAtWeb schrieb:
--------------------------------------------------------------------------------
> So wirklich konstruktiv kannst du nicht, oder? Was soll das denn heißen,
> dass der Fehler "erst zur Laufzeit Probleme machen" könne? Das ist doch
> gerade der Vorteil von Interpretersprachen, dass man sie einfach so mal
> eben ausführen kann und eben nicht erst die Kompilierung abwarten bis man
> die Ausgabe testen kann. Sehe da dann nicht den großen Unterschied ob mir
> dann nun der Debugger zur Laufzeit oder beim Kompilieren den Fehler
> anzeigt. Klar die Debugger könnten besser sein, aber das zählt sowohl für
> Laufzeitumgebungen von Interpretersprachen als auch Compiler. Aber wozu
> konstruktiv auch offen für andere Konzepte sein, wenn man stumpf nur
> einfach abmotzen kann, was? Aber was genau hat dir das jetzt gebracht? Und
> was soll es anderen bringen?
Benutzer wird von Ihnen ignoriert. Anzeigen
Otto d.O. schrieb:
--------------------------------------------------------------------------------
> Das Problem mit Programmiersprachen, die erst zur Laufzeit die Fehler
> zeigen, ist, dass man erst mal alle möglichen Programmzweige durchtesten
> muss, bis man alle noch so trivialen Tippfehler findet. Wenn man
> tonnenweise Unit-Tests schreiben muss, nur um doofe Vertipper zu finden,
> dann geht einigesvon der gewonnenen Produktivität wieder verloren.
Ich frag mich ernsthaft was du da für komplizierte Konstrukte zusammen hackst. Mit nem ordentlichen Debugger nebenbei laufend, hatte ich noch nie Probleme etwas derartiges relativ schnell zu finden. Die ist schon klar, dass wir hier von kleinen Frontend-Apps und nicht sonstwas für monolithischen Systemprogrammen reden, oder?
Benutzer wird von Ihnen ignoriert. Anzeigen
1. Javascript ist in modernen Browsern nicht mehr interpretiert.
2. Das es in Javascript keine Typen basierende Fehlererkennung gibt... liegt daran das es keine typisierung gibt. Bsw. Dart wird auch direkt aus sourcode in einer VM ausgeführt und dort hat man eine typenprüfung (bzw. sie ist optional aktivierbar). Man kann durch aus einen Schritt weiter gehen und schon bei der kompilierung Fehler anzeigen.
Benutzer wird von Ihnen ignoriert. Anzeigen
Es gibt keine Python-bindings mehr... nur noch diesen gi.repositry Mist! Damit ist ein großer Vorteil von Python, inline-Dokumentation, für GTK und Co gestorben. :-( Außerdem fühlt sich das ganze immer ein bisschen wie ein Fremdkörper an (z.B. wegen den mit PEP 8 inkonsistente Namensschreibweisen). Aber vermutlich war die Einführung von gi eh nur dafür da um schnell an (schlechte) Bindings für JavaScript zu kommen...
Benutzer wird von Ihnen ignoriert. Anzeigen
Kannst du das ganze mal genauer erklären?
Wahrung der Menschenrechte oder Freie fahrt am Wochenende.
-- Georg Schramm
Benutzer wird von Ihnen ignoriert. Anzeigen
Kommentare: 551 | letzter Beitrag 08:05 Uhr
Kommentare: 545 | letzter Beitrag 08:28 Uhr
Kommentare: 249 | letzter Beitrag 06:35 Uhr
Kommentare: 212 | letzter Beitrag 22.05. 15:01
Kommentare: 170 | letzter Beitrag 08:02 Uhr
E-Mail an news@golem.de

Über 3.000 Telefonzellen stattet Ruckus Wireless als kostenlose WLAN-Hotspots aus. Das maximale tägliche Datenübertragungsvolumen liegt pro Nutzer bei 1 GByte.

Die Festplatte "Video 3.5 HDD" von Seagate gibt es nun auch mit 4 TByte Kapazität. Im Unterschied zu den Desktop-Laufwerken sind die Video-HDDs auch für den Dauerbetrieb freigegeben.

Schon länger arbeitet das Entwicklerstudio Stompy Bot an einer Neuauflage von Heavy Gear als Computerspiel. Jetzt kann die Community das Projekt unterstützen: Via Kickstarter sollen mindestens 800.000 US-Dollar zusammenkommen.

Nach der Veröffentlichung von Version 4.11 wollen sich die Entwickler der KDE Plasma Workspaces ganz auf den Wechsel zu Qt5 und den KDE Frameworks 5 konzentrieren. Der 4er Zweig soll für mindestens zwei Jahre Support erhalten.

Mit der neuen Version von Google Chrome können Anwender nicht nur per Mikrofon Suchanfragen bei Google starten, sondern erhalten auch eine gesprochene Antwort. Sogar Anschlussfragen beantwortet die Suchmaschine.

Tastaturen werden an das iPad normalerweise schnurlos per Bluetooth angebunden. Doch Logitech hat nun ein Modell vorgestellt, das per Lightning-Kabel oder 30-Pin-Adapter mit dem Tablet verbunden wird. Es ist besonders für die Anforderungen von Schulen konstruiert worden.