HTML/CSS und JavaScript - Wie geht es weiter?

Sithys

Captain Pro
Registriert
Dez. 2010
Beiträge
3.465
Hallo werte Community,
sicher, solche Threads hat es schon viele gegeben, dennoch möchte auch ich mir noch einmal Rat von Euch einholen. Ich schreibe jetzt seit 2 - 3 Jahren Apps für Mobilgeräte und das ausschließlich auf Basis von HTML / CSS und JavaScript. So langsam gelange ich aber an einen Punkt, an welchem mir das nicht mehr genügt. Funktionen rauf und runter, objektorientiertes Arbeiten usw. man eignet sich ja ziemlich viel an über die Zeit. Gerne würde ich meine Kenntnisse aber nun erweitern, nur in welche Richtung es gehen soll, da bin ich mir noch nicht sicher.

Es ist mein persönlicher Anspruch sauberen Code zu schreiben. Auf korrekt eingerückten Code lege ich genau so viel Wert wie auf die Effizienz und aber auch auf die Rechtschreibung. Sicher, man könnte meinen:"Da guckt sowieso nie wieder jemand rein" und dennoch ist es mir persönlich eben wichtig.
Viele Wege führen nach Rom, aber ich habe immer geschaut wie es Leute machen, die seit Jahren nichts anderes tun und wirklich genau wissen, wovon sie sprechen.

Um also nun meine Fähigkeiten auszubauen bin ich auf der Suche nach etwas anderem. Ich könnte eventuell mit PHP weiter machen, allerdings habe ich das mehrfach versucht und mir fehlt schlichtweg das Interesse. Heute habe ich mich kurz damit befasst, wie es weiter gehen könnte und bin auf Perl und Python gestoßen. Eben habe ich mir ein Python E-Book ausgedruckt und werde mir das die nächsten Tage mal zu Gemüte führen... Aber bin ich auf dem richtigen Weg?

Klar, das sollte ich selber wissen, aber ich weiß es eben nicht zu 100%. Womit habt ihr weiter gemacht? Ist Python etwas für mich reinen Web"entwickler"? Gibt es andere Sprachen von denen ihr denken würdet, dass sie viel interessanter sind?

Ich freue mich über jeden Vorschlag und jedes Feedback und bin für jeden Tipp in jede Richtung dankbar! :)

​VG
 
Python PHP usw. wären halt der Schritt weg vom Client hin zu einem Server um dort Daten und Funktionen bereitzustellen. Wäre gewissermaßen der nächste Schritt wenn man komplexere Anwendungen erstellen möchte die nicht nur rein lokal laufen oder fertige Services nutzen. Welche Sprache und Framework dafür am geeignetsten ist... gute Frage ;-)

Python ist recht einsteigerfreundlich aber auch etwas exotisch wenn man einen Hoster finden will... da findet man mit PHP am leichtesten was (dafür find ich persönlich die Sprache nicht so schön, man merkt ihr ihre Bastel-Herkunft einfach immer noch an auch wenn neuere Versionen viel davon schon aufgeräumt haben). Alternativen wären noch C#/.NET (läuft mittlerweile auch auf Linux ;-), Java oder nodeJS (Serverseitiges Javascript, könnte was sein da du die Sprache eh schon kennst)
 
Sithys schrieb:
Klar, das sollte ich selber wissen, aber ich weiß es eben nicht zu 100%. Womit habt ihr weiter gemacht? Ist Python etwas für mich reinen Web"entwickler"? Gibt es andere Sprachen von denen ihr denken würdet, dass sie viel interessanter sind?
Ich würde vielleicht mal etwas in die funktionale Programmierung reingucken. Haskell bietet sich da an. Vor allem weil die Sprache ein relativ guten Compiler hat der auch viele wertwolle Hinweise gibt und ein Typsystem was den Namen verdient.
Selbst wenn man nicht dabei bleibt, lernt man eben ne Menge übers Programmieren im Allgemeinen.

Scheme ist da auch ein Klassiker. Dank Makrosystem kannst Du sogar völlig neue Sprachelemente einführen. Dadurch kann man Scheme, welches eigentlich nicht objektorientiert ist, OOP-Konstrukte beibringen.

Vieles davon kann man auch mit Python machen und Python bietet sicherlich den leichteren Zugang dazu. Allerdings verinnerlicht man ein Programmierparadigma am besten, wenn die Sprache möglichst mit allem was man vorher gemacht hat bricht. Denn sonst verfällt man leicht daran in der neuen Sprache genauso zu programmieren wie man es vorher getan hat, was dann nicht wirklich zielführend ist.

Sithys schrieb:
Eben habe ich mir ein Python E-Book ausgedruckt
Wer, bitteschön, druckt denn eBooks aus?
Das ist ja wie sich ein Fahrrad besorgen und es dann aber nur zu schieben. :-)

Sithys schrieb:
Ich freue mich über jeden Vorschlag und jedes Feedback und bin für jeden Tipp in jede Richtung dankbar! :)
Das werden wir noch sehen. :-)

Gruß
Andy
 
andy_m4 schrieb:
Scheme ist da auch ein Klassiker. Dank Makrosystem kannst Du sogar völlig neue Sprachelemente einführen. Dadurch kann man Scheme, welches eigentlich nicht objektorientiert ist, OOP-Konstrukte beibringen.

Ist hervorragend geeignet wenn man schon immer mal Knoten im Hirn haben wollte ;-) das hatte bei mir ganz schön gedauert bis ich verstanden hab wie das funktioniert... ok, der TE könnte es einfacher haben, Closures kennt er ja schon von JS (das in ein paar Punkten wie eine funtkionale Sprachen arbeitet, an anderen Stellen protoypische Objektorientierung hat, gemixt noch mit herkömmlicher Klassenbasierter... auch sehr gut für "Knoten im Hirn" ;-)

Für die Lösung mathematischer Probleme sind die funktionalen Sprachen aber wirklich sehr gut.
 
Sithys schrieb:
nur in welche Richtung es gehen soll, da bin ich mir noch nicht sicher.


Heute habe ich mich kurz damit befasst, wie es weiter gehen könnte und bin auf Perl und Python gestoßen. Eben habe ich mir ein Python E-Book ausgedruckt und werde mir das die nächsten Tage mal zu Gemüte führen... Aber bin ich auf dem richtigen Weg?

Klar, das sollte ich selber wissen, aber ich weiß es eben nicht zu 100%. Womit habt ihr weiter gemacht? Ist Python etwas für mich reinen Web"entwickler"? Gibt es andere Sprachen von denen ihr denken würdet, dass sie viel interessanter sind?

Das kommt darauf an, ob Du wirklich eine neue Sprache in Bezug auf Webentwicklung erlernen willst. Was genau willst Du denn anstellen? Was interessiert Dich? Letzlich hält jeder das für interessant, was er a) selber kann und b) was seiner Art zu denken entspricht:
main-qimg.jpg

Die interessanteste Sprache, die mir untergekommen ist (neben C/C++, was ich schon so lange mache wie ich denken kann) ist Perl. Das ist wirklich das Bath'let des Programmiers ;) Eine echte Hearausforderung mit der Folge, alles bisher Gedachte etwas überdenken zu müssen. Und speziell die regulären Ausdrücke, die in Perl (und nur in Perl) ein integrales Sprachmerkmal darstellen. Python ist nicht unähnlich, aber weniger elegant (konzeptionell) und etwas schreiblastiger.
 
Jesterfox schrieb:
Ist hervorragend geeignet wenn man schon immer mal Knoten im Hirn haben wollte ;-)
Eigentlich zeichnet sich Scheme gerade dadurch aus, dass es eine sehr einfache Syntax hat.
(funktionsname arg1 arg2 ....)
Es gibt kaum Sonderlocken wie die umständliche Unterscheidung zwischen Statements und Funktionen und ähnlicher Krempel.

Jesterfox schrieb:
das hatte bei mir ganz schön gedauert bis ich verstanden hab wie das funktioniert
Man ist nur versaut durch andere Sprachen. :-)

Jesterfox schrieb:
Für die Lösung mathematischer Probleme sind die funktionalen Sprachen aber wirklich sehr gut.
Oder aber, um möglichst Fehler zu vermeiden. Oder simpel Multicore-Prozessoren zu nutzen.

Gruß
Andy
 
andy_m4 schrieb:
Man ist nur versaut durch andere Sprachen. :-)

Objekte in Scheme sind aber trotzdem was für Leute denen von hinten durch die Brust ins Auge noch viel zu einfach ist ;-)

ich mein den Objektzustand über einen Closure zu speichern... ok. Wenn man die mal verstanden hat dann geht das schon irgendwie. Aber dann den Methodenzugriff über eine Funktion zu machen der man den Methodennamen übergibt und die dann die Methode zurückliefert die man dann mit den eigentlichen Parametern direkt aufruft... das gibt ne Menge an Klammern die alle gleich aussehen ;-)


PS: wär bestimmt mal "lustig" das in JS nachzuprogrammieren... müsste da eigentlich auch gehen.
 
blöderidiot schrieb:
Die interessanteste Sprache, die mir untergekommen ist (neben C/C++, was ich schon so lange mache wie ich denken kann) ist Perl.
Perl 5 oder Perl 6 ?

blöderidiot schrieb:
Und speziell die regulären Ausdrücke, die in Perl (und nur in Perl) ein integrales Sprachmerkmal darstellen.
Na spannend wird es ja erst, wenn man solche "Subsprachen" selbst integrieren kann wie eben mit Perl 6.
Auch mit Roslyn wird ja sowas ähnlich für .NET möglich.

blöderidiot schrieb:
und etwas schreiblastiger.
So ein Argument kann auch nur von einem Perl'er kommen. :-)
Gleichzeitig aber kein Problem damit haben Zeichen wie $ vor Variablen zu schreiben und solche Schoten. Das zählt dann nicht als schreiblastig. :-)

Gruß
Andy
Ergänzung ()

Jesterfox schrieb:
Objekte in Scheme sind aber trotzdem was für Leute denen von hinten durch die Brust ins Auge noch viel zu einfach ist ;-)

ich mein den Objektzustand über einen Closure zu speichern... ok. Wenn man die mal verstanden hat dann geht das schon irgendwie. Aber dann den Methodenzugriff über eine Funktion zu machen der man den Methodennamen übergibt und die dann die Methode zurückliefert die man dann mit den eigentlichen Parametern direkt aufruft...

  1. Scheme ist vom Selbstverständnis her eher einfach gehalten. Man möchte möglichst wenig zur Verfügung stellen. Das soll aber dafür so mächtig sein, dass man sich relativ problemlos all das zusammen bauen kann, was man eben braucht.
  2. Der Gebrauch von Objekten in Scheme ist eh nicht so ausgeprägt wie in anderen Sprachen.
  3. Spricht ja nichts dagegen das in eine Syntax zu packen, die den Zugang dazu
  4. Gibt es eine Reihe fertige Objektsysteme die man nutzen kann. Das reicht von prototyp-basierte OOP wie in Self und Javascript über Java-style OOP bis hin zu CLOS-Implementationen (mit generic functions, multiple dispatch usw.)

Jesterfox schrieb:
das gibt ne Menge an Klammern die alle gleich aussehen ;-)
Klammern nimmt ja auch keiner als visuelle Zuordnung. Das geschieht durch Einrückung. Zudem hast Du oft auch die Möglichkeit statt ausschließlich runder Klammern auch eckige und Geschweifte zu verwenden.

Auch sonst sind die Klammern vorteilhaft. Jeder halbwegs brauchbare Editor findet ja zugehörige Klammernpaare. Und kopiert und verschiebt man die (und deren Inhalt), kann man sicher sein immer ein gültigen Ausdruck zu haben.
Damit lässt sich (aus meiner Sicht) dann ziemlich flüssig arbeiten.

Gruß
Andy
 
Zurück
Oben