Für Noobs: Welche Programmiersprache?

Programmierung, Templatedesign & Codeschnipsel
Antworten
Benutzeravatar
Technokrat
PLUS-Mitglied
PLUS-Mitglied
Beiträge: 6991
Registriert: 8. Mai 2014 12:14

Für Noobs: Welche Programmiersprache?

Es sind alle Geschenke besorgt, es naht nun die Zeit der Eigengeschenke und guten Vorsätze. Das soll sein ein kleiner Einstieg in eine moderne Programmiersprache, hauptsächlich für Automatismen im Hintergrund wie:

- Datenhandling (z.B. drucke alles mit der Dateinamenstruktur x aus Ordner y und lösche dann / sichere immer alles von a nach b / übertrage alles nach ftp)
- Schnittstellen + Daten (z.B. analysiere PDF/XML/TXT und übertrage Daten an Schnittstelle xxx)
- Datenbank (z.B. eigenes Wiki für Antworten auf Kundenanfragen)

Ich hab immer mal wieder hauptsächlich in Lingo von Macromedia herumgekaspert (sehr stark grafisch orientiert), solche Sachen wie if, else, Variablen und sehr primitives Datenhandling etc. sind vertraut. Ich hab mich darin autodidaktisch durch try + error einarbeiten können, weil Lingo quasi in ganzen englischen Sätzen von der Logik her denkbar war und eine gute interne Dokumentation hatte.

Da stehe ich nun als Laie vor c++, Java, php, python... Letzteres scheint vielleicht was zu sein?
Hättet Ihr aus der Praxis eine Empfehlung?


3 Monate gratis Händlerbund
thegap
Beiträge: 4
Registriert: 6. Apr 2019 12:08
Land: Deutschland
Firmenname: Jens Jakobs

Re: Für Noobs: Welche Programmiersprache?

Moin,

die eine Programmiersprache für alles gibt es eigentlich nicht.
Über Umwege kann man mit fast jeder Programmiersprache passable Resultate erzielen.

Ich bin für meinen Teil bei PHP geblieben, vor zig Jahren mit PHP3 eingestiegen, dann den ganzen Hype um Ruby und Co mitgemacht (aber ignoriert) und habe es nicht bereut.

Mittlerweile gibt es für fast alles irgendwelche Libs oder Fremd-Tools die man ansteuern kann.
Oftmals ist aber auch Python eine gute Wahl. Kommt eben immer auf die Anforderungen an.

LG
JohnGalt
Beiträge: 1043
Registriert: 18. Feb 2013 23:19

Re: Für Noobs: Welche Programmiersprache?

Für ein eigenes Wiki brauchst du keine Programmierkenntnisse.

Für den Rest: Eine systemnahe Skriptsprache deiner Wahl zur Automatisierung via Kommandozeile / Shell. PHP ist recht gut auf der Shell und noch viel besser im Web zu benutzen, hat eine flache Lernkurve aber Inkonsistenzen. Perl gut auf der Shell, weniger gut im Web, relativ steile Lernkurve mit gelegentlichen Rückschlägen auch noch nach vielen Jahren Erfahrung, Lesbarkeit rangiert irgendwo zwischen Gibberish und Prosa. Python gut auf der Shell, weniger gut im Web, Lernkurve wie Perl, besser lesbar da man zu bestimmten Formatierungen gezwungen wird.

In allen drei Fällen gilt, dass es gute Datenbankanbindungen und sehr hilfreiche Communities gibt. Ich würde mir von allen drei einfach mal Programmcode anschauen (ohne dass zu ihn verstehen musst) um ein Gefühl für die Komplexität zu bekommen. Und dann besorgst du dir eine Linux-Virtualbox (das ist ein virtualisiertes System, recht einfach zu verwenden) - die gibt es für alle drei Sprachen schon fertig konfiguriert - und fängst einfach mal an zu spielen.

Powershell ist vllt. auch noch interessant für dich. Ist eine Sprache zur Automatisierung unter Windows. Kenne die aber nur am Rande.
Benutzeravatar
Xantiva
PLUS-Mitglied
PLUS-Mitglied
Beiträge: 4047
Registriert: 22. Okt 2010 17:52
Land: Deutschland
Firmenname: Xantiva.de
Branche: Entwickler, aber auch selber Seller!
Kontaktdaten:

Re: Für Noobs: Welche Programmiersprache?

Das schliesse ich mich JohnGalt an: Für Deine Anforderungen würde ich auch mit einer Scriptsprache starten. Python wird z. Zt. stark "gehypt".

Alternativ - da bin ich aber nicht ganz unvoreingenommen - C# ...
Die passende Entwicklungsumgebung gibt es auch kostenlos "Visual Studio Community" und viele Tutorials
mwp
Beiträge: 1460
Registriert: 12. Okt 2009 14:40
Land: Deutschland

Re: Für Noobs: Welche Programmiersprache?

Wenn man wirklich Programmieren lernen will, dann doch was ordentliches. C# oder Java, seit Jahren bewährt und man kann nahezu alles damit machen.
Benutzeravatar
Technokrat
PLUS-Mitglied
PLUS-Mitglied
Beiträge: 6991
Registriert: 8. Mai 2014 12:14

Re: Für Noobs: Welche Programmiersprache?

Ganz lieben Dank Euch für Eure Einschätzungen. Den Programmcode anzuschauen ist eine gute Idee, vielleicht gibt es ja sogar Beispiele einer gleichen Problemstellung jeweils umgesetzt. Muss ich mal danach schauen.

Ein bisschen habe ich mich ja schon auf Python eingeschielt - von der ich bis vor kurzer Zeit noch gar nichts gehört hatte. Mal schauen bis wohin die anfängliche Lust und Euphorie insgesamt reicht. Wobei Spaß hat mir das eigentlich meistens gemacht.

Wenn´s doch dauerhafter wird, ist ein Wechsel auf was "ernsthaftes" ja nicht ausgeschlossen. Vielleicht ist das ja irgendwann so, dass ich sage, ach das Problem löse ich in der Sprache, die ist besser dafür... aber das ist nun absolut im Bereich des Wunschdenkens :)
Benutzeravatar
Technokrat
PLUS-Mitglied
PLUS-Mitglied
Beiträge: 6991
Registriert: 8. Mai 2014 12:14

Re: Für Noobs: Welche Programmiersprache?

Die Sprachen Python und Lingo sind sich bislang zumindest im Ansatz bzw. Funktion sehr ähnlich. Das ist wahrscheinlich nicht sehr überraschend, weil halt alles seine Logik - oder wenigstens Variablen - braucht.

Der Unterschied für mich ist: Lingo funktioniert wie ein Film. Darin sind Darsteller, und die sagen auch noch was. Man kann auf optischer Ebene einzelnen Darstellern ein Verhalten per Script zuteilen, die sich auf einer Bühne per Script bewegen. Ich konnte den Film auf Dauerschleife stellen bis es passt, es war die "Herausforderung" alles (also das komplette Ensemble) im ersten Bild des Filmes abzufeiern, mit den Eigenheiten der Darsteller und was sie sagen. Eine if-else-nothing-Funktion kann darin als dauerhafte Schleife gesehen werden.

Da musste ich bei der for-Schleife heute schon grübeln, einen Datenverarbeitungsansatz gibt es beim Director naturgemäß eher weniger. Der ständige Durchlauf vom Ganzen fehlt mir. Da fängt es an zu dividieren.

Mit dem ständigen Durchlauf bei Lingo war die Programmierung immer recht einfach: man kann sich eigentlich komplett mit if-else-Verschachtelungen behelfen und der break kommt am Ende.

Immerhin habe ich wohl meine Lieblingsfunktion bei Lingo, nämlich "nothing" in "break" vielleicht gefunden.

In Lingo schreibt man beim Hauptscript eben am Ende hin "gototheframe", dann wird das komplette Script wiederholt. Zumindest war das mal so :)
marcibet
Beiträge: 1799
Registriert: 2. Nov 2017 16:04

Re: Für Noobs: Welche Programmiersprache?

C# / Visual Studio, einfacher und DaU freundlicher gehts nicht. Außer vielleicht mit Visual Basic.
Benutzeravatar
Xantiva
PLUS-Mitglied
PLUS-Mitglied
Beiträge: 4047
Registriert: 22. Okt 2010 17:52
Land: Deutschland
Firmenname: Xantiva.de
Branche: Entwickler, aber auch selber Seller!
Kontaktdaten:

Re: Für Noobs: Welche Programmiersprache?

Endlosschleifen z. B. mit

Code: Alles auswählen

while (true)
{
   // Mach was ;) Hier kommst Du nicht raus.
}
Und For-Schleifen sind immer gut, wenn Du irgend etwas hoch zählen willst, etwas eine bestimmte Anzahl wiederholen möchtest (z. B. ein Array durchlaufen möchtest, usw.).
Benutzeravatar
fonprofi
PLUS-Mitglied
PLUS-Mitglied
Beiträge: 7729
Registriert: 17. Nov 2010 16:43
Land: Deutschland

Re: Für Noobs: Welche Programmiersprache?

Hab ich schon erwähnt, das ich noch BASIC gelernt habe?
Benutzeravatar
Technokrat
PLUS-Mitglied
PLUS-Mitglied
Beiträge: 6991
Registriert: 8. Mai 2014 12:14

Re: Für Noobs: Welche Programmiersprache?

@Xantiva: Danke.
Ein besseres Gespür/Verständnis für While und For kommt vielleicht noch beim Spielen und Probieren. Schau mal, immerhin habe ich heute Google programmiert. Komm ich jetzt im Fernsehen? ;)

Code: Alles auswählen

def suche (produkt, eigenschaft):
	produkte = [("apfel", "rot", "grün"), ("salat", "rund", "grün", "gelb", "braun", "gelblich")]
	for abgleich in produkte:
		if abgleich[0]==produkt and eigenschaft in abgleich:
			print (produkt, eigenschaft, "ist bei uns erhältlich")
			return True
		elif abgleich[0]==produkt:
			print(produkt, eigenschaft,"führen wir leider nicht.\nWir empfehlen stattdessen:",abgleich[0],"\nmit den Eigenschaften", abgleich[1:])	
		else:
			print (produkt, eigenschaft, "ham wa nich!\n")
		return False
 
Nein, vielleicht stolpert ja jemand darüber: Ich hab mir ein Büchle besorgt, das mir bislang sehr zusagt. Vielleicht, weil oft Beispiele eines Autohändlers benutzt werden ;) Programmierer ist man hinterher sicherlich keiner, aber hat hoffentlich einen guten Einstieg und Überblick bekommen.

Edit: Ich hab den Link von Amazon weg auf einen mir unbekannten Shop auf Google-Seite 4 gelegt. Ich denke das ist besser :xmas:
Benutzeravatar
Technokrat
PLUS-Mitglied
PLUS-Mitglied
Beiträge: 6991
Registriert: 8. Mai 2014 12:14

Re: Für Noobs: Welche Programmiersprache?

Was für mich gerade im Grunde ansteht ist ja die Syntax zu lernen. Deswegen auch die Englisch/Deutsch-Mischerei. Bei PHP habe ich eben mitbekommen, dass die sich wohl recht schnell entwickelt - das ist ansich sicherlich gut, aber ich kriege gerade den Shopware-Shop nicht auf ein Update, weil wohl irgendein Plugin einen php-Fehler aufwirft - obwohl alle bestätigt haben, dass sie funzen. :gruebel: Das PHP-Log auf dem Server ist mittlerweile an - es ist halt ein Zeitaufwand.
Benutzeravatar
Xantiva
PLUS-Mitglied
PLUS-Mitglied
Beiträge: 4047
Registriert: 22. Okt 2010 17:52
Land: Deutschland
Firmenname: Xantiva.de
Branche: Entwickler, aber auch selber Seller!
Kontaktdaten:

Re: Für Noobs: Welche Programmiersprache?

Wie halt mit jeder Sprache: Vokabeln und Grammatik ;)

Und ja - das Übel von PHP sehe ich inzwischen auch bei der Verschlüsselung von PlugIns - das bremst einen immer wieder aus.

Damit PlugIn-Entwickler auch Geld verdienen können mit Ihren Entwicklungen, werden diese Plugins mit Tools wie "IonCube" verschlüsselt. Jetzt ist PHP 7.4 veröffentlich, aber es gibt den IonCube nur bis PHP 7.3 und der kann auch nur Features bis PHP 7.2 obwohl die 7.3 schon über ein Jahr existiert.
https://www.ioncube.com/php_encoder.php?page=features hat geschrieben: - Produce encoded PHP files to run on the latest PHP 7.3 and earlier.
- Use PHP language features up to PHP 7.2.
wurzel64
PLUS-Mitglied
PLUS-Mitglied
Beiträge: 316
Registriert: 23. Aug 2015 17:52

Re: Für Noobs: Welche Programmiersprache?

Technokrat hat geschrieben: 29. Dez 2019 23:25 Was für mich gerade im Grunde ansteht ist ja die Syntax zu lernen. Deswegen auch die Englisch/Deutsch-Mischerei.
gewöhn dir besser gleich eine rein englische schreibweise an (kommentare mal abgesehen). so ein umlaut in der syntax kann tödlich sein. und "sprechende" variablen und funktionsnamen. und auch wenn es schwer fällt und spießig klingt: ordnung ist das halbe leben.

viel spass beim coden.
Ohne Ziel stimmt jede Richtung.
Benutzeravatar
Technokrat
PLUS-Mitglied
PLUS-Mitglied
Beiträge: 6991
Registriert: 8. Mai 2014 12:14

Re: Für Noobs: Welche Programmiersprache?

Xantiva hat geschrieben: 30. Dez 2019 17:20 Wie halt mit jeder Sprache: Vokabeln und Grammatik ;)
Wohl wahr :)
Xantiva hat geschrieben: 30. Dez 2019 17:20 Und ja - das Übel von PHP sehe ich inzwischen auch bei der Verschlüsselung von PlugIns - das bremst einen immer wieder aus.

Damit PlugIn-Entwickler auch Geld verdienen können mit Ihren Entwicklungen, werden diese Plugins mit Tools wie "IonCube" verschlüsselt. Jetzt ist PHP 7.4 veröffentlich, aber es gibt den IonCube nur bis PHP 7.3 und der kann auch nur Features bis PHP 7.2 obwohl die 7.3 schon über ein Jahr existiert.
Ich bin nun gerade wieder damit beschäftigt, das Backup für den Shopware-Shop einzuspielen. Wird wohl wieder eine Stunde dauern. Immerhin ist er kurz schonmal gelaufen :) Ich stehe nach zwei Monaten spradischer Würgerei kurz vor dem Ziel. So sehr ich das Konzept eigentlich gut finde, eine Basis mit unabhängigen Plugins aufzumotzen, ist es erstaunlich wie sehr sich das wechselseitig in das Gehege kommen kann. Als letzten Zahn habe ich gerade Trustami ausgemacht. Naja, mal sehen, was die Nacht so bringt. Als Halbweise, äh, Halbverstehender muss Geduld wohl fehlendes Wissen ausbügeln..
Antworten

Zurück zu „HTML, PHP, CSS, & Co.“

  • Information