Javascript für allgemein programmieren lernen?

2 Antworten

(...) es mir sehr schwer fällt eine Struktur in mein Programm zu bringen. (...)

Sofern es dir schon bei einfachen Programmen schwerfällt, doppelten Code zu reduzieren oder generell das Programm in sinnvolle Funktionen aufzuteilen, ist das etwas, was dir bei einer anderen Programmiersprache genauso auf die Füße fallen würde.

Hinsichtlich der Entwicklung komplexerer Anwendungen (z.B. auch mit grafischer Oberfläche) würde ich dir Sprachen empfehlen, die das (klassenbasierte) objektorientierte Paradigma vollkommen unterstützen und stärker (statisch) typisiert sind. Passende Kandidaten wären da beispielsweise C#, Java oder Kotlin (es gibt natürlich noch viele andere).

Mit einer UI ist das in Python aber wieder etwas Pain.

Schau dir PyGame an. Die Bibliothek wurde explizit als Hilfe für die Spieleentwicklung gebaut. Mit ihr kannst du leicht Snake u.ä. Minispiele bauen.

Akazami 
Fragesteller
 08.03.2024, 17:55

Ich glaube an möchte ich nicht unbedingt eine graphische Oberfläche benutzen müssen. Ich habe nur das Gefühl, dass im Internet Beispiele für Python Programme entweder nur sehr kurze Skripte sind oder eine UI beinhalten wenn sie komplexer werden. Komplexere und größere Konsolenprogramme habe ich nicht so recht gefunden. Hast du da vielleicht noch eine Idee? Oder auch Beispiele?

0
regex9  08.03.2024, 23:04
@Akazami

Komplexere Anwendungen sollen einfach bedienbar sein, daher bieten sich grafische Oberflächen an. Du kannst aber natürlich auch Anwendungen bauen, die stattdessen zur Bedienung nur ein Konsoleninterface haben. Zum Beispiel:

  • ein Text-Adventure
  • ein Kontaktbuch, über welches man auch Nachrichten verschicken kann (Chat; via E-Mail; evt. schaust du einmal, ob es zudem APIs gibt, um Nachrichten an Facebook, Telegram, WhatsApp, o.ä. zu schicken)
  • ein Terminplaner (mit Kalender, To-Do-Listen, usw.)
  • ein Bildbearbeitungstool (mit Funktionen wie Cropping, Hinzufügen von Farbfiltern, u.ä.)
  • ein Dateiversionierungssystem
  • ein Parser für eine eigene Programmiersprache mit sehr einfacher Grammatik
  • ein Verwaltungsprogramm für ZIP-Archive (öffnen, einzelne Dateien oder alles extrahieren, einfügen/bearbeiten, anlegen und Kompression eigener Archive mit Optionen wie der Zerlegung in Teilstücke)
  • Schach (mit Kommunikation via Netzwerk)
  • Schiffe versenken (mit Kommunikation via Netzwerk)
  • Kartenspiele wie Uno
0
Akazami 
Fragesteller
 08.03.2024, 23:31
@regex9

Danke das sind ein paar Anlaufstellen. Ich hatte auch überlegt Flask mit Python zu benutzen. Dann würde man einfache UI Erstellung mit Python vereinen. Hast du da Erfahrung, ob das zu empfehlen ist? Oder hole ich mir da wieder unnötige Komplexität ins Boot?

0
regex9  09.03.2024, 00:50
@Akazami

Da du GUI-Erstellung ausgeschlossen hattest, habe ich Flask nicht erwähnt. Unter diesem Gesichtspunkt könntest du dir ebenso kivy oder PyQt anschauen, da beide Tools Sprachen bieten, um die View deklarativ zu formulieren (siehe kv und QML).

Flask selbst ist recht einfach erlernbar. Eine Komplexität, die dann natürlich hinzukommt, ist der Bereich Web allgemein (Webstandards, wie Browser und Webserver miteinander agieren, u.ä.). Den Anspruch an die UI kannst du ziemlich gering halten, indem du entweder vorgefertigte HTML-Templates nutzt, auf CSS verzichtest oder Frameworks wie Bootstrap, Materialize, o.ä. einsetzt. Solltest du jedoch auf dynamische Oberflächen setzen, wirst du früher oder später mit CSS und JavaScript konfrontiert.

0
Akazami 
Fragesteller
 09.03.2024, 09:19
@regex9

Dann denke ich ist aber Flask nicht optimal, weil man da ja glaub ich nie komplett ohne Javascript auskommt. Also so was wie einen gedrückten Button erkennen, geht ja glaub ich auch nur mit javascript.
Dann denke ich werde ich mir PyQt anschauen. Das ist denke ich für meine Zwecke voll ausreichend.

0
regex9  09.03.2024, 10:38
@Akazami

Einen Buttonklick kann man auch ohne JavaScript erkennen. Es gibt in HTML Formulare, die beim Abschicken eine Anfrage an die Webanwendung stellen können. Der Trigger für die Anfrage ist dabei in der Regel ein Button. Der Nachteil gegenüber einer JavaScript-Lösung ist, dass beim Formularversand auch immer ein Neuladen der Webseite im Browser einhergeht.

0
Akazami 
Fragesteller
 09.03.2024, 11:38
@regex9

Alles klar. Fände ich zwar an sich cool, weil man auch irgendwie schönere Lösungen machen kann. Ist aber glaub ich für mein Ziel eigentlich eher hinderlich oder halt nochmal eine Hürde mehr. Danke dir !

0

Ja, mit Javascript kann man solche Projekte gut machen und dann mit HTML und CSS auch noch gut aussehen lassen.

ABER mach nicht den Fehler und wechsel die Programmiersprachen wild durch. Konzentriere dich auf EINE Programmiersprache. Entweder du entscheidest dich für Javascript (und dazu HTML und CSS, das sind keine Programmiersprachen und viel leichter und schneller zu lernen, zumindest HTML) oder du lernst Python und bleibst dann auch erstmal dabei, bis du die Programmiersprache gut beherrscht.

C würde ich für den Anfang nicht empfehlen, da sehr kompliziert und überfordernd am Anfang. Wenn dein Ziel ist wirklich mal C zu lernen, kannst du auch erstmal C# lernen, wo du aber auch die Probleme haben wirst, die du jetzt mit Python hast.

Zusammenfassend: Was du lernst ist eigentlich egal, konzentriere dich nur auf jeden Fall auf eine Sprache. Ich mache wie gesagt Javascript und muss sagen die Sprache ist sehr gut zu lernen und man kann viel damit machen!

Woher ich das weiß:Hobby – ich entwickle in meiner Freizeit mit HTML, CSS & JavaScript.
Akazami 
Fragesteller
 07.03.2024, 20:43

Ja das ist eben der Grund wieso ich frage: Ich möchte eben nicht durchwechseln, sondern eine Sprache gut lernen und nebenbei immer wieder etwas c weil ich zum Schluss mal embedded Hardware programmieren möchte.

Dann probiere ich wohl auch mal Javascript. Ich hab nur bisher keine Erfahrung damit und wollte jetzt erstmal nachfragen, ob man da auch eine gute Struktur von Programmen lernen kann.

0
Akazami 
Fragesteller
 07.03.2024, 20:47
@ZitroneG

Programmierst du Hobbymäßig oder beruflich? Hast du auch Erfahrung mit c?

0
ZitroneG  07.03.2024, 20:48
@Akazami

Hobbymäßig (bin 15) und habe leider keine Erfahrung mit c

0
regex9  07.03.2024, 21:49
Wenn dein Ziel ist wirklich mal C zu lernen, kannst du auch erstmal C# lernen, (...)

Das ist meines Erachtens ein ziemlicher, unnötiger Umweg. C# ist um einiges umfangreicher als C. Zudem ist C gar nicht so kompliziert, als dass man als Anfänger keinen guten Einstieg finden könnte.

1
Akazami 
Fragesteller
 07.03.2024, 21:52
@regex9

Ja c ist an sich schon okay kompliziert. Aber eben das Hardware und Software gekoppelt sind (was natürlich logisch ist, das ist eben c), stört beim reinen programmieren lernen von Strukturen etc.

0