Programmieren Lernen - Was passt für mein Projekt und ist "zukunftssicher"?

grabowashion

Ensign
Registriert
Sep. 2018
Beiträge
245
Hallo zusammen,
ich will neue Programmiersprache(n) lernen und will während dessen etwas bauen, damit ich am Ende meinen Erfolg sehen kann.

Kurz zu mir:
ich bin 25, wohne in der Nähe von Stuttgart, arbeite z.Z. mit einer ERP Software und mein täglicher Arbeitsablauf ist die Software mithilfe von SQL, Pascal und internen "Anwendungsentwicklungsumgebungen" nach Kundenwünschen anzupassen.

Da ich etwas modernes/neues lernen/machen möchte, habe ich mich entschieden etwas neues zu lernen.

Projekt:
Da ich aktuell keine Idee habe, was ich machen könnte, dachte ich mal, ich verbinde die Online-Welt mit meiner ERP-Software.
Ich will eine Web-App bauen, wo sich der Kunde anmelden kann. Dann bekommt er eine Liste von Software-Addons, die er noch nicht im Besitz hat.
Der Kunde kann mehrere Addons auswählen und mit einem Klick auf ein Button bestellen bzw. um ein Angebot beten.
Anschließend soll automatisch in Eintrag in meiner Software gemacht werden wo steht, dass der Kunde die ausgewählten Module bestellen möchte.
Den Rest würde ich dann in meiner ERP-Software machen.

Meine Idee fürs Projekt:
Web-App mit Eingabefeldern, Tabelle mit nicht gekauften Addons und neben Addons pro Zeile ein Button "hinzufügen", Button für "BESTELLEN".
Anschließend die Daten abholen und per ODBC (oder irgendwie anders?) in die Datenbank in eine Tabelle abspeichern.
Den Rest würde ich, wie gesagt, in der ERP-Software machen.
Cool wäre es, wenn der Kunde nach der Bestellung eine Bestätigungsmail bekommen könnte. Natürlich müssen die Mailserverdaten vorhanden sein.

Ich habe schon viel gegoogelt, gelesen und mehrere Videos angeschaut, konnte mich aber noch nicht entscheiden.
Meine Fragen:
  • sind AngularJS/NodeJS für sowohl Frontend als auch Backend geeignet? Ich vermute, dass Angular besser als normales Javascript ist.
  • sind Django/Python für Frontend und Backend geeignet?
  • sind irgendwelche andere Sprachen sogar besser dafür?
  • Unterscheid zwischen Angular+Node / Django+Python / etwas anderes? Vorteile / Nachteile?
  • welche Programmiersprache ist zukunftssicher bzw. mit welcher Sprache bekomme ich "am schnellsten" einen Job bzw. was wird mehr gesucht?

Ich habe keine Erfahrung mit o.g. Programmiersprachen, habe aber Lust zu lernen.
Da ich mit Pascal schon lange arbeite, die Logik wie ein Programm gebaut werden soll verstehe ich schon, dachte ich mal, mit vielen YouTube Tutorials könnte ich das schaffen.
Und ja, ich weiß, dass Pascal outdated ist, aber beginne nicht von ganz ganz vorne, da ich schon 5 Jahren "programmier"-Erfahrung habe.

Was würdet Ihr mit für mein Projekt und allgemein für die Zukunft/Jobsuche empfehlen?
Besten Dank.

LG
 
Das Projekt schreit eher nach fertigem Shopsystem. Wenn du ein professionelles und modernes Nutzerlerbnis gewährleisten willst im Sinne von Warenkorb, womöglich kompletter Bezahlvorgang, Präsentation der Produkte, Status E-Mail und Co.
Würde das eher unkompliziert umsetzen und ein Shopsystem anpassen und in der gesparten Zeit eine weitere Programmiersprache lernen.
 
aus dem Umfeld aus dem ich komme (weltweite IT für >100.000 Mitarbeiter) ist "ERP" der seit Jahrzehnten festgelegte Begriff für: Emergency Response Plan, der auch regelmäßig überprüft und überarbeitet werden muss. Aber die Fly-Fucker oder Erbsenzähler müssen sich ja nicht an standard TLAs (Three Letter Acronym) halten, nur soviel zu diesem Thema ;)

das was du da vorhast ist ja mehr das Verknüpfen von fertigen APIs, bzw. das Aufsetzen eines Web Front Ends dafür.

wenn du etwas möglichst universelles lernen möchtest, mit dem du dir die tägliche Arbeit erleichtern kannst, dann würde ich (heute) auf Python setzen. Vor 10 Jahren hätte ich noch Perl gesagt. Soviel zum Thema zukunftssicher...
 
  • Gefällt mir
Reaktionen: unique28
Angular 8 (AngularJS wird nicht mehr entwickelt) ist hauptsächlich Frontend mit einer vielzahl an Funktionen die teilweise Backend ersetzen können. Es ist im Grunde ein sehr mächtiges TypeScript Tool. Ich nutze es sehr sehr gerne. Kanns nur empfehlen. Dürfte auch sehr zukunftssicher sein, ist von Google.
 
  • Gefällt mir
Reaktionen: grabowashion
@BeBur Wenn ich das richtig verstanden habe, dann geht es nur darum etwas zu lernen, von daher ist das doch völlig OK? Nach deinem Motto gibt es eigentlich immer schon etwas fertiges, das man verwenden kann.

@grabowashion Ich kann jetzt nicht auf alle Punkte eingehen, da ich mich mit Frontend-Entwicklung auch nicht wirklich auskenne. Wozu ich etwas sagen kann, ist die zukunftssicherheit. Hier gilt es ganz klar zu sagen, dass es keine "zukunftssicheren" Sprachen gibt. Das wird sich, wenn überhaupt, erst in Zukunft herauskristallisieren. Eine Programmiersprache, die diesen Status am ehesten schon erreicht hat, ist Java, das im Business-Bereich schon fast unumgänglich ist. Dagegen sind z.B. .NET-Sprachen im Moment auf dem aufsteigenden Ast und werden vermehrt eingesetzt. Mit Python macht man aber auch nichts falsch. Im Prinzip ist das aber auch egal, da das alles moderne Programmiersprachen sind. Geht es dir wirklich nur darum einen Job zu finden, dann nimm Java. Das dürfte aber auch am schwierigsten zu meistern sein.
NodeJS kann ich für das Backend nicht empfehlen, wobei das aber rein auf meinen persönlichen Erfahrungen basiert. Das kann z.B. ein Spring-Framework für Java deutlich besser IMHO.
Für das Frontend auf keinen Fall reines JavaScript verwenden. Leider wechseln die Frontend-Frameworks schneller wie ich meine Unterhosen, aktuell ist hier wohl Vue.Js "das" Framework.
 
  • Gefällt mir
Reaktionen: grabowashion und Kalsarikännit
burglar225 schrieb:
Leider wechseln die Frontend-Frameworks schneller wie ich meine Unterhosen, aktuell ist hier wohl Vue.Js "das" Framework
Ist es das?

Mein Rat: Benutz Angular und gib dir Mühe. Da Lernst du nicht nur ein Framework und Programmiersprachen, sondern auch viele andere Konzepte, die allgemein beim Programmieren helfen.

Fürs Backend habe ich keine tollen Topps, außer, dass du die PHP zweimal überlegen solltest (ziehst du sowieso nicht in Erwägung).
 
  • Gefällt mir
Reaktionen: grabowashion
Hallo an alle und ich bedanke mich für die zahlreichen Antworten.

@BeBur ,
ich weiß, dass das "fast" ein Shopsystem ist.
Wie @burglar225 schon vermutet hat, geht es mir ums lernen und nicht etwas fertiges zu verwenden.
Mein Ziel ist es nicht für meine Firma ein Shop zu bauen, sondern die Programmiersprache/Syntax/etc. zu lernen/verstehen, damit ich weitere Sachen machen kann.
Da ich nicht wüsste, was ich sonst so bauen könnte, dachte ich mal, ich mache etwas in der Richtung.
Wenn Du einen anderen Vorschlag hast, was fürs lernen gut wäre und Spaß machen könnte, dann gerne - her damit. :-)

@lexx. , @new Account() ,
danke für die Tips. Habt Ihr Erfahrung auch mit React und Vue? Oder ist Angular besser/sinnvoller?

Frage an alle;
wenn ich mich für Frontend für Angular entscheiden sollte, was wäre denn das beste für Backend?
Ich will halt schon irgendwie Online und Offline verbinden, also wie in diesem Fall Web und meine Datenbank.
Ich weiß aber nicht, was für Projekte man hat, wenn es um reine Web-Apps geht, wo man beispielweise nur Angular verwenden soll. Werden die Daten nirgendwo gespeichert oder gibt es schon eine "Datenbank", wo eventuelle Daten gespeichert werden? Wofür wird in diesem Fall Backend benötigt?
Danke!
 
burglar225 schrieb:
Wenn ich das richtig verstanden habe, dann geht es nur darum etwas zu lernen, von daher ist das doch völlig OK
Stimmt, dann ist das völlig ok.

Kurze Antwort: Ist komplett egal, nimm das was dich emotional anspricht.


burglar225 schrieb:
Für das Frontend auf keinen Fall reines JavaScript verwenden.
Kannst du das ausführen? Er wird ja womöglich keine 100 Zeilen selbstgeschriebenen JS Zeilen haben am Ende.


PS.: Ich persönlich würde eher kein Frontend-Framework hernehmen, sondern vornehmlich Web-Frameworks wie Django oder Rails arbeiten.
 
Die Wahl der Technologie ist abhängig von dem Einsatzzweck. Zum Thema Programmiersprache: Die allermeisten verfolgen den selben Ansatz und verwenden die gleichen Konzepte, drücken diese nur in einer etwas anderen Syntax aus. Wichtig ist erstmal die Konzpete zu verstehen...die Sprache ist da eher zweitrangig.

greetz
hroessler
 
  • Gefällt mir
Reaktionen: PEASANT KING und BeBur
new Account() schrieb:
Halte ich eher für einen guten Indikator für einen neuen Hype.
Wo wir dann wieder beim Punkt "wechseln wie Unterhosen" wären. Genau davon rede ich ja. Die Frameworks fürs Frontend sind im Moment so kurzlebig, dass man hier keine sinnvolle Aussage über die langfristige Unterstützung machen kann.

grabowashion schrieb:
wenn ich mich für Frontend für Angular entscheiden sollte, was wäre denn das beste für Backend?
Da gibt es eigentlich nichts, was das andere bedingt. Frontend und Backend sind völlig unabhängig voneinander. Es gibt somit kein "bestes" Backend für ein bestimmtes Frontend.
 
Ist doch aber letztlich egal. Beherrscht man ein Framework, ist der Umstieg auf ein anderes nicht sonderlich kompliziert.
 
burglar225 schrieb:
Da gibt es eigentlich nichts, was das andere bedingt. Frontend und Backend sind völlig unabhängig voneinander. Es gibt somit kein "bestes" Backend für ein bestimmtes Frontend.
Ich habe das Gefühl, dass ein etwas verschobener Eindruck entsteht.
Man kann ganz problemlos das vorgeschlagene Projekt umsetzen ohne auch nur eine einzige Zeile Javascript aka Frontend-Code zu schreiben oder gar ein Frontend-Framework einzusetzen. Der traditionelle Ablauf für Websites besteht ja darin, im Backend HTML-Templates mit Daten zu füllen und dann auszuliefern. Ein Frontend-Framework benötigt man eigentlich nur, wenn man wesentlich davon abweichen möchte.

Gerade zum Lernen würde ich dir stark davon abraten, dich gleichzeitig erstmalig in ein Backend- und Fronten-Framework einzuarbeiten.
 
Zuletzt bearbeitet:
BeBur schrieb:
Man kann ganz problemlos das vorgeschlagene Projekt umsetzen ohne auch nur eine einzige Zeile Javascript aka Frontend-Code zu schreiben oder gar ein Frontend-Framework einzusetzen.
Nur wie halt.
Kaum Vorteile (initial höhere Bandbreite), aber viele Nachteile (langfristig höhere Bandbreite, Wartezeit nach jeden Aufruf, fehlende Dynamic)
BeBur schrieb:
Gerade zum Lernen würde ich dir stark davon abraten, dich gleichzeitig erstmalig in ein Backend- und Fronten-Framework einzuarbeiten.
Warum?
Das was er bei einer WebApp als Backend benötigt hat er größtenteils schon drauf.
Bisschen SQL, bisschen Logik.
Fehlt eine API - kann aber Protobuf abnehmen.
 
  • Gefällt mir
Reaktionen: grabowashion
new Account() schrieb:
Bisschen SQL, bisschen Logik.
Ich denke die Hauptfrage lautet, wie viel Logik letztendlich dann vorhanden ist. Wenn man sich erst einmal an die Details setzt kommt da schnell einiges zusammen und dann vermute ich viel overhead oder wursteligen Code.
Ist aber nicht so ganz mein Erfahrungsgebiet. Wenn ihr sagt das ist alles kein Problem für einen kleinen selfmade webshop: Kann schon sein.

Wie schon erwähnt, am Ende ist es vor allem eine Frage, was der TE spontan interessant findet. Praxisrelevante Unterschiede gibt es letztendlich nicht und 'lohnen' karrieremäßig wird sich auch jede der bisher genannten Technologien.
 
  • Gefällt mir
Reaktionen: grabowashion
Danke an alle. Ich denke, ich werde mich zuerst mit Angular auseinander setzen und wenn ich damit klar komme, schaue ich mal für Backend. Ich denke, es wäre mir zu viel am Anfang zwei Sprachen (Angular und Python) zu lernen.
Deshalb habe ich mich für Angular entschieden. Wenn ich soweit bin, melde ich mich hier wieder.
Nochmal schönen Dank für die Tips an alle!
 
Bei diesen ganzen Javascript Frontend Web-Frameworks, wie Angular, Vue und React musst du dich auch nicht um ein Backend kümmern, sondern nur darum, dass du Daten in JSON-Format über einen HTTP-Request abfragen kannst.
 
Zurück
Oben