Wie schwer ist es eine App zu programmieren?
Sowas wie Tinder.
Ist programmieren nur auswendig lernen von Lösungswegen und dann den Befehl eintippen oder muss man neue Befehle und so selbst kreieren?
6 Antworten
Lösungswege können nicht auswendig gelernt werden. Jedes neue Problem erfordert ein neue Lösung. Diese bereits in Form einer auswendig lernbaren Vorlage zur Verfügung zu haben, bedeutet, dass das Problem bereits gelöst wurde.
Das Schreiben von Programmen erfordert üblicherweise das Lösen von neuen Problemen - oder es wird ein Abklatsch von etwas bereits bestehendem. Was für viele Programme, insbesondere im Spiele-Sektor ja auch tatsächlich zutrifft: die gleiche game engine, lediglich in ein unterschiedliches Szenario getaucht. Eine solche Form des Programme Erstellens erfordert tatsächlich auch kein Programmieren, sondern eher des (mehr oder weniger) künstlerisch Gestaltens.
zu "neue Befehle" - der Begriff ist etwas unglücklich gewählt. Ersetze ihn gegen Begriffe wie z.B. "Prozeduren", "Subroutinen", "Methoden" und andere, die besagen, dass Teilfunktionalität eines Programms in eine namentlich / symbolisch referenzierbare Zusammenfassung von Instruktionen gesteckt wird - in diesem Sinne kreierst du "neue Befehle" - die allerdings aufgebaut sind aus dem, was bereits vorhanden ist. Wirklich "neue" erzeugst du damit nicht, du kombinierst lediglich einfache Funktionalität zu komplexerer Funktionalität.
Wobei auch tatsächlich neue Befehle kreiert werden können, allerdings nicht im Rahmen von "traditioneller Programmierung" - dafür würdest du eher in Richtung "soft cores" in z.B. "FPGAs" schauen, das sind quasi Computer, die du selbst verändern kannst - und damit, so gewünscht, auch neue Befehle (solche werden üblicherweise "Instruktionen" genannt) erfinden und zufügen.
Tinder ist nicht nur eine app. Die app ist lediglich eine Schnittstelle zu einem Netzwerk von Servern, worauf Datenbanken stehen, und Programme laufen, die darauf zugreifen und Information in beide Richtungen übermitteln.
Da steckt noch nicht mal ein echtes "Problem" welches neuartig wäre drin - Datenbanken sind einfach nur langweilig :)
Um eine app, welche nur eine Schnittstelle zu woanders untergebrachter Funktionalität darstellt, zu schreiben, bedarf es gar ned mal so viel.
Genau das ist es, was ich benötige. Eine Funktion die überwiegend über Server bedient wird. Hättet Du Lust mitzumachen und reich zu werden?
vielleicht willst du dir für sowas mal MQTT anschauen, message queuing telemetry transport. Damit kannst du auch auf Mobilgeräten Aktionen auslösen lassen, auch wenn die hinter firewalls stecken oder lediglich eine RFC1918 Adresse am WAN interface haben. Vormaliges IBM SCADA, offen, gratis und frei.
Das Problem ist auch, um gute Server zu mieten brauchst du auch ein Startguthaben!
Einen ordentlichen Server zu mieten ist nicht so teuer. Ein Startguthaben brauchst du für den Server nicht.
Die Schwierigkeit beim Programmieren liegt
a) im Finden von grundsätzlichen Lösungswegen
b) in der Programmierlogik selbst (https://www.gutefrage.net/frage/warum-ist-programmieren-so-schwer#answer-236052166)
c) darin, dass dann einige wenige, aber entscheidende "Bibliotheksfunktionen" eben doch nicht so funktionieren, wie in der Dokumentation beschrieben (falls es überhaupt eine Dokumentation gibt)
-----
Wenn du selbsterstellte Funktionen als neuen Befehl bezeichnest (was übrigens durchaus so gesehen wird), dann ja, man muss neue Befehle kreieren.
Könntest du zum Beispiel sowas wie Tinder programmieren?
Im Prinzip ja, aber ...
Schau dir die Antwort von JanyoOoO an. Ich könnte jeden einzelnen Bestandteil programmieren, aber die komplette App würde im Alleingang Jahrzehnte bis Jahrhunderte benötigen.
Und verwendest du eine Sprache, die die meisten Programmierer nutzen? Wenn es um die Bildung eines Teams ginge.
Nein. (Allerdings kenne ich inzwischen so viele Programmiersprachen, dass die Sprache selbst für mich nebensächlich ist. Worauf es mir ankommt, ist der generelle Satz von "Paradigmen", die verfügbaren "Bibliotheken" und wie sehr die Entwicklungsumgebung und auch die Sprache selbst Erleichterungen erlaubt.)
In App-Programmierung müsste ich mich reinarbeiten (es sei denn, Frontend auf JavaScript-Basis mit einem vernünftigen Framework oder Backend mit .NET/Unity o. Ä. oder einem Java, das auf den Stand von C# gebracht worden ist).
Außer JavaScript (nur geeignet für einige Funktionen von Frontends und Teile von Backends, die nicht zeitkritisch sind) verwende ich keine Programmiersprache, die die meisten Programmierer verwenden - jedenfalls was Apps für Mobilgeräte betrifft. Java ist seit vielen Jahren so rückständig, dass ich damit nicht wieder warm geworden bin, und mit den üblichen Sprachen für Apps für die verbreiteten Systeme für Mobilgeräte bin ich nicht vertraut. Mal sehen, wie es mit .NET/Unity weitergeht oder ob Java noch mal erlaubt bekommt, sich weiterzuentwickeln, oder ob eine neue Sprache aufkommt ...
Wo finde ich nur die Leute, die mit mir reich werden wollen? Scheiss reich.
Nicht auf GF.net
Zumal es zu bezweifeln ist, dass du eine Idee hast, die es so noch nicht gab. Besonders wenn du mit Tinder als Vergleich ankommst.
Reich werden ist in dieser Branche ziemlich Glückssache. Wie üblich - von dem Einen, der reich wird, reden alle, von den Tausenden, die dasselbe getan haben, aber nicht zufällig zur richtigen Zeit am richtigen Ort waren, redet keiner.
Ich würde es auch bezweifeln. Wenn ich nicht wüsste, was die Idee ist.
Das sind auch Mitläufer. Meine Idee ist… wie die Entdeckung einer neuen Tiefseequalle. Die entdeckt man nur einmal zum ersten Mal.
Schau mal ein paar Dutzend Folgen von "Höhle der Löwen". Achte dabei besonders auf die Reaktionen auf Gründer, die voller Enthusiasmus über ihre wunderbaren, einmaligen Ideen sind, aber keine jahrelange Kleinarbeit dahinter steckt.
Oder hast du die Idee schon ausgearbeitet und gründlich weltweit recherchiert (inkl. Patentarchive bzw. Vergleichbares)? Dann nur zu!
(Aber verlass dich nicht aufs Reichwerden - dazu gehört zu viel Glück. Da ist organisiertes Verbrechen oder(?) Finanzsektor sehr viel effektiver.)
Was willst du denn patentieren? Was konnte Tinder patentieren?
Bestimmte Ideen für Algorithmen.
In den USA gibt es so was wie Software-Patente.
Deshalb ja auch "bzw. Vergleichbares". Dass eine Idee einmalig ist, ist extrem selten - wenn sie "in der Luft liegt", taucht sie regelmäßig an verschiedenen Ecken der Welt fast gleichzeitig auf. (Ok, dann ist Schnellsein umso wichtiger ... aber auch die Tipps aus "Höhle der Löwen")
Woher wollen die wissen, welche Algorithmen wir nutzen?
Das geht jetzt wirklich zu weit aus dem Bereich dieser Frage hinaus. Es wäre vermutlich eine eigene Frage wert.
Was würdest du an meiner Stelle (ich der nicht Programmierer) machen, mit einer sagenhaften Idee, aber ohne Kohle und Leute um es umzusetzen?
Tinder braucht ein Frontend und ein Backend. Das macht es schon mal schwieriger, als z.B. einen Taschenrechner, der praktisch 100% aus Frontend besteht.
Im Falle von Tinder musst du also die App selbst, und die Serversoftware mit Datenbanken programmieren. Das ist eine Aufgabe, die die wenigsten professionellen Softwareentwickler vollständig alleine lösen könnten. Und selbst wenn sie das notwendige Wissen hätten, würde es vermutlich viele Monate bis Jahre dauern, bis eine solche App sicher und performant entwickelt ist.
Wer einfach nur Programmieren will, der kann eine Programmiersprache lernen und damit schon viel umsetzen. Dabei wird wenig auswendig gelernt, sondern vorallem logisches Denken erlernt.
Wer aber wirkliche Software-Systeme entwickeln will, die sicher und performant sind, muss wissen, wie Computer arbeiten etc. Das ist ein Lernprozess, der mehrere Jahre dauert.
Eine App, ja. Eine App wie Tinder vollständig alleine zu entwickeln, definitiv nicht.
Wieso werden wir dann nicht zusammen scheiss reich mit meiner Idee?
- Ich kenne deine Idee nicht.
- Höre ich als Informatiker jeden Tag von 5 Leute, dass sie eine super Idee hätten, die uns unglaublich reich machen würde. Man müsse nur noch die App entwickeln. Gehalt gibt es natürlich nicht, nur die Beteiligung an einem wetlosen Unternehmen.
Kann ich mir vorstellen, dass ihr das häufig hört. Ein Dilemma. Für die Idee, für euch und für mich. Würde die Idee umgesetzt, wären wir sehr reiche Menschen. Es gibt nichts ansatzweise in dieser Art. Und es bedient auch noch ein Grundbedürfnis der Menschen. Ungestillt bisher.
Zuerst würde ich mal gerne wissen um was für eine Idee es sich handelt , dann kann man darüber reden ob es überhaupt umsetzbar ist , oder Nebenkosten anfallen. Ein Server kostest ja schließlich auch was.
Ob und wie schwer das Programmieren eigener Apps ist, hängt zunächst vom eigenen Wissensstand und den gestellten Ansprüchen ab. Die wesentlichen Dinge wie Benutzerprofile, Swipe-Funktionalität usw. bekommt man noch relativ flott hin. Wenn das ganze jedoch für eine Vielzahl an Usern ausgerollt werden soll, wird man so ein Projekt nicht als "One-Man-Show" stemmen können. Es wird ja nicht nur die App an sich benötigt, sondern auch die ganze Infrastruktur dahinter.
Wie gesagt, die Grundfunktionen der Tinder-App bekommt eigentlich jeder halbwegs gescheite Entwickler hin. Wie sicher und performant diese App am Ende läuft, steht dann wieder auf einem anderen Blatt bzw. wäre ein Thema für sich. Ich kann mich so weit den Worten von JanyoOoO anschließen, sofern es um eine App in dieser Größenordnung geht. Auch wenn viele Features und Funktionen auf den ersten Blick einfach aussehen, stecken dahinter häufig komplexe und ausgeklügelte Logiken.
Es macht am Ende einen großen Unterschied, ob eine App nur von einer Handvoll an User genutzt werden soll oder ob es in der Größenordnung von Tinder und Co stattfindet. Zumal es auch nicht damit getan ist, einmal eine App zu entwickeln und bloß auf dem Server laufen zu lassen. Selbst bei laufenden Projekten fallen immer wieder Aufgaben, Fehler u.d.G. an, die erst zur Laufzeit festgestellt werden. Was im kleinen noch funktionieren mag, kann im großen schon zum Totalausfall führen.
LG medmonk
Können ja, in der Größenordnung und alleine nein. Ich fühle mich zwar im Front- und Backend zu Hause und könnte sicher eine kleine "abgespeckte" Version umsetzen. Alles darüber hinaus benötigt aber Ressourcen, die ich nicht habe.
Angefangen beim nötigen Know-how in allen(!) "Disziplinen", die nötige "Manpower" und nicht zuletzt genügend "Kleingeld", um den Spaß auch finanzieren zu können. Da verweise ich dann wieder auf die Antwort von JayoOoO und PWolff.
Programmieren ist nicht schwer. Aber wenn du Tinder nach Programmieren willst rechne mit ein paar Monaten oder Länger
Könntest du eine App programmieren, wie z.B. Tinder?