• Liebe Community,
    Aufgrund des niedrigen Traffics im Forum haben wir uns dazu entschlossen, es nur noch im Lesemodus zu betreiben. Neue Kommentare sind also nicht mehr möglich, wohl aber das Lesen der bestehenden Foreninhalte als Archiv. Im Rahmen des Datenschutzes werden eure Accounts in den nächsten 90 Tagen gelöscht, wenn sie ausschließlich auf Areamobile.de genutzt wurden – ausgenommen ist die Nutzung auf unseren anderen Portalen (pcgameshardware.de, pcgames.de, buffed.de etc.), deren Foren natürlich weiterhin zur Verfügung stehen. Wir bitten um euer Verständnis und danken euch für die vielen tollen Beiträge.“

Apps programmieren lernen?

Fischmobile

Neues Mitglied
Hallo,

wie kann man eigentlich lernen, wie man Apps programmiert? Gibt es da spezielle Ausbildungen für oder so? Oder reicht schon das richtige Werkzeug dafür und dann kann das jeder?

LG
 

BummBumm

Neues Mitglied
Eine App schüttelt man sich nicht so aus dem Handgelenk. Aber man kann es lernen. Zunächst aber benötigst Du grundlegende Kenntnisse in Programmierung und Softwareentwicklung. Beginn daher mal mit C und C++. Danach schaust Du Dir die gewünschte Plattform an und lernst die Sprache Deiner Wahl (Du spezialisierst Dich).

Es schadet Dir als Entwickler auch nicht, später über den Tellerrand hinaus zu schauen. Dann widmest Du Dich Apple oder Android, je nachdem, was Du zuerst gemacht hast.
 

Laborant

Aktives Mitglied
"Beginn daher mal mit C und C++." --BummBumm
C++ halte ich für unnötig kompliziert - aber von C aus zu Java oder Swift überzugehen halte ich für realistisch. C++ hat einige kniffe die einem falsche Paradigmen angewöhnen könnten (zum Beispiel Mehrfachvererbung (Multiple Inheritance), welche in Java von Haus aus Verboten sind.
C schafft solide Grundlagen über Variablen, Datentypen, Pointer, Funktionen/Methoden und wie ein Programm überhaupt abläuft. For-Loops, main() und all dies.
Java ist syntaktisch sehr nah an C und kann direkt zur App-Entwicklung genutzt werden (geht mit C++ zwar auch, ist aber deutlich mühsamer) - erfahrungsgemäss hat Java die grössere (und Anfängerfreundlichere) Community. Weiterhin ist AndroidStudio sehr komfortabel und kostenfrei.

Programmierparadigmen sind überall etwa ähnlich, das heisst wenn du eine Sprache kannst fällt dir der Einstieg in eine andere einfacher. Will heissen, auch wenn du erst auf das "falsche Ross" setzt, ist der Skill nicht verloren.
Kurse gibt es zu Hauf - sowohl für C, Java, C++ und co. Und nein, Programmierkurse an Hochschulen sind meist nicht besser als Onlinekurse (musste diese bittere Pille selbst erfahren).

Programmieren ist aber vielfach "learning by doing" - und zu beginn wird man sich einige hypothetische Probleme stellen um die zu lösen.
 

BummBumm

Neues Mitglied
Es passiert leider sehr oft, dass Leute erst dann etwas sagen können, wenn jemand anders vorher was sagte...

1. Mehrfachvererbung ist eine feine Sache und ist in ähnlicher Form auch In Java vorhanden! Verwirrt niemanden.
2. Laborant: "C++ halte ich für unnötig kompliziert" ... Laborant: "Programmierparadigmen sind überall etwa ähnlich, das heisst wenn du eine Sprache kannst fällt dir der Einstieg in eine andere einfacher"

Es ist schon recht einfach, sich als planlosen Laboranten zu offenbaren.

BummBumm!
 

IchBinNichtAreamobile.de

Bekanntes Mitglied
@BummBumm:"Es ist schon recht einfach, sich als planlosen Laboranten zu offenbaren."
>>Was willst du hier eigentlich? Der Thread auf den du hier geantwortet hast, ist von 2017.
 

BummBumm

Neues Mitglied
Er ist lesbar. Er wird es auch bleiben. Vielleicht ist es nur Eine(r), der ihn mal liest. Aber er liest, womit er sich eine Lernkurve verschaffen kann. Und Du haust Deinen Blödsinn dazwischen. Also halt Dich aus diesem Thema raus, wenn Du keinen Plan hast!
 

Laborant

Aktives Mitglied
BummBumm: Anstelle planlos Berufsstände schlecht zu reden (bin mittlerweile übrigens in den Ingenieursstand gewechselt..) könntest du ja mal erklären, welches die Vorteile sind, C++ vor Java/Swift zu lernen, wenn es schlicht darum geht, Handyapps zu programmieren.

Ich sage nicht, dass C++ nutzlos wäre - ist bei mir beruflich zu etwa 50% die gewählte Sprache - aber für Handyapps?

Wäre SailfishOS oder das alte MeeGo anstelle von Java-Android das Marktbeherrschende System, würde ich dir allerdings recht geben. MIt Android? Nö. Dazu ist Java syntaktisch mittlerweile näher bei C als es sauberes C++ ist. Nur weil man legacy-C in C++ nutzen kann, heisst es nicht dass man das soll!

Mehrfachvererbung in Java nennt man "Interface" - und ist eine sehr limitierte Sache. Java zwingt einem damit schön, Ordnung zu halten während man in C++ ein gewaltiges Chaos anrichten kann.
 

BummBumm

Neues Mitglied
Ich sage nicht, dass C++ nutzlos wäre - ist bei mir beruflich zu etwa 50% die gewählte Sprache

Das bezweifele ich stark. Ich glaube eher, dass Du die Sprache nicht verstehst. Denn Du kennst ihre Vorteile nicht. Du nutzt sie doch nur, weil Du weist, wie man Programme erweitern und compilieren kann, die damit geschrieben wurden.

Mehrfachvererbung in Java nennt man "Interface" - und ist eine sehr limitierte Sache. Java zwingt einem damit schön, Ordnung zu halten während man in C++ ein gewaltiges Chaos anrichten kann.

Tolle Ansage. Aber auch sowas beinhaltet eine Lernkurve - sollte der Ingenieur wissen. Und ich würde niemals behaupten, dass "Handyapps" weniger komplex sind. Im Gegenteil - die sind genauso komplex - bei geringerer Hardware-Performance. Android und iOS machen Vorgaben und limitieren die Entwickler mit irgendwelchem neumodischen Scheiß. Die Sprachen verbergen, wie die Maschine wirklich funktioniert. C und C++ tun das nicht.

Also: Wie soll jemand, der keine Ahnung von der Maschine hat, die Daten einer Binärdatei entsprechend eines RFC für das Datei-Layout decodieren?

Erklär mal, Herr Ingenieur! :confused:
 

IchBinNichtAreamobile.de

Bekanntes Mitglied
@BummBumm:"Er ist lesbar. Er wird es auch bleiben. Vielleicht ist es nur Eine(r), der ihn mal liest. Aber er liest, womit er sich eine Lernkurve verschaffen kann. Und Du haust Deinen Blödsinn dazwischen. Also halt Dich aus diesem Thema raus, wenn Du keinen Plan hast! "
>>Was soll man aus deinen Beiträgen bitte lernen? Hauptsächlich wie man sich /nicht/ im Forum verhält, würde ich sagen. Hier mal ein paar Beispiele:

"Es ist schon recht einfach, sich als planlosen Laboranten zu offenbaren." -> Ad hominem
"Ich glaube eher, dass Du die Sprache nicht verstehst. [...]" -> Ad hominem
"[...] - sollte der Ingenieur wissen. [...]" -> Seitenhieb, Ad hominem
"Erklär mal, Herr Ingenieur! " -> Ganz offener und recht infantiler Ad hominem

Nebenbei ist dein Wissen auf dem Gebiet nicht der Rede wert und somit wirkt dein Verhalten noch deplatzierter

"Also: Wie soll jemand, der keine Ahnung von der Maschine hat, die Daten einer Binärdatei entsprechend eines RFC für das Datei-Layout decodieren?"
>>Das geht in jeder universellen Programmiersprache (also auch in Java, Python etc).
 
Oben