Hallo zusammen, vor geraumer Zeit hatte ich mal gefragt, welche Programmiersprache man heute lernen sollte, um als Hobby-Bastler fit zu sein. Zu recht hatte man mir damals gesagt, dass man zwecksgebunden Programmiersprachen einsetzt und sich im Zweifel das nimmt, was man für seine Zwecke benötigt. Das habe ich dann für mich an einem kleinen Projekt getan. *Rolladensteuerung mit Raspberry Pi und Funktsteckdosen von Intertechno Server mit Node.js und wirklich einfache html-Seite (als Kind hab ich mal mit der schönen Seite selfhtml angefagen) zum Steuern der Rollläden via Requests. Läuft auch alles. Was mich ein wenig stört ist, dass mir so ein wenig das generelle Verständis in Richtung Web-Programmierung fehlt (grade in Hinblick auf Sicherheit, falls ich mal auf die Idee komme, meine Rollläden übers Internet zu steuern. Daher würde ich mich mit der Schnittstelle Raspberry - Web vllt. doch etwas tiefer beschäftigen wollen, auch z.B. wie ich die Befehle dann umsetzte. Ich glaub meine eingebaute Exe-Shell wäre nicht grade als "sicher" einzustufen. Daher zwei Fragen: 1. Trotz suche im App-Store und Web hab ich keine vernüftiges Tutorial gefunden, dass einem Grundlagenwissen zum Webprogrammieren vermittelt, habt Ihr Tipps? 2. Womit wird ein Hobby-Baster am ehesten glücklich? Apache, Node.js, Tomcat? (Ich dachte da an etwas wie den Arduino unter den Webservern). Vielen Dank.
Beitrag #5015360 wurde von einem Moderator gelöscht.
Daniel schrieb: > 1. Trotz suche im App-Store und Web hab ich keine vernüftiges Tutorial > gefunden, dass einem Grundlagenwissen zum Webprogrammieren vermittelt, > habt Ihr Tipps? Im Web werden sehr viele unterschiedliche Technologien benötigt und da hilft es, die Unterschiede zu verstehen: - Darstellung einer Web-Seite (frontend): HTML, CSS, JavaScript - Evtl. dynamischen Erstellen der Seite (backend): z.B. JavaScript (Node.js), Ruby (Rails), PHP (würde ich die Finger von lassen) - Transport der Seit vom Server zum Browser: HTTP (https://tools.ietf.org/html/rfc2616) - Webserver: Apache etc. > 2. Womit wird ein Hobby-Baster am ehesten glücklich? Apache, Node.js, > Tomcat? (Ich dachte da an etwas wie den Arduino unter den Webservern). Das hängt am ehesten davon ab, mit welcher Sprache Du das backend implementierst. Da Du Dich ja schon mit Node angefreundet hast, würde ich dabei bleiben. mfg Torsten
Torsten R. schrieb: > - Evtl. dynamischen Erstellen der Seite (backend): z.B. JavaScript > (Node.js), Ruby (Rails), PHP (würde ich die Finger von lassen) PHP verteufeln und Javascript empfehlen. Da treibst du aber den Beltzebub mit dem Teufel aus. Wenn es nur "schnell" gehen soll ist javascript nicht schlecht. Bringt aber eine Menge Fehlerquellen mit auf die man keinen Einfluss. Siehe hier als Beispiel z.B. JSFuck Nachteil: Nicht typisiert und sehr, sehr mekrwürdige auto-casts. Nie als Backendsprache geplant worden. Der NodeJS Server hat sich in der vergangenheit aufgrund dieser cast-Probleme immer wieder als sehr verwundbar gezeigt. Wenn es schnell und einiger Maßen professionell sein soll, ist sauber geschriebenes PHP die Wahl. Nachteil: Nicht typisiert, alte Bibiliotheken sehr uneinheitlich geschrieben. Vorteil: Sehr viele Tutorials und "best practice" Artikel. Sehr viele Analogien zu C / CPP. Ruby ist inzwischen relativ exotisch und wenig verbreitet. Auch exotisch bzw. nur bei embedded / high-performance Webseiten: Java (NICHT Javascript. "echtes" Java!) C / CPP Vorteil: Die Sprachen sind typisiert und compilierbar. Daher ungefähr einen Faktor 10 Resourcensparender. Nachteil: Die Entwicklung dauert länger.
waflija schrieb: > PHP verteufeln und Javascript empfehlen. Wo habe ich JavaScript "empfohlen"? Ich persönlich würde Ruby oder Python empfehlen. Da JS den "Job" tut und der OP JS offensichtlich beherscht, wäre das meine Wahl.
Sprachen kommen und gehen. Man wird sowieso nicht ein ganzes Entwicklerleben lang mit einer einzigen Sprache auskommen. Sinnvoll ist, aus den verschiedenen Bereichen jeweils etwas zu können: -eine prozedurale Programmiersprache (z.B. C) -eine objektorientierte Programmiersprache (z.B. Java oder C++ oder C#) -eine Skriptsprache Es schadet auch nicht, sich mal eine funktionale Programmiersprache wie z.B. Haskell oder LISP näher anzuschauen. Freilich werden rein funktionale Programmiersprachen in vielen Firmen selten oder auch gleich gar nicht eingesetzt. Aber manche Konzepte davon findet man als Ergänzung in anderen Programmiersprachen wieder.
Ich würde es nicht zu kompliziert machen. Tomcat oder Apache sind schon sehr umfangreich und die meissten Features brauchst du wahrscheinlich nicht. Als Webserver für den Anfang wäre vielleicht lighttpd eine ganz gute Wahl. Node.js kann man auch machen, bietet aber schon mehr Fehlerquellen. Dann schaue dir HTML5 und jQuery (mobile) für die Clientseite an. Da kann man schnell und einfach gute Mobilseiten erstellen. Auf der Serverseite solltest du den Zugriff schon auf Betriebssystemebene so konfigurieren, dass es möglichst dicht ist. Dann den Webservice (Webserver) so bauen, dass er nur die Dinge ausführen kann, die du auch möchtest. Für den Zugriff aus dem Internet gibt es dann eine Menge mehr zu beachten. Dazu könnte man später einen Reverseproxy einrichten, der alles aus dem Internet verarbeitet und deinen Service abgesichert.
Beitrag #5015803 wurde vom Autor gelöscht.
Ich würde mir zumindest mal Go ansehen. Läuft überall (von Windows bis Plan9), statisch typisiert, mittlerweile ganz brauchbare Tools, eigenständiger Http-Server nicht nötig, brauchbare C-Anbindung, falls Low-Level-Sachen gebraucht werden (https://golang.org/cmd/cgo/). Go -> JavaScript = https://github.com/gopherjs/gopherjs
Ist zwar schon ein Jahr alt und damit hoffnungslos veraltet, aber: https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f
Hab die Unterhaltung zwar nicht ganz durchgelesen, aber es bringt es schon schön auf den Punkt. Ich hab mir den Spaß gegönnt und auf udemy einen Kurs gebucht. Naja er sagt html wäre eine Skriptsprache :-) Kann ja was werden.
Daniel schrieb: > Läuft auch alles. Was mich ein wenig stört ist, dass mir so ein wenig > das generelle Verständis in Richtung Web-Programmierung fehlt (grade in > Hinblick auf Sicherheit, falls ich mal auf die Idee komme, meine > Rollläden übers Internet zu steuern. Wenn es nur darum geht, dann würde ich den Webserver hinter eine Firewall mit VPN-Zugang stellen und fertig.
Seit wann ist html eine Programmiersprache? Das sind reine Formatierungstags. Wenn man einen Text in Writer oder Word verfasst, hat man dann programmiert?
>Wenn man einen Text in Writer oder Word verfasst, hat >man dann programmiert? Speichern unter -> als Text -> main.c
@Man oh man (Gast) >Seit wann ist html eine Programmiersprache? Das sind reine >Formatierungstags. Wenn man einen Text in Writer oder Word verfasst, hat >man dann programmiert? Ansichtssache. Eigentlich ist alles irgendwie Programmierung. Auch meine Nachbarn können programmieren - nämlich ihren Fernseher, oder den Bordcomputer des Autos ;-) Ok, man würde das eher als Konfigurieren bezeichnen ... HTML wird von einem Interpreter im Browser interpretiert, und entsprechend auf dem Bildschirm umgesetzt, damit der User was buntes sehen/lesen kann. Es ist aber damit ein sehr beschränkter Einsatzbereich, dieser aber mit viel Liebe zum Detail ... Interpretersprachen machen da nix anderes, auser daß die einen anderen/univerelleren Wertebereich des Computers ansprechen. Dazu hat sogar Wikipedia einen Absatz: https://de.wikipedia.org/wiki/Auszeichnungssprache#.C3.84u.C3.9Fere_Systematik:_Einordnung_als_Programmiersprache_oder_Datenformat HTML würde ich also als eine sehr spezialisierte Programmiersprache betrachten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.