Laden...

Bin ich zu doof zum Anwendungsentwickler?

Erstellt von BlackArtC# vor 8 Jahren Letzter Beitrag vor 8 Jahren 3.589 Views
B
BlackArtC# Themenstarter:in
29 Beiträge seit 2016
vor 8 Jahren
Bin ich zu doof zum Anwendungsentwickler?

Hallo Leute,

mich würde mal Interessieren ob man zu Doof zum programmieren sein kann.
Ich lerne seit 2 Wochen wieder C# und Java. Dazu muss ich sagen das ich eine zweite Ausbildung als Fachinformatiker anfangen werde und davor schon eine elektronische Ausbildung mit nem 2er Schnitt abgeschlossen habe (also ganz Dumm dürfte ich nicht sein).

Ich interessiere mich wirklich sehr für die Materie, sowohl für die normale Softwareentwicklung als auch für die 2D-Spieleentwicklung. Gestern wollte ich dann ein Programm schreiben, welches einen Satz in einem string speichert, ihn splittet, in ein Array schreibt und diesen dann per Random vertauscht ausgibt. Es hat funktioniert -> jedoch gab es auch doppelte Wörter. Nach 2-3 Stunden googlen/ausprobieren hat dann auch das sortieren sowie das löschen doppelter Werte geklappt.

Was jetzt die eigentliche Frage ist: Ich erkenne zwar das was getan werden muss, tu mich jedoch schwer es richtig umzusetzen. Bei Tutorials oder Büchern kann ich wirklich gut folgen und habe auch oft AHA Effekte, aber bei diesem Programm hatte ich die totale Kopf Blockade. Muss ich jetzt davon ausgehen das ich einfach nicht das gewisse Etwas habe um gescheit zu programmieren, oder hat das einfach mit meinem geringen Wissen zu tun?

Hoffe Ihr könnt mir ernst gemeinte Antworten geben.

Gruß,
BlackArt

B
357 Beiträge seit 2010
vor 8 Jahren

Jeder fängt mal klein an und programmieren gehört nicht zu den einfachsten Übungen. Gute Software schreiben erst recht nicht. Ich muss auch dazu sagen, dass, obwohl ich seit etwa 8 Jahren hauptberuflich programmiere, ich noch jetzt immer wieder diese Aha-Momente habe und immer wieder neues lerne.

Ich gehe einfach mal davon aus, dass es die fehlende Routine ist. Ich merke das bei unseren Azubis und Studenten - relativ einfache Programmabläufe bereiten denen meist Schwierigkeiten, einfach wegen der fehlenden Erfahrung/Routine. Für jemanden, der das schon seit Jahren macht, ist das meist eine Fingerübung ohne groß zu überlegen.

B
153 Beiträge seit 2014
vor 8 Jahren

Setzt dich nicht unter Druck. Ich programmiere seit 5 Jahren. Gut 1 Jahr habe ich nur mit Tutorials verbracht und habe dann irgendwas zusammengestückelt.

Bis eine Routine sich einstellt und man weiß was man wann zu welchen Zeitpunkt wo braucht, dauert es einfach. Das wird aber.

Spieleprogrammierung ist auch nicht gerade ein leichtes Gebiet. Viele Sachen muss man erstmal selbst schreiben das man Sie später gut nutzen kann. Dafür braucht es auch eine ordentliche Portion Erfahrung.
Mein eigenes Spiele Projekt habe ich jetzt zum 3. mal komplett neu geschrieben. Einfach weil ich dinge gelernt habe und mir dadurch teils fundamentale Fehler erst aufgefallen sind.

Oder anders ausgedrückt:
Wenn du sofort mit Leichtathletik anfängst, wirst du die 100m garantiert nicht 10 Sekunden schaffen. Nicht mal nach 2 Monaten. Alles eine Übungssache.

Bleib bei der Stange. Lass dich nicht entmutigen.

[Space Opera Blog](http://bradley-software.blogspot.com/)
[Space Opera Forum](http://forum.bradley-labs.de/)
B
BlackArtC# Themenstarter:in
29 Beiträge seit 2016
vor 8 Jahren

Vielen Dank für die Antworten !!

Würde es bei meiner "Erfahrung" Sinn machen bzw. würde es was bringen wenn ich nebenher noch Unity lerne(Unity würde am nähsten liegen da ich bis jetzt nur gutes von dieser Engine gelesen habe und diese auch in C# ist)?

Hab momentan keine Ahnung was ich in welcher Frequenz lernen soll und was Sinn macht.

B
153 Beiträge seit 2014
vor 8 Jahren

Aus meiner Sicht nein.

Unity ist ein Tool das dir viel Arbeit abnimmt. Es erfordert aber trotzdem einiges an Hintergrund wissen. Spätestens beim Programmieren von Funktionen hast du wieder das gleiche Problem.

Ich würde erstmal sehen das du mit den Grundlagen klar kommst.

Also gut mit Methoden(Parametern), Klassen, Listen & Arrays klar kommst.
Auch wie du Daten von einer Klasse holst und in eine Andere Klasse schiebst.

Parallel kannst du ja ein kleines Spiele Testprojekt machen.
Ich würde dir wirklich empfehlen "unten" anzufangen also etwas wählen wo du alles selbst schreiben musst.

MonoGame würde mir da einfallen. Das nutze ich selbst.
Es ist eine Weiterführung von Microsofts XNA. Du kannst auch praktisch alle Tutorials von XNA auf MonoGame übertragen.
Die Ziele würde ich aber sehr niedrig stecken. Zum Beispiel ein Spiel wie Asteroids oder ein Mario(klon) wäre da eine passende Übung.

Du kannst mich dazu auch gerne anschreiben.

[Space Opera Blog](http://bradley-software.blogspot.com/)
[Space Opera Forum](http://forum.bradley-labs.de/)
F
10.010 Beiträge seit 2004
vor 8 Jahren

Setzt dich nicht unter Druck. Ich programmiere seit 5 Jahren. Gut 1 Jahr habe ich nur mit Tutorials verbracht und habe dann irgendwas zusammengestückelt.

Das ist das allergrösste Problem.
Die meisten Leute lernen schon nicht strukturiert, dann fehlen die meisten Grundlagen zu dem
was das aktuelle Tutorial benötigt, dann wird gefrickelt, irgendwas kopiert und am ende
funktioniert irgendwas, ohne das man weis warum, was bedeutet das man es beim nächsten mal wieder falsch anfängt.

Das erkennt man aber nur bei anderen, wenn man es anders selber gemacht hat.
Ich habe die Grundlagen in den 80ern gelernt, da gab es kein Internet, man konnte nicht "mal eben" irgendwas kopieren,
auch konnte man nicht in Foren fragen und deshalb musste man zwangsweise strukturierter vorgehen.

Also ganz klein anfangen und sich dann hocharbeiten.
Das scheint am Anfang langsamer voran zugehen, aber später geht es umso einfacher.
Ganz wichtig ist das Verständnis von Grundlagen und von OOP.
Wenn man z.b. nicht weis was recursive ist, kann man sich einiges erschweren.
Auch Pattern sind nach den absoluten Grundlagen wichtig, denn Pattern sind zwar kein Allheilmittel,
aber man erkennt dann Muster und kann das Problem dann besser einordnen.
Und da kommen wir zum entscheidenden Teil der Entwicklung, dem erkennen des Problems.
Was muss tatsächlich gemacht werden und wie kann man das u.a. ( es gibt immer mehr als einen Weg ) erledigen.

Und es ist doch klar das man das nach 2 Wochen noch nicht alles kann.
Und auch nach 30 Jahren SW-Entwicklung habe ich noch Aha's, und lerne jeden Tag was neues dazu.
Also nicht entmutigen lassen.

B
153 Beiträge seit 2014
vor 8 Jahren

Setzt dich nicht unter Druck. Ich programmiere seit 5 Jahren. Gut 1 Jahr habe ich nur mit Tutorials verbracht und habe dann irgendwas zusammengestückelt.

Das ist das allergrösste Problem.
Die meisten Leute lernen schon nicht strukturiert, dann fehlen die meisten Grundlagen zu dem
was das aktuelle Tutorial benötigt, dann wird gefrickelt, irgendwas kopiert und am ende
funktioniert irgendwas, ohne das man weis warum, was bedeutet das man es beim nächsten mal wieder falsch anfängt.

Das ist absolut Richtig. Vor einem Jahr habe ich über eine Fernschule angefangen ein Zertifkat als C#.Net Entwickler zu erlernen. Ich war überrascht wie viele Grundlagen mir zum damaligen Zeitpunkt übrehaupt nicht bekannt waren.

[Space Opera Blog](http://bradley-software.blogspot.com/)
[Space Opera Forum](http://forum.bradley-labs.de/)
B
BlackArtC# Themenstarter:in
29 Beiträge seit 2016
vor 8 Jahren

Vielen Dank für eure Antworten. Dann werde ich bis zur Ausbildung wohl felissig lernen.
SQL und Java müssen ja auch noch rein 😕

Grüße

B
357 Beiträge seit 2010
vor 8 Jahren

Lass Java erst mal weg. Lerne OOP anhand einer Programmiersprache. Ob das jetzt C#, C++ oder Java ist, spielt erst mal keine Rolle, das Prinzip ist dasselbe. Wenn du eine Sprache und ihre Prinzipien beherrschst, tust du dir sehr viel leichter, eine weitere Sprache zu lernen, da sich relativ viel hauptsächlich in Syntax und in Frameworks unterscheidet, aber nicht das grundlegende Arbeiten. Ich war überrascht, wie schnell ich mit C#-Kenntnissen unter Java eine App für Android schreiben konnte. Klar, man muss ein paar Sachen in der Doku nachsehen, aber das ist immer so, wenn man sich an ein neues Framework wagt.

SQL ist jetzt auch nicht das, was ich als Schwierigkeit ansehen würde. Das Erstellen von Datenbanken mit ERM-Modellen usw. schon eher. Die Northwind-Datenbank mag hier noch übersichtlich und handhabbar sein, aber es gibt halt auch Datenbanken und Arbeiten drumherum, die da etwas mehr haben. Aber auch hier: Hat man sich die Grundlagen sauber angeeignet, fällt einem das Arbeiten auch an größeren Sachen sehr viel leichter, als immer dieselben Fehler zu machen und diese dann mit Tutorials zu beheben - dabei aber nicht zu verstehen, was denn genau der Fehler war.

B
BlackArtC# Themenstarter:in
29 Beiträge seit 2016
vor 8 Jahren

Hallo bredator,

leider muss ich wohl oder übel C#,Java (Android Development Kit) und SQL für meine Arbeit
können . Da meine Ausbildung zum Fachinformatiker auch erst im September startet, würde ich gerne zumindest grundlegende Sachen drauf haben.

Hab mir jetzt noch ein "gutes" Buch zu SQL(brauch was in der Hand zum lesen) bestellt und werde das auch durcharbeiten.

Auf Android Basis konnte ich zumindest mal per Button die IMEI und den Provider auf meinem Handy anzeigen lassen c:

T
314 Beiträge seit 2013
vor 8 Jahren

Java != Android

Auch wenn Java und C# an deinem zukünftigen Arbeitsplatz eingesetzt wird, heißt das noch lange nicht, dass man beides gleichzeitig lernen sollte.

Auch vorher solltest Du dich erstmal mit C# und in diesem Rahmen dann eben auch mit Datenhaltung (u.a. via Datenbank, Dateien etc.) beschäftigen. Und erst wenn Du meinst okay... dieser Wissensstand reicht mir um damit zu starten, dann kann man sich ansehen wie dies in Java umzusetzen ist.

16.806 Beiträge seit 2008
vor 8 Jahren

Ich seh das wie t0ms3n: lern es nicht gleichzeitig.
Die Grundregeln und Syntax ist bei C# und Java relativ ähnlich - aber die jeweiligen funktionalen Möglichkeiten beider Sprachen haben teilweise andere Bezeichnungen.

In Java heisst es

Attribute sind die Merkmale, die ein Objekt von einem anderen unterscheiden. Die Attribute eines Objektes enthalten Informationen über seinen aktuellen Zustand. Sie werden durch Variablen beschrieben.

In C# gibt es genau das gleiche. Aber das heisst nicht Attribut, sondern Eigenschaft.
Attribute in C# gibt es auch; machen aber was völlig anderes.
In vielen Sprachen gibt es Funktionen; in C# (wie im OOP Bereich üblich) wird der Term Methode verwendet - machen aber genau das gleiche. Der Term Funktion wird aber bei C# in der funktionalen Programmierung aber auch verwendet; aber nur dort.

Gerade als Anfänger, der das oft dann nicht unterscheiden kann, wird Dich das mit Sicherheit verwirren.
Es ist im Prinzip egal ob Du in C# oder Java anfängst, auch wenn ich der Meinung bin, dass Du es mit C# leichter haben wirst.
Aber erst wenn Du die Grundregeln verstehen und anwenden kannst, dann kannst Du auch die Terms auseinander halten und vergleichend agieren.

Bring Dich erst in einer Sprache auf ein gewisses Level; teil es Dir ein.
Dann zieh mit einer anderen Sprache nach. Ich kenne zudem sehr wenige Entwickler, die mehrere Sprachen aus dem FF beherrschen, dafür sehr viele Entwickler, die 1 Sprache in Perfektion nicht nur schreiben, sondern auch verstehen und anwenden können.
Dafür andere Sprachen im fortgeschrittenen Status aber handhaben können.

B
BlackArtC# Themenstarter:in
29 Beiträge seit 2016
vor 8 Jahren

Danke für die Antworten,

also werde ich wohl bis September nur auf C# konzentrieren und paar Bücher/Internetbeiträge durchlesen 😄.

B
153 Beiträge seit 2014
vor 8 Jahren

Als ein Standart Werk kannst du Clean Code von Robert C. Martin holen.

[Space Opera Blog](http://bradley-software.blogspot.com/)
[Space Opera Forum](http://forum.bradley-labs.de/)
B
BlackArtC# Themenstarter:in
29 Beiträge seit 2016
vor 8 Jahren

Ich habe momentan "Jetzt lerne ich C# von Dirk Louis", lohnt es sich da dein vorgeschlagenes Buch zu kaufen?

P
1.090 Beiträge seit 2011
vor 8 Jahren

Clean Code ist wirklich ein gute Buch, grade was Code Qualität angeht. Für einen "Anfänger" vielleicht erst mal nicht unbedingt geeignet. Wenn du die Grundlagen der OOP verstanden hast, ist es aber sicher Lohnend.
Die wichtigsten Punkte sind im Prinzip bei http://clean-code-developer.de/ zu finden. Die kann man sich einfach mal durchlesen und versuchen umzusetzen.

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

B
BlackArtC# Themenstarter:in
29 Beiträge seit 2016
vor 8 Jahren

Vielen Dank,

wenn ich mit meinem Buch fertig bin, werde ich mir das mal genauer anschauen 😄