Als Anfänger mit Chat GPT eine App mit folgenden Kriterien programmieren, machbar oder unrealistisch?

Guten Tag,

ich bin am überlegen zu versuchen alleine mit Chat GPT eine App zu programmieren,. Die App soll praktisch eine soziale App sein und etwas im Real-Life organisieren/verwalten, sagen wir mal ähnlich wie Picolo (Trinkspiel-App)

Ich möchte nicht viel darüber verraten, aber sie soll folgende Kriterien beeinhalten:

  • Plattformübergreifend
  • Benutzerkonten verwalten, Daten speichern und Interaktionen zwischen Benutzern ermöglichen
  • Gutes Design haben (minimalistisch, aber ansprechlich)
  • Benutzerkonten sollen in Echtzeit in einem Raum, welchen man eröffnen kann "spielen"
  • Ein Zahlungssystem haben und allem was an Sicherheit dazugehört
  • Und recht viele Extrafunktionen haben, mit denen man sein "Spiel" benutzerdefiniert erstellen kann

Ich bin jedoch ein absoluter Anfänger, jedoch mit der Hoffnung, dass man sich alles nötige mit Chat GPT aneignen könnte. Das Problem ist ich studieren noch nebenbei, hätte also nur 2 bis 5 Stunden jeden Tag dafür zur Verfügung. Und kenne leider absolut niemanden der mir dabei helfen könnte, plus ich hab kein Geld jemanden "anzustellen" oder sowas. Würde ja auch keinen Sinn machen wenn ich gar nicht weiß ob so eine App am Ende was abwerfen würde.

Generell bin ich aber sehr lernfähig und hätte da eigentlich ziemlich Lust zu (auch einfach so für mich, nicht wegen Geld oder sonst was)

Jetzt zu meiner Frage, was glaubt ihr ist sowas absolut unrealistisch oder ist das machbar? Also klar könnte man sowas theoretisch schaffen aber bin jetzt kein Wunderkind oder Erfahrender im Programmieren und hab keine 16 Stunden Zeit am Tag. Würde echt gerne Meinungen dazu hören wie ihr sowas einschätzt.

Dankeschön und liebe Grüße

App, programmieren, Programmiersprache, app entwicklung, ChatGPT
Was ist bei meinem C# Code falsch?
using System;
namespace NeuArray
{
  class Programm
  {
    static void Main()
    {
      string[,] products = new string[2, 5];
      products[0, 0] = "Senf";
      products[1, 0] = "1.99 Euro";
      products[0, 1] = "Smartphone";
      products[1, 1] = "Preis: 1299 Euro";
      products[0, 2] = "Schokolade";
      products[1, 2] = "2.99 Euro";
      products[0, 3] = "Obst";
      products[1, 3] = "1.49 Euro";
      products[0, 4] = "Couch";
      products[1, 4] = "499 Euro";
    Start:
      Console.Write("Gib die Spalte ein von dem Produkt das du suchst: ");
      int Spalte = Convert.ToInt32(Console.ReadLine());
      if (Spalte < 0 || Spalte > 5)
      {
        Console.WriteLine("Diese Spalte existiert nicht. ");
        goto Start;
      }
      Console.WriteLine("Das gesuchte Produkt lautet: " + products[0, Spalte]);
      Console.WriteLine("Möchtest du den Preis dieses Produktes sehen? Geben Sie 1 ein für Ja und 2 für Nein ");
      int Abfrage = Convert.ToInt32(Console.ReadLine());
      switch (Abfrage)
      {
        case 1:
          Console.WriteLine(products[1, Spalte]);
          break;
        case 2:
           
          Abfrage2:
            Console.WriteLine("Möchten Sie nach einem neuen Produkt suchen? Geben Sie 1 ein für Ja und 2 für Nein");
            int AbfrageProduktNeu = Convert.ToInt32(Console.ReadLine());
            if ((AbfrageProduktNeu == 1))
            {
              goto Start;
            }
            else if (AbfrageProduktNeu == 2)
            {
              Console.WriteLine("Programm beendet.");
            }
            else
            {
              Console.WriteLine("Ungültige Eingabe.");
              goto Abfrage2;
            }
            break;    
      }
    }
  }
}

Es steht zwar nicht, dass irgendwo ein Fehler ist aber immer wenn ich das Programm in der Konsole ausgeben will steht da "Hot Reload".

Könnt ihr mir helfen bitte?

Software, App, programmieren, C Sharp, Code, Programmiersprache, Visual Studio
Mein Problem als Anwendungsentwickler?

Hallo,

ich bin ausgelernter Fachinformatiker für Anwendungsentwicklung.
Meine Ausbildung habe ich dieses Jahr abgeschlossen und ich hatte vor meiner Ausbildung auch keinerlei Vorerfahrung was Programmierung angeht.

In meiner Ausbildung habe ich mich immer wieder schwer getan die Prinzipien hinter dem Code zu verstehen.
Das heißt ich konnte ihn schon irgendwie anwenden, aber wenn mich jemand gefragt hat "erklär mir mal den Unterscheid von dem und dem" hatte ich darauf meist keine Antwort.

In meiner Ausbildung gab es auch nicht viel mit Grundlagen erlernen, wir wurden quasi schnell bereit gemacht um an der Software der Firma zu arbeiten.

Das Problem was ich heutzutage habe: Ich verstehe oft die Hintergründe von verschiedenen Zeugs in der Programmierung nicht.

Ich kann quasi die Sachen anwenden, aber genau erklären könnte ich es nicht.

Ein Beispiel: Ich bin momentan in einer neuen Firma angestellt, und bin Aufgrund von mangelnder Projekte in ein internes Mobile-App Projekt gesteckt worden.
In dem Projekt bin ich ganz alleine und habe auch schon eine Lauffähige App entwickelt, wo auch bereits ein Prototyp draußen ist.
(Ich hatte vorher noch nie etwas mit Mobile-App-Entwicklung zutun gehabt, das habe ich mir in der Zeit alles selbst erlernt).
Allerdings verstehe ich den Code selber nicht so ganz. Ich könnte jetzt auch keinem anderen erklären, wofür was genau ist.
Es sind quasi Codeschnipsel die ich aus dem Internet genommen habe und dann einfach nur angepasst habe.

Ich habe das Gefühl, dass mich das zu einem schlechten Programmierer macht, und ich wollte gerne wissen, was ich eurer Meinung nach tun muss, um ein richtig guter Programmierer zu werden.

Was kann ich in meinem jetzigen Stand dafür tun?

Software, IT, programmieren, Informatik
Python: wann sind slice-Operationen an Arrays vorteilhaft?

Ich habe in Python versucht, eine doppelte Schleife über ein 2D Array (Variante 1) durch "array slice" Operationen (Variante 2) zu optimieren, stelle aber fest, dass dies nichts bringt, sondern die Rechenzeit sogar etwas größer wird.

Ich dachte eigentlich, dass man wo immer möglich slice Notation verwenden sollte, da dies schneller ist. Scheinbar kann man das aber nicht so einfach sagen.

Wann sind slice Operationen schneller bzw. von Vorteil? Leserlicher wid der Code ja nicht, aber dass er sogar langsamer wird überrascht mich nun doch ein wenig...

Der Code:

import numpy as np
import numpy.ma as ma
import time


def test():

 
  f = np.array([
    [0,  0,  0,  0,  0,  0,   0], 
    [0,  1,  3,  6 , 4,  2,   0], 
    [0,  2,  4,  7 , 6,  4,   0],   
    [0,  0,  0,  0,  0,  0,   0]
    ], dtype=float)
     

  u = np.array([
    [0,  0,  0,  0,  0,  0,   0], 
    [0,  0.5, 1,  0, -1, -0.5,  0], 
    [0,  0.7, 1.1, 0, -1, -0.4,  0], 
    [0,  0,  0,  0,  0,  0,   0], 
    ], dtype=float)
     
   
  # calculate : variant 1
  x = np.zeros_like(f)
   
  maxcount = 100000
   
  start = time.time()

  for count in range(maxcount):
    for i in range(1,u.shape[0]-1):
      for j in range(1,u.shape[1]-1):
        if u[i,j] > 0: 
          x[i,j] = u[i,j]*(f[i,j]-f[i,j-1])
        else:
          x[i,j] = u[i,j]*(f[i,j+1]-f[i,j])
         
  end = time.time()
  print("used time for variant 1:", end-start)
         
              
   
  # calculate : variant 2

  y = np.zeros_like(f)  

   
  start = time.time()
   
  for count in range(maxcount):
    maskl = (u[1:-1, 1:-1] > 0)
    maskr = ~maskl 
    diff = f[1:-1, 1:] - f[1:-1, 0:-1]
     
    yy = (y[1:-1, 1:-1])
    uu = (u[1:-1, 1:-1 ])
     
    yy[maskl] = uu[maskl] * (diff[:, :-1])[maskl]
    yy[maskr] = uu[maskr] * (diff[:, 1: ])[maskr]
   
  end = time.time()
  print("used time for variant 2:", end-start)
   
  np.testing.assert_array_equal(x, y)


test()

Die Ausgabe:

D:\python\animation>python test.py
used time for variant 1: 1.0328729152679443
used time for variant 2: 1.3058593273162842

D:\python\animation>python test.py
used time for variant 1: 1.1189219951629639
used time for variant 2: 1.3527190685272217

D:\python\animation>python test.py
used time for variant 1: 1.066974401473999
used time for variant 2: 1.3022441864013672
programmieren, Python, numpy, Python 3

Meistgelesene Fragen zum Thema Programmieren