Programmier - Thread

S

Style2

Guest
Thread-Ersteller
Hi,

mich würde mal interessieren,wie viele Leute es in der CW Community gibt die das programmieren beherrschen bzw. damit ggfs. sogar ihre Brötchen verdienen.

Ich selber hatte damit bis vor kurzem eigentlich nichts am Hut. Witzigerweise war es die Corona-Pandemie die meine Hobbys (bei vielen davon kommt man sich körperlich sehr nah --> Tanzen, Fitnessstudio) gekillt hat, und aus lange Weile habe mir ein Java-Lehrbuch, welches ich mal vor Ewigkeiten gekauft aber nie gelesen habe, rausgekramt und in den letzten 7 Wochen abgearbeitet.

Auf der einen Seite finde ich es super motivierend, dass ich schon kleine simple Anwendungen mit GUIs erschaffen kann. Auf der anderen Seite habe ich eine riesige Ehrfurcht davor, da ich nach über 600+ Seiten Lehrmaterial und vielen vielen Stunden Übungen merke, dass ich lediglich an der Oberfläche dieser Sprache bzw. des Programmierens insgesamt gekratzt habe.

Es macht mir aber Spaß und ich möchte mein Wissen gerne vertiefen. Ich könnte mir vielleicht auch vorstellen damit (bzw. mit anderen Sprachen z.B. insbesondere für mobile-Apps) auch mal Geld zu verdienen. Wobei ich an dieser Stelle ehrlich sagen muss, dass ich kein Plan hab, ob das realistisch ist, zumal ich keinen speziellen IT-Hintergrund/Ausbildung/Studium habe und eher aus der klassischen BWL-Ecke komme.

Lasst mich mal von euch hören.
 
Du hast ein 600+ Seiten Fachbuch durchgepaukt, Respekt ersteinmal dafür. Ich habe ich auch unzählige rumliegen, aber durchgearbeitet habe ich noch keine. Nehme sie eher häufig als Nachschlagewerk.


Es macht mir aber Spaß und ich möchte mein Wissen gerne vertiefen. Ich könnte mir vielleicht auch vorstellen damit (bzw. mit anderen Sprachen z.B. insbesondere für mobile-Apps) auch mal Geld zu verdienen. Wobei ich an dieser Stelle ehrlich sagen muss, dass ich kein Plan hab, ob das realistisch ist, zumal ich keinen speziellen IT-Hintergrund/Ausbildung/Studium habe und eher aus der klassischen BWL-Ecke komme.

qh6idqqf.png



:coolface:

Später vielleicht mehr, Essen ruft ^^
 
Es muss nur einmal klick machen und dann bist du Herr der Lage. Es ist vergleichbar mit Lesen, wenn du es einmal verinnerlicht hast, dann kannst du es einfach. Java, sprich OOP ist vielleicht für dem Anfang zu steil, k.a aber wenn man einmal Bock aufs Programmieren hat und man die Anfangsprobleme geknackt hat, so hat man dann keine Grenzen in dem was man tut. Was auch sinnvoll ist, ist sowas wie Datenbanken zu beherrschen, sprich Mysql. Vielleicht was sehr gute Ergebnisse liefert, ist PHP(mit Xampp) und da erstmal einfache Webinterfaces usw. programmieren, danach vielleicht etwas für sofortige Interaktion(Ajax) und danach selber schauen auf was man Bock hat, z.B. Python, C++ oder einfach paar Apis antesten und gucken was man da so machen kann.
 
Generell SQL schadet nie. Die Grundzüge verinnerlicht man schnell. Trotz des aufkommenden NoSQL Paradigmans (Graph-, Dokumentendatenbanken etc) wird man unabhängig der Programmiersprache überall damit in Kontakt kommen.
Ansonsten ist es wie es schon @thraker angedeutet hat, häufig wichtig schnell Erfolge zu haben. Programmieren lernen kann halt sehr trocken sein, gerade in Fachbüchern zu Programmiersprachen, welche in den meisten Fällen erst einmal über 200+ Seiten die Grundlagen erläutern, ohne aber gefühlt etwas umgesetzt zu haben. Meiner Erfahrung nach ist der umgekehrte Weg motivierender. Man nimmt ein Framework, kann relativ schnell einen Prototypen auf die Beine stellen und lernt anhand dessen die Zusammenhänge und erschließt sich die Grundlagen.

@thraker
Zwischen Python und C++ ist die Fallhöhe schon ordentlich :coolface: Ich würde hier Python eher in die Richtung von PHP schieben. Beides mehr oder minder dynamisch typisierte Skyriptsprachen, die mit Frameworks wie Django oder Laravel zum Einstiegt gleich viel im Paket bieten, ohne gleich solche Monstren wie C#, Java oder C++ zu sein.

@Style2

Mit Java bist du für mobile Apps erst einmal nicht schlecht beraten. Sie ist noch immer die Nummer 1 Sprache für Android Apps, die gerade nur Konkurrenz von Kotlin bekommt, die aber auch "nur" eine Top-Level-Sprache von Java ist.
Ansonsten gibt es neben den nativen Entwicklungsumgebungen der mobile OS Anbieter, hier ist dann neben dem Android Studio mit den schon genannten Sprachen Java und Kotlin natürlich noch xCode für Apple und den Sprachen Objective-C und Swift zu nennen.

Es gibt aber auch Frameworks für Crossplattform-Apps. Das versprechen ist, einmal Code schreiben und überall ausführen. Zu nennen wäre da Flutter mit der Sprache Dart, Xamarin mit C#, Ionic mit Typescript oder React Native.
Ich hatte vor ca. 3 Jahren mal ein Projekt mit Ionic und muss sagen, fand es ziemlich geil :D
 
Er hat schlussendlich mit Java angefangen, danach kommt meist das OOP für Fortgeschrittene(C++):devilish: und immer Header nicht vergessen , nix mehr mit Garbage Collector^^. Aber wie du schon sagst, Python ist ne gute einfache Sprache aber für visuelle schnelle Erfolge istsowas wie PHP +JS +Mysql ne gute Kombo und mit dem simplen Webserver, wie Xampp hat man direkt alle Sachen ohne viel Aufwand installiert und kann direkt loslegen^^
 
Schon richtig, nur finde ich PHP hässlich :D Das ist aber keine objektive Meinung, Java kann ich auch nicht ab, einfach aus Prinzip xD

Privat versuche ich mich gerade wieder an Angular. Ein Frontend Framework, dass auf Typescript setzt. Muss da immer wieder erst einmal reinkommen, da das Ding jetzt nicht unbedingt leichtgewichtig daherkommt. Das letzte Mal kam mich damit richtig im Ionic-Projekt in Kontakt, welches auf Angular setzt (bei aktuelleren Releases glaube auch auf React).
Als Backend habe ich einen kleinen Webserver in Golang geschrieben. Das war eigentlich die Hauptintention: Ein bisschen Go lernen. Jetzt ziehe ich das halt als Fullstack auf (Angular, Golang und Postrgre)
 
Buah, ne auf Angular hätte ich kein Bo :coolface: ck. Ich musste letztens nen Backend und Frontend für eine Art PDF-Generierer mit dynamischen Frontendeingaben, je nachdem was in Backend gewünscht ist programmieren und die PDF-API's ohne Lizenzen(da Unternehmen(egal wie groß die sind) immer geizig) waren echt toll, musste da selber was mit C++ einprogrammieren und die PHP-Klassen erweitern. War auch ätzend, bin jetzt froh, wieder etwas normales in C + Python zu tun zu haben. Was ich ganze Zeit hoffe aber kam noch nicht, irgendwas mit C# zu programmieren aber bisher kamen bei uns solche Aufträge nicht(hab damit noch nie was programmiert aber wollte es immer schon tun)
 
Für langlebige und gut wartbare Businessanwendungen empfehle ich immer C#. Halte die Sprache mit dem .Net Unterbau für eine wunderbar gepflegte, stabile und saubere Sprache.
Sehe es auch ein wenig kritisch, dass die Tendenz sich hin zu JS für Businessanwendungen entwickelt. Ich will solche Anwendungen mit ihren, meines Erachtens nach, Dependencies Overhead nicht einige Jahre später pflegen müssen.

Zu C++ habe ich auch gerade eine Geschichte. Hatte den Fall, dass wir ein Kernsystem abgelöst haben, was auch ...ok funktioniert hat, abseits der Herausforderungen die man hat, wenn Kernsysteme aus Kernprozessen abgelöst werden. Irgendwann, nach Ablösung des Systems, sprang eine Fachabteilung auf, die eine Funktion vermisste und vom neuen System nicht abgedeckt war. Bis zu dem Zeitpunkt wusste keiner davon, Customizing in Eigenregie der Businessunit halt. Die Extension war in C++ geschrieben. Einfaches rauslösen war nicht drin und ich hatte keinen Bock mich jetzt in C++ reinzufuchsen.
Also nahm ich die Anforderungen auf und suchte nach einer asap-Lösung. Die bestand am Ende daraus, dass ich die Funktion wunderbar in Python Pandas nachbauen konnte. Hatte mit Pandas davor nichts am Hut, aber bin seit dem Fan davon. Gutes Ding um Daten aus verschiedenen Quellen miteinander zu verrechnen. Umgesetzt das ganze in Jupiter Notebook als VS Code Extension. Die Datei dann in eine .py umgeformt und die wiederum in eine .exe kompiliert.

Das hatte mir gezeigt, wie reichhaltig die Python-Welt eigentlich ist, mit der man schnell das richtige Tool für einen Case finden und diesen auch schnell umsetzen kann.
 
Bin seit 20 Jahren am Start. Angefangen mit Frontend Gedöns mit HTML(ja, ich weiß, dass ist kein „programmieren“)
dann viel Flash & Actionscript, damit 12 Jahre selbstständig gewesen. Heute hauptsächlich Unity mit C#. Hab noch Lust auf IOS/Swift.
Java ist ok. C++ meide ich wie die Pest.
 
Java als Einstieg? Niemals. Dann besser JavaScript (hat nix mit Java zu tun).

Gute Einstiegssprache wäre auch Python. Da aber die Konzepte in jeder Sprache ähnlich/gleich sind, fällt später der Umstieg auf eine andere sehr leicht.

JS-Ökosystem ist halt auch interessant. React und Vue als Frameworks. Oder mit Node.js direkt eigener Server quasi. Man sieht zudem recht schnelle Ergebnisse, also dass sich da was tut. Kann auch in Browsern und der Console schön rumspielen.
 
Bin seit 20 Jahren am Start. Angefangen mit Frontend Gedöns mit HTML(ja, ich weiß, dass ist kein „programmieren“)
dann viel Flash & Actionscript, damit 12 Jahre selbstständig gewesen. Heute hauptsächlich Unity mit C#. Hab noch Lust auf IOS/Swift.
Java ist ok. C++ meide ich wie die Pest.
Was machst du konkret in Unity?
 
Generell hast du bis dato alles richtig gemacht. Mit Java / C# / Swift anzufangen ist nämlich schon mal ein guter Anfang. Jetzt hast du zumindest schon einmal ein grobes Gespür dafür was eine objektorientierte Programmiersprache bzw. – in deinem konkreten Fall – Java ist. Im nächsten Schritt heißt es einfach über die kommenden Wochen und Monate all die Konstrukte durch konkretes anwenden zu verinnerlichen. Dabei wird es dir sicherlich noch oft genug passieren, dass du merkst, dass du bestimmte Konstrukte bisher nicht vollständig verstanden (oder gar missverstanden) hast. Das ist allerdings völlig normal, wenn du tatsächlich bei null angefangen hast. Auf deinem weiteren Weg kann ich dir nun drei wichtige Dinge mitgeben:

  • Programmieren ist - egal ob man ein Anfänger, Fortgeschrittener oder Profi ist - ein ständiges Auf und Ab. Mal kann man das verdammte Problem einfach eine gefühlte Ewigkeit nicht lösen und fühlt sich wie der größte Depp auf diesem Planeten. Mal löst man ein richtig großes Problem und fühlt sich so allmächtig wie Gott. Dieses Wechselspiel der Gefühle gehört nun mal zu dieser (alles andere als einfachen) Tätigkeit einfach dazu und wird auch nie komplett verschwinden.
  • Das Internet liefert auf die meisten Fragen / Probleme eine Vielzahl an Erklärungen / Lösungen, aber sehr oft sind diese Erklärungen / Lösungen leider unzureichend oder gar komplett falsch. Zwischen einem Hack der scheinbar das Problem löst und einer tatsächlichen Lösung des Problems liegen oft genug Welten und im World Wide Web kann nun mal wirklich jeder seinen Senf dazugeben. Deshalb nehm dir stets die nötige Zeit, beschäftige dich mit den verschiedenen Vorschlägen und hinterfrage diese auch.
  • Falls du tatsächlich am Ball bleibst, dann wirst du auch nach einiger Zeit (wir reden hier von Monaten bzw. Jahren) das Programmieren beherrschen. Damit bist du allerdings noch lange nicht am Ziel angekommen, denn spätestens ab dann kannst du dich damit beschäftigen wie man Software entwickeln sollte, so dass diese bestimmte Qualitätsmerkmale erfüllt. Diese Reise kennt jedoch kein Ende mehr, denn hier lernt jeder Entwickler ein Leben lang dazu.
 
Was mich an der ganzen Sache besonders reizt, sind die unendlichen Möglichkeiten die sich ergeben, die Flexibilität und der geringe Ressourceneinsatz.

Zum Programmieren brauche ich theoretisch nur ein 10 Jahre altes Notebook, ich kann darauf allerlei Produkte/Programme entwickeln und das weltweit, da die Sprachen universell sind, egal ob ich in einer Firma, bei mir zu Hause oder grade an der Copacabana bin.
 
Was mich an der ganzen Sache besonders reizt, sind die unendlichen Möglichkeiten die sich ergeben, die Flexibilität und der geringe Ressourceneinsatz.

Zum Programmieren brauche ich theoretisch nur ein 10 Jahre altes Notebook, ich kann darauf allerlei Produkte/Programme entwickeln und das weltweit, da die Sprachen universell sind, egal ob ich in einer Firma, bei mir zu Hause oder grade an der Copacabana bin.

Nur brauchst du für dem Beruf eine Qualifikation, ich glaube Quereinsteiger haben es zur jetzigen Zeit schwerer als damals. Und ja, man braucht eigentlich nur das Wissen(und das Wissen erhält man nur durch jahrelange Übung und Weiterbildung/Problemlösung) und eine normale HW. Du darfst aber nicht die Meilensteine und dem damit verbunden Stress unterschätzen. Meist ändern sich die Anforderungen je Projekt und man muss dort schnell Fuß fassen, zudem sind auch Anwendungen für z.B Unternehmen die automatisiert arbeiten, wie Maschinensteuerung usw. mit viel Kosten verbunden, sprich, läuft was schief, kommt dann sowas wie Haftung ins Spiel usw...
 
Zuletzt bearbeitet:
Die Vorstellung was man braucht und wo man alles arbeiten könnte, ist etwas idealisiert.

In der Praxis gibt es je nach Arbeitgeber trotzdem Diskussionen, ob Home Office ermöglicht wird. Und selbst als Webentwickler wird man mit dem alten 10 Jahre alten Notebook nicht glücklich. Zumindest, wenn Docker und co verwendet werden
 
Die Vorstellung was man braucht und wo man alles arbeiten könnte, ist etwas idealisiert.

In der Praxis gibt es je nach Arbeitgeber trotzdem Diskussionen, ob Home Office ermöglicht wird. Und selbst als Webentwickler wird man mit dem alten 10 Jahre alten Notebook nicht glücklich. Zumindest, wenn Docker und co verwendet werden
Man arbeitet einfach dann auf dem Server oder halt über VM, meist sind die Arbeitsnotebooke schon von den Kernen gut bestückt, jedenfalls bei uns. Also Kerne und Ram haben sie meist überproportional in Vergleich zu den normalen Notebookes aber für normale Programmierung braucht man das nicht, wobei man schon sagen muss, man arbeitet meist über git und da klappt es meist mit normaler HW auch ziemlich gut.
 
Was mich an der ganzen Sache besonders reizt, sind die unendlichen Möglichkeiten die sich ergeben, die Flexibilität und der geringe Ressourceneinsatz.

Zum Programmieren brauche ich theoretisch nur ein 10 Jahre altes Notebook, ich kann darauf allerlei Produkte/Programme entwickeln und das weltweit, da die Sprachen universell sind, egal ob ich in einer Firma, bei mir zu Hause oder grade an der Copacabana bin.
Es kommt darauf an. Wenn du im Game Dev unterwegs bist und mit Unity/ Unreal aufwendige Spiele entwicklest brauchst du auch eine entsprechende Testumgebung mit guter Hardware. Dasselbe gilt auch in Bereichen, wo du mit großen Datenmengen (Data Science) arbeitest. Mit einem 8/15 Laptop kommst du da nicht weit.
 
Zurück
Top Bottom