Forum: PC-Programmierung Welche Grundlagen für Softwareentwicklung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Mans A. (mansmaak)


Lesenswert?

Hey Leute,

welche Grundlagen muss ich mitbringen um eine Software zu entwickeln?
Welche Programmiersprache soll ich beherrschen können. Was gibt es noch 
für Tools die man kennen muss, z.B. wie ich das ganze grafisch 
darstellen kann.

Ich habe nämlich eine geniale App-Idee. Wenn ich die umsetzen kann, 
werde ich reich 😂

Danke für jede Hilfe!

von skriptkiddi (Gast)


Lesenswert?

Fang einfach mal damit an, die Elemente der Benutzeroberfläche in einem 
Grafikprogramm deiner Wahl zu "malen".
Wenn danach noch ein Rest Motivation vorhanden sein sollte, könnte man 
darüber sprechen für welches OS die App denn erstellt werden soll...

von Andreas B. (bitverdreher)


Lesenswert?

Mans A. schrieb:
> welche Grundlagen muss ich mitbringen um eine Software zu entwickeln?
> Welche Programmiersprache soll ich beherrschen können.

Mit jeder Programmiersprache kann man Software entwickeln.
Das war jetzt einfach.

Mans A. schrieb:
> Ich habe nämlich eine geniale App-Idee. Wenn ich die umsetzen kann,
> werde ich reich 😂
Gähn!

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Mans A. schrieb:
> welche Grundlagen muss ich mitbringen um eine Software zu entwickeln?
gesunden Menschenverstand

> Welche Programmiersprache soll ich beherrschen können
Fortran

> Was gibt es noch für Tools die man kennen muss
Papier, Bleistift, Lineal, Radiergummi

von Oliver S. (oliverso)


Lesenswert?

Mans A. schrieb:
> welche Grundlagen muss ich mitbringen um eine Software zu entwickeln?

Man sollte google kennen, und googlen können. Kein, aber auch wirklich 
kein anderer Themenbereich ist im Netz so ausführlich und umfassend 
dokumentiert.

Oliver

von Kunibert Kopulaner (Gast)


Lesenswert?

Oliver S. schrieb:
> Kein, aber auch wirklich
> kein anderer Themenbereich ist im Netz so ausführlich und umfassend
> dokumentiert.

Doch, die menschliche Fortpflanzung.
Aber das ist eher kein Thema für Programmierer. ;-)

von Nur_ein_Typ (Gast)


Lesenswert?

Oliver S. schrieb:
> Kein, aber auch wirklich
> kein anderer Themenbereich ist im Netz so ausführlich und umfassend
> dokumentiert.

Womöglich mit Ausnahme wenig oder nicht bekleideter Damen... SCNR.

von Thomas W. (dbstw)


Lesenswert?

Joe G. schrieb:
> Mans A. schrieb:
>> welche Grundlagen muss ich mitbringen um eine Software zu entwickeln?
> gesunden Menschenverstand
>

GMV ist nicht schlecht, analytisches Denken waere auch nicht schlecht. 
Allerdings ist das bei den aktuellen Frameworks oder Programmiersprachen 
nicht mehr so wichtig.

>> Was gibt es noch für Tools die man kennen muss
> Papier, Bleistift, Lineal, Radiergummi

Ich werfe noch eine Gummiente (oder einen Plueschpinguin) dazu: 
https://de.wikipedia.org/wiki/Quietscheentchen-Debugging

Du willst nicht wissen, was ich meinem Plueschpinguin schon alles 
erklaert habe...

Gruesse

Th.

von MaWin (Gast)


Lesenswert?

Mans A. schrieb:
> Ich habe nämlich eine geniale App-Idee. Wenn ich die umsetzen kann,
> werde ich reich

Na dann, such dir eine Firma, die das für dich entwickelt.

Der Vorteil: du musst nicht erst lernen  wie es geht, sondern bist 
schneller fertig auf dem Markt, damit dir keiner zuvorkommt.

Bezahlen kannst du ja dann, wenn du reich bist, nimm vorher halt einen 
Kredit auf und verpfände das Haus deiner Eltern.

Wenn du selbst aber nicht davon überzeugt bist, dass nicht deine Eltern 
dadurch eines Tages obdachlos sind, dann vergiss deine hochtrabende Idee 
ganz schnell.

App-Entwicklung ist schwierig geworden, es gibt die 2 Ökosysteme iOS und 
Android, und dutzende Versionen, eine inkompatibel zur nächsten, so dass 
weder Dokumentation stimmen noch Beispielcode läuft, und alle 
'Frameworks' laufen früher oder später in eine Sackgasse an der man 
wegen Fehlern in deren Code oder unsupported features nicht weiter 
kommt, also verloren hat.

von Egon D. (Gast)


Lesenswert?

Oliver S. schrieb:

> Mans A. schrieb:
>> welche Grundlagen muss ich mitbringen um eine Software
>> zu entwickeln?
>
> Man sollte google kennen, und googlen können. Kein,
> aber auch wirklich kein anderer Themenbereich ist im
> Netz so ausführlich und umfassend dokumentiert.

Genau.
Die besten Fußballer werden ja bekanntlich auch in den
über Jahre hinweg wiederholten Stammtisch-Diskussionen
geformt...

von A. S. (achs)


Lesenswert?

Mans A. schrieb:
> welche Grundlagen muss ich mitbringen um eine Software zu entwickeln?
> Welche Programmiersprache soll ich beherrschen können. Was gibt es noch
> für Tools die man kennen muss, z.B. wie ich das ganze grafisch
> darstellen kann.
>
> Ich habe nämlich eine geniale App-Idee. Wenn ich die umsetzen kann,
> werde ich reich 😂

Whatever floats the boat.

Du brauchst zum reich werden oder eine Idee umsetzen keine Tools und 
kein System. Leg einfach los mit dem was es machen soll.

von Egon D. (Gast)


Lesenswert?

Thomas W. schrieb:

> Joe G. schrieb:
>> Mans A. schrieb:
>>> welche Grundlagen muss ich mitbringen um eine Software
>>> zu entwickeln?
>>
>> gesunden Menschenverstand
>>
>
> GMV ist nicht schlecht, analytisches Denken waere
> auch nicht schlecht. Allerdings ist das bei den
> aktuellen Frameworks oder Programmiersprachen nicht
> mehr so wichtig.

Eine großartige Aussage.

von Justin S. (derwer)


Lesenswert?

Mans A. schrieb:
> welche Grundlagen muss ich mitbringen um eine Software zu entwickeln?

Weiter unten wird deutlich, dass Du eine App entwickeln willst. Und die 
einzige ehrliche Antwort, die ich Dir geben kann, ist: Du brauchst vor 
allem viel Zeit.

Du kennst die Grundlagen nicht, weisst nicht, welche Programmiersprache 
benötigt wird, die übrigen Tools sind leider auch sehr aufwändig. Wenn 
Du das alles lernen willst, extrem begabt und fleißig bist und auch noch 
mehr als 10h an jedem der sieben Tage die Woche bereit bist zu 
investieren, hast Du das alles in einem halben Jahr gebacken.

> Ich habe nämlich eine geniale App-Idee. Wenn ich die umsetzen kann,
> werde ich reich 😂

Ok, erzählt mal, denn andere schaffen es auch nicht viel schneller

von Noch ein Kommentar (Gast)


Lesenswert?

Und wenn du Erfolg hast, brauchst du noch ein ganz anderes Talent.

Du musst Support-Leute, Administratoren, Übersetzer, Kodierer, 
Betatester, usw. anleiten.

Jeder will seine eigenen Ideen ausprobieren, irgend ein Zeug basteln, 
was nicht in dein Konzept passt. Trotzdem musst du die guten Ideen 
dieser Leute nutzen und alles auf eine sinnvolle Linie bringen.

Und dann musst du noch nervtötende Bürokraten und Paragrafenreiter 
bauchpinseln.

von Einer (Gast)


Lesenswert?

Noch ein Kommentar schrieb:
> Und dann musst du noch nervtötende Bürokraten und Paragrafenreiter
> bauchpinseln.

Ach, das ist nicht schlimm.

Jeder Schritt, einfach alles ist in diesem Bereich durch Vorschriften 
und Gesetze geregelt. Genau nach denen geht es. Du musst die nur 
durcharbeiten (lassen) und kennst automatisch den Weg zum gewünschten 
Ziel. Das alles ist streng deterministisch.

Bürokratie ist nichts anders als ein großer Klumpen fremder Source-Code. 
Kommst Du damit nicht klar, bist Du kein Programmierer und erst recht 
kein Unternehmer.

Die verschiedenen Leute unter einen Hut zu bekommen, das ist die 
Challenge. Denn Mitarbeiter, Teilhaber, Neider, Querulanten, etc. sind 
eben genau eins: Nicht-Deterministisch.

von P. S. (namnyef)


Lesenswert?

Die Frage ist ungefähr so sinnvoll wie "Welchen Stift soll ich benutzen 
um einen Roman zu schreiben?".

von kw (Gast)


Lesenswert?

Mans A. schrieb:
> welche Grundlagen muss ich mitbringen um eine Software zu entwickeln?

Na, all die, die du nicht hast!

von Kolja L. (kolja82)


Lesenswert?

P. S. schrieb:
> Welchen Stift soll ich benutzen um einen Roman zu schreiben

Jeder Mensch weiß doch, dass Romane mit blauen Stiften geschrieben 
werden müssen.

von fop (Gast)


Lesenswert?

Mittlerweile habe ich so das Gefühl, male erstmal ein großes V auf und 
ordne Alles, was Du vor hast daran an. Macht die eigentliche Sache 
vermutlich nicht einfacher, hilft aber ungemein Andere zu beeindrucken.

Wenn Du im Internet wühlen magst, würde ich sagen, www.stackoverflow.com 
ist eine bessere Anlaufstelle als google. Aber ganz wichtig : nutze die 
Programmbeispiele aus den Antworten nicht aus den Fragen.

Die Frage nach Tools geht so aus, wie die Frage nach dem besten Auto.

von Berufsberatung (Gast)


Lesenswert?

Kann man hier nicht mal ne Kinderabteilung aufmachen?

von Noch ein Kommentar (Gast)


Lesenswert?

> Kann man hier nicht mal ne Kinderabteilung aufmachen?

Eine gute Idee.

Die Leute, die 1975 das entwickelten, was wir heutzutage als 
Entwicklungsumgebung selbstverständlich empfinden, hatten eine 
Kinderabteilung. Deren Ziel: jedes Kind muss intuitiv mit der 
Entwicklungsumgebung zurecht kommen.

https://youtu.be/p2LZLYcu_JY?t=2230

Seit wir in der Softwareentwicklung keine Kinderabteilungen mehr haben, 
gibt es keine echten Fortschritte mehr.

von Andreas B. (bitverdreher)


Lesenswert?

Noch ein Kommentar schrieb:
> Deren Ziel: jedes Kind muss intuitiv mit der
> Entwicklungsumgebung zurecht kommen.
Da fällt mir doch die Programmiersprache für den TO ein (lang ist es 
her..):
https://en.wikipedia.org/wiki/Logo_(programming_language)

von Bartosz B. (bartosz)


Angehängte Dateien:

Lesenswert?

@Mans A.

Du wirst am Anfang über viele (unnötige) Hürden klettern müssen. MaWin 
hat es am treffendsten formuliert, bezüglich Nicht-Kompatibilität.
Ich erkläre es nochmal anders: Angenommen, du schaust dir ein Tutorial 
auf Youtube an; es kann passieren, dass der abgetippte Code auf deinem 
PC nicht läuft. Das kann viele Ursachen haben, aber die einfachste ist: 
Der Youtuber hat seine Entwicklungsumgebung (z.B. Visual Studio) auf 
C++17 gestellt, das weißt du aber noch nicht und denkst "Warum zur 
Hölle!?". [Mir fällt gerade ein, getch ging doch bei mir mal nicht 
haha]. Ja, am Anfang ist es schwer.

Ich persönlich bin, bevor ich dieses Forum oder vb-paradise.de kannte, 
auf viele "falsche" Leute gestoßen, die mir sonst was für Lösungen für 
meine "Probleme" erklären wollten, was aber alles viel zu kompliziert / 
aufwendig war. Leicht überspitzt ausgedrückt, aber der Kern der Aussage 
wird klar:
»Ich will Wasser kochen.«
„Besteig den Mount Everest, dort ist der Luftdruck anders und Wasser 
kocht schneller.“
Die Antwort »Kauf dir 'nen Wasserkocher.« wäre doch am einfachsten 
gewesen! Verstehst du, was ich sage? Ich habe für mich gelernt, dass ich 
am besten einen Sachverhalt verstehe, wenn ich ganz banal anfange.

Ich würde vorschlagen, du lädst dir „Microsoft Visual Studio Community 
2019“ herunter. Es ist gratis, du brauchst nur einen Microsoft-Account.
Fang am besten mit der Programmiersprache VB.NET an (nicht mit dem alten 
VB6 zu verwechseln!!). Hier machst du eine WinForms-Anwendung auf (siehe 
Anhang) und kannst gleich durchstarten, weil du schonmal sehr schnell 
eine GUI (Graphical User Interface, Bedienoberfläche) hast.
Hier lernst du erstmal Variablen, Klassen, und alles, was dazu gehört.
Und dann reden wir über deine App 😁

Du brauchst außerdem analytisches Denkvermögen – einfach mitdenken muss 
man. Wenn ich Sache A abändere, muss mir sofort einfallen, dass das 
Auswirkungen auf B hat und ich dort etwas mitändern muss.

von Oliver S. (oliverso)


Lesenswert?

Bartosz B. schrieb:
> Ich erkläre es nochmal anders: Angenommen, du schaust dir ein Tutorial
> auf Youtube an; es kann passieren, dass der abgetippte Code auf deinem
> PC nicht läuft. Das kann viele Ursachen haben, aber die einfachste ist:

Programmieren lernt man nicht per Video von irgendwelchen Hanseln, die 
Code zum Abtippen auf YouTube stellen. Für vieles sind Anschaungsvideos 
ideal, aber dafür nicht.

Oliver

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Ich würde da mit etwas Einfachem anfangen. Am besten mit
einem BASIC - ähnlichen Dialekt. Es dauert schon mal, bis
die Grundlagen (Variablen, Abfragen, Schleifen, Unterprogramme
bzw. Funktionen usw.) verstanden sind. Da ist es sinnvoll,
eine Sprache zu wählen, die einfach ist und man ohne viel
Aufwand ein Fenster hat,  wo man sich die Ausgaben anschauen
kann. Wenn man da schon etlichen Code schreiben muß, um nur
ein Fenster zur Ausgabe zu haben, verläßt einen schon gleich
der Mut und das Ganze landet in der Ecke.

Bartosz B. schrieb:
> Fang am besten mit der Programmiersprache VB.NET

Das würde ich dann erst nach den Grundlagen machen. Das .NET
Zeug verwirrt nur am Anfang (z.B. die Punkt-Notation für die
Objekte u. ä.) und wird dann auch zu viel auf einmal.

Wenn man dann die Grundlagen hat, ist es dann auch leichter,
in eine andere Sprache seiner Wahl ein- oder umzusteigen.

von Noch ein Kommentar (Gast)


Lesenswert?

> Programmieren lernt man nicht per Video von irgendwelchen Hanseln

Ja, wenn Mans A. seine geniale App-Idee umsetzen will, hat er ganz 
andere Probleme.

Die Videos erklären ein Detail. Aber das eigentliche Problem: Nach einem 
Jahr ist der Programmcode im Chaos versunken, die Benutzeroberfläche 
müsste ganz anders aufgezogen werden und DAS vergessene Feature lässt 
sich so nicht umsetzen.

> Wenn ich Sache A abändere, muss mir sofort einfallen...

Noch schlimmer. Bei der Softwareentwicklung musst du tausende von 
Abhängigkeiten im im Kopf haben. Und ein Konzept ausarbeiten, das alle 
Anforderungen und Abhängigkeiten gleichzeitig erfüllt.

Im Bauwesen oder Maschinenbau wird so ein Konzept einmal ausgearbeitet 
und dann umgesetzt. Aber in der Softwareentwicklung kommen während der 
Implementierung noch unzählige Ideen für Verbesserungen. Bei jeder 
Änderung müsstest du tausende von Abhängigkeiten überprüfen.

Die Ingenieure behaupteten, der Berliner Flughafen wurde 7 mal 
verschoben, weil die Politiker nach der Planung mit neuen Anforderungen 
kamen. In der Softwareentwicklung ist das ganz normal.

Der Kern einer Ausbildung zum Softwareentwickler sollte sein: Wie bringt 
man unzählige Abhängigkeiten unter einen Hut, wenn sich die 
Anforderungen andauernd ändern?

von QuakSalber (Gast)


Lesenswert?

Thomas W. schrieb:
> Ich werfe noch eine Gummiente (oder einen Plueschpinguin) dazu:
> https://de.wikipedia.org/wiki/Quietscheentchen-Debugging
>
> Du willst nicht wissen, was ich meinem Plueschpinguin schon alles
> erklaert habe...

Mhhhhhhh :)  iwi gefällt mir das! Mal sehen was die Kollegen dazu
sagen werden ...

QuakSalber
--
https://www.astrategic-life.com/how-to-render-duck-fat-and-make-cracklings

von Noch ein Kommentar (Gast)


Lesenswert?

> Du willst nicht wissen, was ich meinem Plueschpinguin schon alles
> erklaert habe...

Erzähl! Dann erzähl ich dir, was ich unseren Contollern schon alles 
erklärt habe. Im Vergleich zu denen ist ein Plueschpinguin ein 
intelligentes Wesen, mit dem man vernünftig diskutieren kann.

von Einer (Gast)


Lesenswert?

Heinz B. schrieb:
> Ich würde da mit etwas Einfachem anfangen. Am besten mit
> einem BASIC

Geht das schon wieder los. Die Untoten sind wieder unterwegs...

von Einer (Gast)


Lesenswert?

Oliver S. schrieb:
> Programmieren lernt man nicht per Video von irgendwelchen Hanseln,

Why not?

Weil Du es auch Büchern gelernt hast, müssen es 30 Jahre später alle 
auch so machen?

von Noch ein Kommentar (Gast)


Lesenswert?

> Weil Du es auch Büchern gelernt hast

Ähm.. den wesentlichen Punkt kann man weder aus Videos, noch aus Büchern 
lernen.

Erst nach 2 Jahren fällt einem Entwickler auf - die geniale App-Idee war 
gar nicht so genial. Da ist nur durchschnittlicher Krempel bei raus 
gekommen. Lässt sich auch nichts mehr machen. Der Code ist im Chaos 
versunken und jede Verbesserung zerstört irgend was anderes.

Außerdem - eine App, mit der jeder zurecht kommt bereitet 100 mal so 
viel Aufwand wie ein Prototyp, den du selbst benutzen kannst.

Erst nachdem du diese Erfahrung gemacht hast, kannst du geniale 
App-Ideen ausarbeiten und umsetzen.

von Schlaumaier (Gast)


Lesenswert?

www.b4x.com

da bekommst du alles was du brauchst.  Und außer Ei-Teile alles für lau.

von Basic Forever (Gast)


Lesenswert?

> alles was du brauchst

Als echter Basic-Scrum-Kodierer brauche ich Zeilennummern und GOTO :-)

So einen modernen Kram wie SUB oder FOR EACH benutzen nur Oberschüler 
und Hausfrauen.

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Basic Forever schrieb:
>> alles was du brauchst
>
> Als echter Basic-Scrum-Kodierer brauche ich Zeilennummern und GOTO :-)
>
> So einen modernen Kram wie SUB oder FOR EACH benutzen nur Oberschüler
> und Hausfrauen.

Huch, noch ein Untoter.

Deswegen :

Einer schrieb:
> Geht das schon wieder los. Die Untoten sind wieder unterwegs...

von Andreas B. (bitverdreher)


Lesenswert?

Basic Forever schrieb:
> Als echter Basic-Scrum-Kodierer brauche ich Zeilennummern und GOTO :-)

Läuft Dein VC-20 denn überhaupt noch?

von Schlaumaier (Gast)


Lesenswert?

Andreas B. schrieb:
> Läuft Dein VC-20 denn überhaupt noch?

Mein Original verpackter C-16 +4 sicher noch und mein C=64 auch.

Davon abgesehen. Das b4x Zeug ist kein Compiler. Es ist ein 
Code-Wandler. Man muss die passenden Compiler (Arduino-Ide) o. 
Google-Api's auch installiert haben.

Nur die Code-Tipperei ist gleich.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Um halbwegs erfolgreich zu Programmieren, genügt es nicht, eine 
Programmierspache zu behrrschen, man mus auch ein gewisses "Feeling" und 
Kreativität besitzen.

Nicht jeder, der z.B. gut Deutsch schreibt und spricht ist auch 
automatisch ein Bestseller-Autor.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.