Programmieren lernen ohne Vorwissen ?

DonSancho

Newbie
Registriert
Okt. 2016
Beiträge
2
Hallo erstmal,
tut mir leid wenn das ganze hier fehl am Platz ist aber ich habe mich dumm und dämlich gesucht und einfach nichts konkretes gefunden.
Ich habe also momentan eine Menge Zeit und habe den Beschluss gefasst das ich gerne eine Android App programmieren möchte und wenn ich Gefallen daran finde mich so gut ich kann mit dem Programmieren im Ganzen auseinanderzusetzen.
Nachdem was ich bisher gelesen habe ein Zeitaufwändiges Vorhaben, welches ich jedoch gerne in Angriff nehmen möchte.
Jetzt kommt leider das Problem das ich wirklich bei absolut Null anfange. Ich kenne sozusagen einfacht nichts.
Meine Frage ist jetzt mit welcher Programmiersprache ich unter diesen Umständen anfangen sollte und ob das ganze Vorhaben gratis machbar ist. Ich bin gerne bereit Geld in Lernmaterial wie Bücher oder ähnliches zu investieren aber ich möchte nicht für viel Geld ein Programm kaufen (wenn das so überhaupt funktioniert), welches mir am Ende nichts bringt.
Ich wäre also dankbar wenn mir jemand sagen könnte wie man da am besten herangeht wenn man wirklich bei Null anfängt.
Und damit meine ich wirklich Null. Ich kann mich vlt. relativ schnell durch den PC navigieren aber das war es dann auch.
Und noch einmal Entschuldigung wenn das ganze hier nicht hingehört aber ich weis einfach nicht wo ich anfangen soll und habe auch kein spezifischeres Forum gefunden.
 
Wenn es ganz für Anfänger sein soll: Scratch
Da kann man durchs bloße zusammenstecken von "Befehlsblöcken" grundlegende (wirklich nur grundlegende) Funktionen erlernen. Und dazu noch nett dargestellt. Ist aber eher auf Grundschulniveau

Als professionelle Programmiersprache kann ich dir Python empfehlen, ich fuchs mich da auch gerade rein, und es ist für Anfänger relativ leicht zu erlernen.
 
Google findet doch genügend Material. Such nach "android app programmieren"

Entwicklungsumgebung: Android Studio
Programmiersprache: Java
Dafür gibt es zahlreiche Tutorials, auch auf Youtube.
 
Zuletzt bearbeitet:
Java ist da die erste Adresse.

Auf coursera.org gibt es gutes Einstiegsmaterial, dass dich an die Materie heranführt mit Videos und Aufgaben.
Alternativ Tutorials auf Youtube.

Würde aber erstmal die Sprache bzw. das Programmieren lernen bevor man an die App Programmierung geht, da dort auch viel mit APIs und Grafischen Elementen und ggf. Datenbanken gearbeitet wird, da sollte man dann schon etwas in der Materie drinstecken.
 
Ich habe zwar auch mal Java gelernt, aber ich kann es wirklich nicht empfehlen, sorry
Es ist sehr viel unperformanter, und einen leichteren Einstieg bekommt man bei anderen Programmiersprachen schon.
 
Ich klimper mir meine Fetzen für z.B. meinen Debian Versuchsserver immer mit Hilfe des Internet zusammen.
Mir persönlich fällt es am leichtesten mit einem Ziel zu lernen. Denn so findet man heraus was nützlich ist und welche Dinge es zwar such gibt, einen jedoch null weiterbringen.

Sonst ist Java heute wirklich eine starke Plattform.
 
Und wieviele Android Apps hast du schon in anderen Programmiersprachen geschrieben?

Geht zwar auch ohne aber wer als Ziel Android hat da führt mMn kein Weg an Java vorbei.
 
MarshallMathers schrieb:
Ich habe zwar auch mal Java gelernt, aber ich kann es wirklich nicht empfehlen, sorry
Es ist sehr viel unperformanter, und einen leichteren Einstieg bekommt man bei anderen Programmiersprachen schon.

Wenn man in Zukunft ernsthaft was Programmieren will, dann nimmt man aber lieber Java oder c#. Vielleicht noch Javascript, wenns in die Webecke gehen soll. GO ist auch ganz interessant (und performant und einfach)
 
Java ist tatsächlich ein guter Start. Ich würde, wie mein Vorredner, empfehlen erstmal das allgemeine Programmieren zu lernen, die Logik dahinter verstehen und dann anfangen Android Apps zu schreiben.

Ich würde behaupten, dass du kein Geld für Software ausgeben musst. Solltest du dich entscheiden ein bisschen Java zu programmieren gibt es hier - neben vielen Anderen - z.B. die Eclipse IDE (kostenlos). Was ich dir aber auf jeden Fall ans Herz legen würde, wären entsprechende Bücher. Ich würde ein Anfänger Buch empfehlen - kauf dir kein Kompendium oder sowas. Ein Anfänger Buch mit Beispielhaften Projekten zum Nachprogrammieren und Verstehen :)
 
Vergiss lieber was MarshallMathers gesagt hat.

Python ist keine gute Programmiersprache für den Einstieg. Der Umstieg auf C/C++, C# oder Java wird dir hierbei sehr schwer fallen. Andersherum ist dagegen tatsächlich nicht so schwierig. Python hat eine eher ungewöhnliche Notation und Strukturierung und allgemein codet man öfter mal einfach so "wie man es intuitiv hinschreiben würde". Das mag zwar verlockend klingen, kann aber ganz gerne auch mal zu ungewollten Ergebnissen führen, die dann auch etwas komplizierter zu Debuggen sind. Andere Programmiersprachen verzeihen da von vornherein einfach viel weniger Fehler.

Kommt einrfach drauf an wo du hin willst.

Embedded -> C / C++
Apps -> Java
Windows Application -> C# / C++ + QT

Ich wüsste auch nicht wo Python performanter als Java wäre, eher das absolute Gegenteil ist der Fall, siehe z.B. hier:
https://benchmarksgame.alioth.debian.org/u64q/python.html

Ich persönlich würde C# wählen. :-]
 
Zuletzt bearbeitet:
MarshallMathers schrieb:
Ich habe zwar auch mal Java gelernt, aber ich kann es wirklich nicht empfehlen, sorry
Es ist sehr viel unperformanter, und einen leichteren Einstieg bekommt man bei anderen Programmiersprachen schon.

Nicht wirklich, das einzige was man als Einsteiger bei Java nicht versteht ist wohl die Syntax der main-Methode.
Sonst wird es nicht viel einfacher.

Vor allem wenn es um Android-Entwicklung geht scheint Java ein guter Einstieg zu sein.

@TE
Ich weiß nicht wie viel freie Zeit du dafür eingeplant hast, aber im Selbststudium Programmieren zu erlernen kann wirklich sehr viel Zeit in Anspruch nehmen.

Der Haken bei der Sache ist wohl, dass du wohl mit 2-3 Tutorials eine Android-App zusammenstellen kannst die allereinfachste Sachen macht. Du kannst danach aber immer noch nicht einmal Ansatzweise programmieren.
Wenn du auf ein Niveau kommen möchtest aus eigenem Antrieb eine App zu schreiben mit einer bestimmten Idee der technischen Umsetzung im Hinterkopf würde ich damit an deiner Stelle warten.
Da ist einfach zu viel Schnick-Schnack drum herum, versuche erst einmal Grundlagen in Java zu erlernen und schau dann ob dir das Programmieren überhaupt gut liegt.

Angenommen, das du bei 0 anfängst und niemanden kennst der dir in Persona die Grundlagen näher bringen würde ich dafür an deiner Stelle so in etwa 6-12 Monate einplanen. Wenn es dir gefällt stelle dich darauf ein für den Rest deines Lebens zu versuchen mit den Trends mitzuhalten (ist nicht so schlimm wie es sich anhört ;) ).

Wichtig ist, die Programmiersprache die du verwendest ist letztendlich nur Mittel zum Zweck und nicht wirklich relevant.
Als Anfänger fange an die Grundlagen zu lernen und hole nicht zu weit aus.

Coursera.org sollte kostenlose Kurse haben die dir etwas Java beibringen können, als Entwicklungsumgebung würde ich dir Intellij Idea empfehlen.

btw Alles hiervon ist kostenlos.
 
Zuletzt bearbeitet:
-Razzer- schrieb:
Geht zwar auch ohne aber wer als Ziel Android hat da führt mMn kein Weg an Java vorbei.

Heutzutage tun das nur noch die, die Java nehmen wollen oder müssen. Xamarin (C#), Cordova/ionic (JS), NativeScript(JS) sind einige gute Alternativen. Xamarin wird zb immer besser. Gerade Xamarin.Forms: Ein Code für iOS, Android, WP, Windows, UWP. Es hakt noch hier und da, aber es war vor 2 Jahren um einiges schlimmer.
 
Hellblazer schrieb:
Wenn man in Zukunft ernsthaft was Programmieren will, dann nimmt man aber lieber Java oder c#. Vielleicht noch Javascript, wenns in die Webecke gehen soll. GO ist auch ganz interessant (und performant und einfach)

Naja, wenn man ernsthaft Programmiren will sollte man einfach die entsprechenden Paradigmen kennen, dann ist die Sprache auch egal.

Was 'Java oder C#' angeht, ist das nicht so einfach obwohl die Sprachen sich so ähnlich sind.
Mit C# landet man im Microsoft Universum was aus meiner Sicht das schlimmste ist was man als programmierer machen kann, und mit Java ist man eben unabhängiger.

Ein weiterer Punkt ist das obwohl Java für anfänger interessant sein mag, an Ihr eigentlich nur die JVM interessant ist, es gibt heutzutage viele Programmiersprachen die einfach nur besser als Java sind (Scala z.B.) und auf der JVM laufen.
Ergänzung ()

Raknar schrieb:
Heutzutage tun das nur noch die, die Java nehmen wollen oder müssen. Xamarin (C#), Cordova/ionic (JS), NativeScript(JS) sind einige gute Alternativen. Xamarin wird zb immer besser. Gerade Xamarin.Forms: Ein Code für iOS, Android, WP, Windows, UWP. Es hakt noch hier und da, aber es war vor 2 Jahren um einiges schlimmer.

Oder man entwickelt eine Responsive Webapp und hat die freie Wahl der Technologie ohne Platformabhängigkeit? :D

Aber das ist schon viel zu weit ausgeholt. :)
 
Zuletzt bearbeitet:
pmkrefeld schrieb:
Was 'Java oder C#' angeht, ist das nicht so einfach obwohl die Sprachen sich so ähnlich sind.
Mit C# landet man im Microsoft Universum was aus meiner Sicht das schlimmste ist was man als programmierer machen kann, und mit Java ist man eben unabhängiger.

Naja. Das ist früher sicherlich so gewesen. Aber durch die Core-Neuerungen, die immer mehr openSource werden, nähert sich MS Oracle. Versteh mich nicht falsch, ein MS-Fan bin ich nicht, aber in letzter Zeit machen sie sehr viel richtig (außer LinkedIn vielleicht^^). Der alte Dino will wieder hipp werden.
 
Raknar schrieb:
Naja. Das ist früher sicherlich so gewesen. Aber durch die Core-Neuerungen, die immer mehr openSource werden, nähert sich MS Oracle. Versteh mich nicht falsch, ein MS-Fan bin ich nicht, aber in letzter Zeit machen sie sehr viel richtig (außer LinkedIn vielleicht^^). Der alte Dino will wieder hipp werden.

Oracle ist aber die größte Krux an Java und versucht es mit aller Macht vor die Wand zu fahren.
Ja MS hat in letzter Zeit einige positive (und unerwartete) Entscheidungen getroffen, es ist aber eben ein Dino und schleppt entschprechende Altlasten mit sich, das kann ich echt keinem empfehlen. Es ist eben und bleibt ein Großkonzern :)
 
Ok danke ersteinmal für die Zahlreichen und nachvollziehbaren Antworten.
So wie ich das jetzt versteh wäre wohl Java am angebrachtesten.
Was genau ist den damit gemeint das ich erstmal das Programmieren an sich lernen sollte ? Ich kann mir darunter ehrlich gesagt nichts vorstelllen.
 
Programmieren lernen ist quasi wie eine Fremdsprache zu lernen. Es müssen viele Vokabeln gelernt werden, aber manches kann man auch aus den Kontext oder der Logik ableiten.
Ich lerne Programmiersprachen meistens durch ausprobieren und immer wieder machen.
 
DonSancho schrieb:
Ich kann mir darunter ehrlich gesagt nichts vorstelllen.

Nun, ein Programm (auf der untersten Ebene die die deine CPU versteht) ist nichts anderes als Abfolge einfachster Befehle die z.B. ein Wert an einer bestimmten Position im Speicher oder 2 Werte miteinander multiplizieren.

Das bringt viele Konsequenzen mit sich, z.B. jede Aktion die mehr als ein Befehl benötigt (defacto alle Aktionen) müssen somit kopiert werden. Stell dir nun vor dass du die gleiche Aktion in deinem Programm 15 tausend mal in verschiedensten Ecken deines Programms ausführst. Und nun willst die Aktion ändern, du darfst also 15 tausend mal den gleichen Code ändern, dass das problematisch ist muss man auch keinem Laien erklären.

Das sind zum Glück Probleme mit denen man sich von 50 Jahren rumschlagen musste.
Aber... Mit der Zeit sind viele (sehr sehr seeehr viele) Ansätze entstanden diese und andere Problem zu lösen. Das Konzept einer App gehört eindeutig dazu, baut aber auch auf sehr vielen anderen Konzepten auf.
Zu versuchen eine App zu kreieren ohne diese Konzepte zu kennen ist im allerbesten Fall frustrierend.

Um zu programmieren musst du diese Konzepte erst kennen lernen, natürlich nicht alle aber zumindest die Grundlegenden.
Es gibt einen guten Grund wieso das lernen einer Sprache oft mit der Ausgabe des berüchtigten Satzes "Hallo Welt" beginnt.

Das wirklich große Problem ist zu wissen welche dieser Sachen und in welcher Reihenfolge man lernen soll. Jeder weiß wie man zum Arzt wird aber keiner wie man zum Programmierer wird.

Ich kann versuchen dir die grobe Richtung für den Anfang zu weisen:

1. lade runter und installiere: Intellij Idea und Oracle Java 8 JDK
2. Erstelle ein Hello World Programm
3. Lerne primitive Datentypen in Java
3.1 Lerne den Unterschied zwischen = und ==
3.2 Und welche sonstigen Operatoren es in Java so gibt
4. If-Bedingung
5. Schleifen (for, for-each, while)
6. Objekte
7. Sichtbarkeit von Variablen/Kapselung
8. Listen und Arrays

Das dürfte ausreichen viele der aller einfachsten Übungen durchführen zu können.
Die findest du im Internet ohne Ende.

Das Buch hier ist dabei dein bester Freund, deine Lieblingssprache englisch (wenn du etwas googlest) und deine Lieblingswebsite stackoverflow.

Damit bist du schonmal ne gute Weile beschäftigt, wenn du danach noch Anregungen brauchst können wir dir gerne weiterhelfen. Guten Ritt!

:schaf: (hab keinen Potato gefunden)
 
Zuletzt bearbeitet:
Zurück
Oben