Forum: PC-Programmierung Welche WeB-Programmiersprachen - The Trend is your Friend


von Daniel (Gast)


Lesenswert?

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.
von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

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

von J. W. (nuernberger)


Lesenswert?


von waflija (Gast)


Lesenswert?

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.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

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.

von Mark B. (markbrandis)


Lesenswert?

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.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Eche Kerle nehmen Assembler :-)

https://en.wikipedia.org/wiki/WebAssembly

von Klaus (Gast)


Lesenswert?

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.
von Arc N. (arc)


Lesenswert?

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

von Planlos (Gast)


Lesenswert?

Ist zwar schon ein Jahr alt und damit hoffnungslos veraltet, aber:

https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f

von Daniel (Gast)


Lesenswert?

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.

von Jan H. (j_hansen)


Lesenswert?

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.

von Man oh man (Gast)


Lesenswert?

Seit wann ist html eine Programmiersprache? Das sind reine 
Formatierungstags. Wenn man einen Text in Writer oder Word verfasst, hat 
man dann programmiert?

von Ohmar (Gast)


Lesenswert?

>Wenn man einen Text in Writer oder Word verfasst, hat
>man dann programmiert?
Speichern unter -> als Text -> main.c

von Man oh man (Gast)


Lesenswert?

Jo, Baby, jo!

von Jens G. (jensig)


Lesenswert?

@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.

von Torben (Gast)


Lesenswert?

Asp.net + MVC pattern

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
Noch kein Account? Hier anmelden.