Bin ich ungeeignet?

  • 19 Antworten
  • Letztes Antwortdatum
JavaFuchs07

JavaFuchs07

Neues Mitglied
1
Hey liebe Community,

ich habe einige Probleme mit mir selbst und der Programmierung.
Zuerst einmal ist es mein Ziel später tolle und brauchbare Apps für Android und iOS zu schreiben. Ich habe ca. vor einem Jahr angefangen mich mit Java zu beschäftigen. Nun dachte ich mir:" So jetzt hast du grundlegende Kenntnisse in Java, dann kannst du mal mit Android anfangen!". Dann habe ich angefangen kleinere Apps für mein Handy zu schreiben, unter anderem eine einfache Taschenrechner-App, was ich ohne Probleme bewerkstelligen konnte.
Wage ich mich aber an schwierigere Dinge wie z.B. Google Maps in meine App zu implementieren, scheitere ich, da ich vieles nicht verstehe und schon denke ich wieder:"OK, setz dich mal lieber wieder an Java!"... Ein paar Tage später setz ich mich aus Neugierde wieder an die App Programmierung und scheitere wieder. Das ist ein bei mir immer wiederkehrender Teufelskreis und ich weiß nicht, wo ich weiter machen soll?
Ich habe mir einfach mal den Quell-Code fertiger Apps angeschaut und muss sagen, ich verstehe nichts!
Haben die Entwickler von z.B. Angry-Birds Java erst 10 Jahre studiert, bis sie angefangen haben oder wie soll so etwas funktionieren? Was glaubt ihr, wie lange braucht man um denkbar simple Games wie Doodle Jump zu schreiben? Nicht, dass ich denke das Game wäre einfach zu programmieren aber bezogen auf 3D Games wie Real Racing müsste Doodle Jump doch ein Klacks sein?
Ich verzweifle langsam und weiß nichtmal mehr, ob ich in 20 Jahren in der Lage sein werden, 2D Spiele zu programmieren... :(
Was würdet ihr machen, bzw. wie sollte man vorgehen? Lieber Themen raussuchen, die einen interessieren und sich dann bis zum Ziel vorarbeiten oder doch lieber eine Reihenfolge in einem Buch abarbeiten?

grüße JavaFuchs07
 
Naja ich bekomme die ganz schweren Sachen auch noch nicht auf die Reihe, hab vor 2 Jahren mit Java angefangen. Am besten kommst du vorran wenn du dir anfangs GANZ KLEINE ziele setzt, z.B. meine erste richtige App hat nur ein paar Systeminformationen ausgelesen. Vor nem Jahr bestand mein Alltag auchnoch aus snippets kopieren und hoffen das was klappt, aber nun gehts schon deutlich leichter von der Hand ;)
Lange Rede, kurzer Sinn, es kommt mit der Zeit, immer kleine Ziele setzen und niemals mit der Spiele-Programmierung anfangen, die zerstört dich , spreche aus Erfahrung ;) . Ansonsten musst du manchmal einfach etwas unkoventionel denken, etwas umständliche und "komische" Lösungswege nutzen , dass ist eben Android.
Ansonsten noch viel Glück, und wenn etwas nicht klappt gibts ja immer noch Android-hilfe.de :)
 
Es gibt da einen kleinen, oder auch 2, gedanken dreher bei dir!

erstens kann ein 3d game programmiertechnisch einfacher sein als ein 2d game. 3d spiele sind heftig weil du eine menge designer brauchst die das ganze grafiks zeuch machen. ein 2d rennspiel ist genau so schwer zu progeln wie ein 3d rennspiel !

vom taschenrechner zu maps anwendungen ist der sprung ..... du kannst bestimmt, in echt, einen meter hoch springen. weil du das kannst kommst du noch lange nicht zum mond ! vom taschenrechner zu maps, das ist die gleiche entfernung.

ich habe damals mit actionscript angefangen und wollte dann auch direkt nach dem ich simples zeug konnte ein spiel schreiben. ging nicht, der sprung war zu heftig. mein problem war das ich grundlegendes ... also was ist programmieren, wie geht das und wie funktioniert das nicht kannte. mir hat es geholfen die sprache zu wechseln und immer wieder wenn ich gewechselt bin habe ich die grundlagen ein stück besser verstanden. ich bin von as zu php, dann c, dann eine ausbildung angefangen und auch noch c++ gelernt.

heute fällt es mir leichter mich in neue sachen einzuarbeiten, weil ich einfach die theorie des programmierens kenne. das heißt nicht das ich sofort mit maps arbeiten könnte, aber ich habe eine vorstellung wie es gehen sollte und mit der dokumentation bekomme ich zimlich schnell etwas zustande. fremder code erschließt sich mir auch leichter heute.
 
Das passt dann aber nicht ganz mit dem, was in anderen Foren steht zusammen. Dort ist die Rede von Grundkenntnisse Java und dann Android.
Ich habe nun 1 Jahr lang Java programmiert und dann mit Android angefangen und ich verstehe trotz all dem 99% des geschriebenen Codes einer fertigen App nicht. Es hapert allein schon an Wörtern wie Instanzen.
Folge ich einer Anleitung auf http://developer.android.com/index.html , wird gesagt, man soll einfach eine Instanz einer MapFragment setzen.
Heißt für mich:
Code:
public myClass {
MapFragment mapFragment;
Dann möchte ich importieren, es geht aber nicht, da das Android SDK keine MapFragment kennt.
Da frage ich mich doch, was ist das für ne blöde Seite von Google?

grüße JavaFuchs07
 
Zuletzt bearbeitet von einem Moderator:
@JavaF
Confixx ist irgendwas in PHP und hat mit Java wenig am Hut ... Confixx, irgendwas war da mit server sachen ....
 
Zuletzt bearbeitet von einem Moderator:
Das kommt drauf an, ob du wirklich "dran hängst". Ich bin erst seit 3 Wochen dabei, werde demnächst auch die erste App vollständig fertig haben. Liegt eben an der "Selbstkobtrolle" oder wie das heisst

Gesendet von meinem GT-S5360 mit der Android-Hilfe.de App
 
Zum Thema Software-Entwicklung:

Man muss eine paar Grundvoraussetzungen mitbringen:

  • Logisches Denken: Wenn ich den Unterschied zwischen 'Wenn-Dann' und 'Genau-Dann-Wenn' nicht erkennen würde, würde ich es beim Programmieren schwer haben, weil ich nicht verstünde, warum es sich im einen Fall so und im anderen Fall eben anders verhält.
  • Gute Englischkenntnisse: Die wirklich weiterführende Information ist sehr oft nur in englischer Sprache verfügbar. Es fällt mir inzwischen gar nicht mehr auf, wenn ich einen Text in englischer Sprache lese, weil es einfach zur Routine geworden ist.
  • Liebe zum Detail: Jedes einzelne Bit hat beim Programmieren seine Bedeutung. Wenn ich nicht in die Details verliebt wäre, würde ich keine Freude daran haben, auf jedes Detail zu achten.
  • Lernwilligkeit: Ich entwickle seit 34 Jahren Software, und ich muss jeden Tag etwas neues lernen. Wenn ich keine Lust habe, täglich etwas neues zu lernen, werde ich viele der gesetzten Ziele nicht erreichen können. Denn ich werde viele meiner Ziele mit dem Wissen, das ich im Moment habe, nicht erreichen.
  • Phantasie: Neben der Mathematik ist die Software-Entwicklung das Tätigkeitsfeld, das am meisten Phantasie erfordert. Jede spannende Entwicklung erfordert, dass ich mir was völlig Neues ausdenke.
  • Liebe zur Mathematik Viele Gebiete der Software-Entwicklung haben eine Mathematische Grundlage. Hier ein paar Beispiele:
    • 2-D Spiele: Geometrie
    • Verschlüsselung: Algebra
    • 3-D Spiele: Lineare Algebra
    • Physik-Engine: Numerik
  • Hartnäckigkeit und Unverzagtheit:Ich habe an schweren Problemen auch schon Wochen lang gekämpft, bis ich sie endlich gelöst habe. Ich verliere erst dann, wenn ich aufgebe! Und wenn ein Problem wirklich nicht zu lösen geht, kommt der Punkt Phantasie ins Spiel, dann überlege ich mir eine Alternative.

Wenn Du diese Punkte erfüllst, kannst Du alles erreichen! Vor einem Jahr hatte ich noch nicht mal ein Android-Gerät besessen, ja wusste noch nicht mal, wie man ein Android-Gerät auch nur bedient!

Ich habe über meinen Werdegang im Bereich Android auch mal eine kleine Abhandlung geschrieben, die Dich vielleicht etwas ermutigen kann: https://www.android-hilfe.de/forum/...rnel-entwickler-und-rom-portierer.443152.html

Zu Deinem Problem mit dem MapFragment:

Vorbemerkung 1: Ich habe noch nie die Klasse MapFragment verwendet, oder bis eben von ihr gehört.
Vorbemerkung 2: Ich unterstelle mal, dass Du Eclipse und Android-SDK installiert hast


  • Eclipse: Ich habe Eclipse gestartet, in einem vorhandenen Stück Code (aus einem meiner Android-Projekte), an einer Stelle, wo ich eine Variable deklarieren kann, 'MapFr' eingeben und dann Strg+Space gedrückt. In 'Code-Completion-Popup' wurde 'no proposals' angezeigt. Das bedeutet, dass in meinem aktuellen Projekt die Klasse MapFragment unbekannt ist, und auch nicht durch ein 'import' Statement eingebunden werden könnte.
  • Google: Ich habe in Google einfach nur das Wort MapFragment eingegeben. Das erste Ergebnis war MapFragment | Android Developers. Dort habe ich drauf geklickt.
  • Developer Guide: Am linken Rand der sich öffnenden Seite war eine 'Baumartige Übersicht'. Der oberste Punkt darin war 'Developers Guide'. dort habe ich drauf geklickt.
  • Getting started: Nun hat sich der Zweig 'Developers Guide' 'aufgeklappt', so dass ich die Unterpunkte sehen konnte. Dor fand ich den Punkt: 'Getting Started'. Den habe ich angeklickt.

Die Belohnung für diese geringe Mühe:

Google-Maps-API - Developers-Guide - Getting-Started schrieb:
Getting the Google Maps Android API v2

The API is distributed as part of the Google Play services SDK, which you can download with the Android SDK Manager. To use the Google Maps Android API v2 in your app, you will first need to install the Google Play services SDK. To learn how to install the package, see the Google Play services documentation.

Was will ich damit sagen?

Ich werde Dir mit Sicherheit nicht jedes mal zeigen, wo man die benötigten Infos mit Hilfe von Google findet.

Gib einem Mann ein Fisch, und er ist einen Tag satt. Zeige einem Mann wie man fischt, und er ist sein Leben lang satt

Was ich aber sagen will: Es ist sicher nichts gegen ein Tutorial zu sagen, aber man muss lernen, wie man über die Fehler, die in einem Tutorial drin sein können, drüber weg kommt.

Wenn man immer nur das an Code abtippt, was man in einem Tutorial findet, hat man nichts selbst entwickelt!

Also einfach unverzagt ran an das Projekt, selbst die Initiative ergreifen und Du kannst alles erreichen, was Du wirklich willst...

Zu den Vergleichen, was wie schwer zu entwickeln ist:

Das Einbinden von Google-Maps-API sehe ich jetzt nicht als die große Herausforderung, es einfach nur ein neues API einbinden. Einen Taschenrechner, der nicht nur stumpf +, -, *, / kann, sondern der auch noch Klammern und 'Punkt vor Strich' beachted, ist da durchaus nicht weniger anspruchsvoll, und wenn er auch noch Programmierbar wäre, wäre es eine Sache, die durchaus reizvoll sein kann, und richtig Spaß macht...

Beim Vergleich 2D Spiel gegen 3D Spiel sehe ich auch im 3D Spiel durchaus Möglichkeiten für einen Entwickler, Spannung zu haben. Man kann sich sowohl an den 'Effects' über vorhandene 3D Engines hinaus profilieren, die mathematische Grundlage (Lineare Algebra) hat ihre Reize und eine saubere Physik-Engine hinzulegen ist auch nicht gerade langweilig...

MfG Uwe
 
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: GENiALi
u.k-f schrieb:
Wenn man immer nur das an Code abtippt, was man in einem Tutorial findet, hat man nichts selbst entwickelt!
Das wollte ich auch schreiben ... Die "Grundkenntnisse" in Java denke ich sind nicht vorhanden, sondern es wurden halt Tutorials nachgemacht und fertig ... Den Grundkenntnisse sind bspw. (das nicht bekannte) "Instanz" ;)
 
MrPermanent@ Das war ein Versehen, sollte eig. die Android Developer Seite hin :)

Greenstar@ Also ich versuche möglichst jeden Tag 1-2 Stunden zu programmieren, leider bin ich manchmal zu beschäftigt, dafür bin ich am Wochenende fast durchgehend von morgens bis abends am proggen :flapper:

u.k-f@ Hey u.k-f, vielen Dank erst einmal für deinen ausführlichen Text, der mir echt weitergeholfen hat. Ich fange mal oben an:
Ich denke, ich erfülle alle dieser Vorraussetzungen, dass logisches Denken mir sehr gut liegt, habe ich in der Schule immer von meinen Lehrern gehört. Englischkenntnisse sind nicht die besten, für einen Text reicht es aber allemal, wenns mal Probleme gibt, ist Google immer für mich da ;).
Ansonnsten bin ich ein Mathe Ass, wenn ich mich mal wieder mit solchen Dingen beschäftige, ich habe dauernd gute bis sehr gute Noten in Mathe gehabt und nie wirklich Probleme, dass wird also das kleinste Problem. Hartnäckig bin ich bis zu einem Punkt, wo ich wirklich auch nach Wochen nicht weiterkomme(siehe aktuelles Problem). Ich denk mir einfach immer wieder, meine Java Kenntnisse reichen nicht, wobei ich die im Buch gestellten Aufgaben mit Leichtigkeit fertig stelle und auch schon kleine Programme wie nen Primzahlenrechner geschrieben habe(ganz allein:cool2:)

Zu meinem Problem mit dem MapFragment, bin ich immer noch nicht weiter gekommen, ich habe alles gemacht, was auf der Seite steht, vielleicht liegt es auch an Mac? Ich werde trotzdem solange alles versuchen, bis ich es geschafft habe.
Was ich zum lernen von Java noch sagen kann, ich schreibe nie Code einfach so ab und freue mich denn, wenn es funktioniert. Ich schreibe mir den Code auf nen Zettel und zerlege in immer kleiner werdene Einzelteile, bis ich das Programm verstanden hab.
Dass 3D Spiele nicht schwieriger zu programmieren sind, wundert mich etwas, da 3D doch meistens in Engines gemacht wird und nicht in einfachen Code Zeilen oder? Ich frag mich sowieso jedes Mal, wie man 2/3 D Teile in ein Spiel integriert, ob da einfach nur einzelne Bilder des 2/3 D Objektes gemacht werden oder ob die Engine den Code selber schreibt und ich ihn nachher nur noch in mein Code integrieren muss?

kleinerkathe@ Wie bereits erwähnt, nehme ich die Code Zeilen auseinander, bis ich sie verstanden habe und auch selbständig wieder schreiben kann.

Gruß JavaFuchs07
 
Man kann 3D durchaus auch realisieren, ohne irgendwelche Engines zu benutzen, indem man (je nach Plattform) entweder auf die OpenGL oder die DirectX Lib aufsetzt. Nur die Effects, werden in einer Script-Sprache geschrieben, da die dann nicht mit in das Programm eingebunden werden, sondern an die GPU übergeben werden (und von der GPU zu nativem GPU-Code umgesetzt).

Genau genommen würde ich nie eine 3D Engine nutzen, dann ist doch der ganze Spaß weg...

MfG Uwe
 
Darf man fragen, was Du beruflich machst?

Grundsätzlich ist für mich das Erlernen vom Programmieren und der ganzen IT im Selbststudium kritisch. Die meisten Kopieren tatsächlich 90% des Codes und verstehen nicht wirklich, was da eigentlich wirklich passiert und kennen die Hintergründe garnicht. :scared:

Das kenn ich auch von Werkstudenten oder Azubis bei uns ...

Einen schlechten Programmierstil kriegt man schlecht wieder weg.

Wenn Du bisher beruflich nichts damit zutun hattest, könntest Du doch auch versuchen, dich dahingehend weiterzuentwickeln. :)
 
Zuletzt bearbeitet von einem Moderator:
Um erlich zu sein, bin ich an 3D Programmierung nicht so sehr interessiert wie an 2D. Aber auch OpenGL und Direct X habe ich nie gehört und kanns mir gar nicht vorstellen, wie man in Eclipse dann damit hantieren soll? Man kann doch durch Code beschreiben, wie eine Figur aussehen soll?
Ich denke, ich werde mir am Wochenende mal Tutorials dazu ansehen und die ein oder andere 2D Animation realisieren... (Wenn denn möglich) :(

Max1809@ Hey Max, ich bin im 2. Lehrjahr zum IT-System-Elektroniker. Leider habe ich nur durch die Berufsschule Kontakt mit Java, leider bin ich den Lerninhalten der Schule leicht bis weit voraus, so dass ich erlerntes nur verbessern kann, aber nichts neues dazu lerne!
Deine Idee mit dem weiterentwickeln in Richtung Programmierung habe ich auch schon gehabt, mir kam die Idee eine Nachmittagsschule zu besuchen, leider gibt es keine dieser Schulen in meiner Nähe. Und ich will später unbedingt in Richtung Programmierung gehen. Mal schauen, was die Zeit noch so mit sich bringt, ich bin auch erst 17, was vielleicht positiv sein könnte.

Gruß JavaFuchs07
 
Zuletzt bearbeitet:
Max1809 schrieb:
Grundsätzlich ist für mich das Erlernen vom Programmieren und der ganzen IT im Selbststudium kritisch.

Dem muss ich allerdings widersprechen. Ich habe in meiner Laufbahn genug Leute erlebt, die ein Studium oder eine Ausbildung im IT Bereich hinter sich hatten und trotzdem nichts drauf haben. Umgekehrt gibt es ebenso genug Entwickler, die keine Ausbildung im IT Bereich haben, und dennoch zur absoluten Spitze gehören.

Im Prinzip ist es so eine Art Instinkt, man hat ihn oder man hat ihn nicht. Wenn man ihn nicht hat, kann man ihn auch nicht erlernen...

MfG Uwe
 
Da kann ich dir nur zu stimmen, mein Onkel hat das Studiert und bekommt bis Heute nix hin, eine Freundin von mir macht das so, als hätte sie ihr ganzes Leben nix anderes getan

Gesendet von meinem GT-S5360 mit der Android-Hilfe.de App
 
Zuletzt bearbeitet von einem Moderator:
JavaFuchs07 schrieb:
kleinerkathe@ Wie bereits erwähnt, nehme ich die Code Zeilen auseinander, bis ich sie verstanden habe und auch selbständig wieder schreiben kann.

Gut, aber wieso sagt dir dann bspw. "Instanz" nichts?

Achja: https://developers.google.com/maps/documentation/android/start wenn man das Schritt für Schritt durchmacht, funktioniert das einwandfrei :cool2:

Maps ist halt nochmals bisschen was anderes als nur die Android API, denn da kommt API-Key dazu, Library hinzufügen (Android Studio? = 1 Zeile in Gradle), ... aber eigentlich auch einfach machbar
 
kleinerkathe@ Weil ich mir solche Fremdwörter nicht merke, ich nenne es einfach "lege eine Variable von x an!"...
Ist vielleicht nicht ganz richtig aber es klappt, wenn ich eigene Programme schreibe wunderbar.

Grüße JavaFuchs07
 
Uhh da sehe ich dir Softwareerosion schon vorprogrammiert xd
Nein jetzt mal im ernst, wie willst du dich jemals mit anderen Entwicklern austauschen oder deren code/Dokumentation versehen wenn du nicht die gleiche Sprache sprichst? Wie nennst du zum Beispiel Instanz variablen? Xd

LG. Dagobert

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
Ich nenne sie Variablen :)

gruß JavaFuchs07
 
Wenn du verstehen willst, was in Tutorials,Dokumentation,etc. steht dann bringt es nichts einfach deinen eigenen Wortschatz aufzubauen, sondern dann musst du den passenden Wortschatz eben auch erlernen.

Instanzen sind Variablen,
Instanzvariablen sind Variablen,
...
sind alles für dich "Variablen"?

Polymorphie, Vererbung, Abstrakte Klassen, ... Ja du kannst diese Dinge auch anwenden ohne zu verstehen was das ist, aber dann kommst du nicht weiter als Dinge "nachzubauen", die dir in Tutorials vorgekaut werden.

P.S.: Meine Beiträge sollen nicht böse sein (klingen glaube ich ein bisschen so ;)), sondern nur dich dahin bringen es entweder richtig zu lernen oder garnicht ... Und nicht hier Beiträge zu schreiben "Ich werde nicht automatisch zum Androidprofiprogrammierer"
 
Ok, ich habs ja verstanden :rolleyes2: .
Werde mich mal daran setzen, die Begriffe in meinem Kopf durch die richtigen Begriffe zu ersetzen.
Vielen Dank Euch!

Grüße JavaFuchs07
 
Zurück
Oben Unten