Welche WeB-Programmiersprachen - The Trend is your Friend

Gast #5015359
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.
(Firma: Torrox.de)
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
Gast
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.
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.
Gast
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 von einem Moderator gelöscht.
Gast
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.
Gast
Seit wann ist html eine Programmiersprache? Das sind reine 
Formatierungstags. Wenn man einen Text in Writer oder Word verfasst, hat 
man dann programmiert?
@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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.