Die große Erkenntnis
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Re: Die große Erkenntnis
Am schlimmsten ist es, wenn man irgendwann mal um einen Bug herum programmieren musste, aber nicht mehr daran denkt. Dann vereinfacht man den Code und wundert sich, warum es nicht mehr funktioniert. Dann sucht man den Bug im Forum und merkt, dass man ihn damals selbst gemeldet hatte.
Re: Die große Erkenntnis
Volle 100 PunkteKurzer hat geschrieben:Keine Sorge STARGÅTE, ab einem bestimmten Alter kehrt sich das ganze dann auch wieder um.
Da sitzt Du dann vor einer Problemstellung, die Du vor x Jahren mal eben aus der Hüfte gelöst hast und bekommst es nicht mehr gebacken.
Btw: Werde dieses Jahr meinen 60. "feiern" (OMG...dann gehe ich auf die "70" zu )
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
- unkommentierter Quellcode = unqualifizierter Müll
Re: Die große Erkenntnis
Oh ja, das ist mir auch passiert, wahrscheinlich öfter als mich über alte komplizierte Lösungen zu wundern.NicTheQuick hat geschrieben:Dann sucht man den Bug im Forum und merkt, dass man ihn damals selbst gemeldet hatte.
Was ich schaffe: Ich beschließe spontan etwas kleines mathematisches zu schreiben. Z.B. einen Muttertagsgruß für meine Mutter, der Blumen wachsen lässt.
Hock mich mitten in der Nacht hin, lege los und werde um 3 Uhr fertig.
Jahre später denk ich mir, wäre doch schön das nochmal anzusehen.
Doch ich bekomme es nicht hin, den Code auf aktuellem PB laufen zu lassen, geschweige denn, ihn zu verstehen
Edit: Der Code läuft wieder Zum verstehen bräuchte ich wohl noch etwas
Wen Interesse besteht, kann ich das Kunstwerk hier reinstellen.
Re: Die große Erkenntnis
Bei mir kann ich die gesammelten Werke der letzten 11 Jahre von Purebasic zu 90% wegwerfen. Ist eh nicht ordentlich Dokumentiert.
Macht oft Sinn neu anzufangen...
Was ich aber bei mir merke, das ich in meinen Programmierspiel immer mehr Konservativ werden und kaum noch was ändere...
Muss am Alter liegen.
Arbeite jetzt auch schon seit über 20 Jahre als Programmierer und Anwendungsentwickler in der Industrie und verwende meisten irgendwelche Hantierungs Bausteine für PLC´s die ich vor Jahren mal entwickelt habe und kaum noch anpasse.
Manchmal denke ich man könnte mal was elementares ändern. Aber wo zu. Funktionieren doch in duzenden von Anlagen.
Muss auch am Alter liegen...
Vielleicht sollte man mal was anderes machen. Hab aber nichts gescheites gelernt
Macht oft Sinn neu anzufangen...
Was ich aber bei mir merke, das ich in meinen Programmierspiel immer mehr Konservativ werden und kaum noch was ändere...
Muss am Alter liegen.
Arbeite jetzt auch schon seit über 20 Jahre als Programmierer und Anwendungsentwickler in der Industrie und verwende meisten irgendwelche Hantierungs Bausteine für PLC´s die ich vor Jahren mal entwickelt habe und kaum noch anpasse.
Manchmal denke ich man könnte mal was elementares ändern. Aber wo zu. Funktionieren doch in duzenden von Anlagen.
Muss auch am Alter liegen...
Vielleicht sollte man mal was anderes machen. Hab aber nichts gescheites gelernt
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Die große Erkenntnis
@Macros: Ja gerne zeig mal.
@mk-soft:
In dem Archiv ist aber noch ein Ordner "AlteProjekte" in dem die Projekt schon gezippt sind.
Selbst in aktuellen Projekten, verwende ich noch Includes, deren Code nach meiner "heutigen" Sicht veraltet ist.
Dennnoch erfüllen sie ihre Aufgabe und ich sage mir auch, wozu noch mal drüber nachdenken.
@mk-soft:
Jo ich habe auch so einen Ordner, der nennt sich "Archiv", wobei der noch nicht gezippt ist^^.mk-soft hat geschrieben:Bei mir kann ich die gesammelten Werke der letzten 11 Jahre von Purebasic zu 90% wegwerfen. Ist eh nicht ordentlich Dokumentiert.Macht oft Sinn neu anzufangen...
In dem Archiv ist aber noch ein Ordner "AlteProjekte" in dem die Projekt schon gezippt sind.
So ähnlich geht es mir mit einigen meine Includes.mk-soft hat geschrieben:Manchmal denke ich man könnte mal was elementares ändern. Aber wo zu. Funktionieren doch in duzenden von Anlagen.
Selbst in aktuellen Projekten, verwende ich noch Includes, deren Code nach meiner "heutigen" Sicht veraltet ist.
Dennnoch erfüllen sie ihre Aufgabe und ich sage mir auch, wozu noch mal drüber nachdenken.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: Die große Erkenntnis
Das ist der Vorteil und die Aufgabe von automatisierten, fertig geschriebenen, wiederverwendbaren Prozeduren.
Es ist nicht so sinnvoll, wenn man in neueren Projekten immer wieder die gleichen Funktionen neu schreibt, obwohl diese bereits in alten Projekten existieren.
Das Zauberwort lautet Wiederverwendbarkeit. Wenn die Funktionen/Prozeduren/Includes fehlerfrei und gut mit Parametern einsetzbar sind, dann muss man das Rad nicht ständig neu erfinden und man kann diese Funktionen wiederverwenden. Deshalb spielt es keine Rolle, wie alt die Funktionen sind. Solange sie automatisiert und gut anwendbar sind, ist das ein großer Vorteil und man spart viel Zeit beim Entwickeln eines neuen Projektes.
Ich habe inzwischen auch sehr viele Funktionen, die ich erstellt habe, und muss diese in einem neuen Projekt nur anwenden und das Projekt ist schon halb fertig.
Es ist nicht so sinnvoll, wenn man in neueren Projekten immer wieder die gleichen Funktionen neu schreibt, obwohl diese bereits in alten Projekten existieren.
Das Zauberwort lautet Wiederverwendbarkeit. Wenn die Funktionen/Prozeduren/Includes fehlerfrei und gut mit Parametern einsetzbar sind, dann muss man das Rad nicht ständig neu erfinden und man kann diese Funktionen wiederverwenden. Deshalb spielt es keine Rolle, wie alt die Funktionen sind. Solange sie automatisiert und gut anwendbar sind, ist das ein großer Vorteil und man spart viel Zeit beim Entwickeln eines neuen Projektes.
Ich habe inzwischen auch sehr viele Funktionen, die ich erstellt habe, und muss diese in einem neuen Projekt nur anwenden und das Projekt ist schon halb fertig.
Re: Die große Erkenntnis
@STARGÅTE Wie du willst
Alles möglichst originalgetreu gehalten.
Alles möglichst originalgetreu gehalten.
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenScreen(1024,768,32,"test")
id=LoadFont(1,"Magic the Gathering",50)
If CreateSprite(1,1024,768)=0
End
EndIf
Procedure DrawFl(x,y,col)
Circle(x,y-5,6,col)
If col=$1AF4E5
Circle(x,y-5,3,$3E4A75)
Else
Circle(x,y-5,3,$ffff)
EndIf
EndProcedure
Structure pf
x.l
y.l
ux.l
uy.l
col.f
sp.l
EndStructure
Structure fl
x.l
y.l
x2.l
y2.l
fl.l
col.l
EndStructure
Global Dim flower.fl(50,100)
NewList p.pf()
Procedure deleteflowers()
For a=0 To 50
For b=0 To 100
flower(a,b)\x=0
flower(a,b)\y=0
flower(a,b)\x2=0
flower(a,b)\y2=0
flower(a,b)\fl=0
flower(a,b)\col=0
Next
Next
EndProcedure
delay=1000
state=1
Repeat
ExamineKeyboard()
FlipBuffers()
If delay<0
state+1
delay=1000
Else
delay-10
EndIf
If state>2 Or state=1
draw=1
Else
draw=0
EndIf
If oldstate=4 And state=5
count=0
EndIf
If oldstate=6 And state=7
sin.f=0
count=0
EndIf
If State=8 And oldstate=7
deleteflowers()
For a=1 To 50
flower(a,0)\x=Random(1004)+10
flower(a,0)\y=680+Random(20)-10
flower(a,0)\x2=flower(a,0)\x+Random(10)-5
flower(a,0)\y2=flower(a,0)\y-5-Random(10)
Next
EndIf
If state=4 And oldstate=3
ForEach p()
If p()\col<>$ff
DeleteElement(p())
EndIf
Next
EndIf
oldstate=state
If draw=1
If StartDrawing(SpriteOutput(1))=0
Debug "No Sprite drawing"
EndIf
start=1
If claus=0
Box(0,0,1024,768,0)
EndIf
EndIf
Select state
Case 1
DrawingMode(1)
DrawingFont(id)
DrawText(105,105,"Alles Gute zum Muttertag",$00ff,0)
claus=1
Case 2
ClearList(p())
StartDrawing(SpriteOutput(1))
For x=0 To 1023
For y=0 To 700
tmp=Point(x,y)
If tmp<>0 And tmp<>$ff00
AddElement(p())
p()\x=x
p()\y=y
p()\ux=x
p()\uy=y
p()\col=tmp
If tmp=$ff
p()\sp=Random(2)+2
Else
p()\sp=Random(2)+4
If Random(1)=0 Or Random(2)=0
DeleteElement(p())
EndIf
EndIf
EndIf
Next
Next
StopDrawing()
claus=0
state+1
Case 3
ForEach p()
If p()\y<700 Or p()\col<>$ff
p()\y+p()\sp
EndIf
If p()\y>766
DeleteElement(p())
Else
current=ListIndex(p())
currenty=p()\y
currentx=p()\x
If Random(1)=1
Plot(p()\x,p()\y,p()\col)
EndIf
EndIf
Next
delay+7
Case 4
delay+6
count+1
sin.f+0.005/Round(count/12,1)
ForEach p()
p()\y=700-Abs(Sin((p()\ux+300)/p()\uy/3*sin)*700)
p()\x=p()\ux-Abs(Sin(Cos(p()\ux/1000*sin)*Sin(p()\uy/1000*sin)*5)*p()\ux)
Plot(p()\x,p()\y,p()\col)
p()\col=RGB(Abs(Cos(sin+p()\y/100)*255),Abs(Sin(sin+p()\x/100)*255),Abs(Cos(sin+p()\y/100-p()\x/100)*255))
Next
Case 5
delay+6
count+1
sin.f-0.005/Round(count/12,1)
ForEach p()
p()\y=700-Abs(Sin((p()\ux+300)/p()\uy/3*sin)*700)
p()\x=p()\ux-Abs(Sin(Cos(p()\ux/1000*sin)*Sin(p()\uy/1000*sin)*5)*p()\ux)
Plot(p()\x,p()\y,p()\col)
p()\col=RGB(Abs(Cos(sin+p()\y/100)*255),Abs(Sin(sin+p()\x/100)*255),Abs(Cos(sin+p()\y/100-p()\x/100)*255))
Next
Case 6
delay+7
sin.f+0.05
ForEach p()
If p()\y>p()\uy
p()\y-p()\sp*2+Sin(sin+p()\x/100)*2
Plot(p()\x+Sin(sin+p()\x/100)*30,p()\y-Cos(sin+p()\y/100)*30,p()\col)
p()\col=RGB(Abs(Cos(sin+p()\y/100)*255),Abs(Sin(sin+p()\x/100)*255),Abs(Cos(sin+p()\y/100-p()\x/100)*255))
Else
Plot(p()\x+Sin(sin+p()\x/100)*30,p()\uy,p()\col)
EndIf
Next
Case 7
ForEach p()
p()\x=p()\ux
p()\y=p()\uy
Next
state+1
Case 8
ForEach p()
Plot(p()\x,p()\y,p()\col)
Next
delay+9
claus=1
b=0
For a=1 To 50
Repeat
LineXY(flower(a,b)\x,flower(a,b)\y,flower(a,b)\x2,flower(a,b)\y2,$ff00+$ff*flower(a,b)\fl)
b+1
Until flower(a,b)\x=0 Or b>98
If Random(15)=1
If Random(4)=1
in$=Str(Val(in$)+1)
flower(a,b)\x=flower(a,b-1)\x2
flower(a,b)\y=flower(a,b-1)\y2
flower(a,b)\x2=flower(a,b)\x+Random(20)-10
flower(a,b)\y2=flower(a,b)\y-2-Random(4)
flower(a,b)\fl=1
Select Random(3)
Case 0
flower(a,b)\col=$ff66ff
Case 1
flower(a,b)\col=$1AF4E5
Case 2
flower(a,b)\col=$C0E93F
Case 3
flower(a,b)\col=$1643E9
EndSelect
b+1
bstep=1
EndIf
flower(a,b)\x=flower(a,b-1-bstep)\x2
flower(a,b)\y=flower(a,b-1-bstep)\y2
flower(a,b)\x2=flower(a,b)\x+Random(10)-5
flower(a,b)\y2=flower(a,b)\y-5-Random(10)
bstep=0
EndIf
b=0
Next
For a=1 To 50
Repeat
If flower(a,b)\fl
DrawFl(flower(a,b)\x2,flower(a,b)\y2,flower(a,b)\col)
EndIf
b+1
Until flower(a,b)\x=0 Or b>98
b=0
Next
Case 9
delay+6
Case 10
state=1
Default
End
EndSelect
If start=1
StopDrawing()
start=0
EndIf
DisplaySprite(1,0,0)
Until KeyboardPushed(#PB_Key_Escape)
Re: Die große Erkenntnis
Ja, genauso erlebe ich das auch und so hatte ich es gemeint. Auch die persönlichen Prioritäten ändern sich im Laufe des Lebens und Wichtigkeit mancher Dinge, die einen früher beeindruckt und motiviert haben.Bisonte hat geschrieben:Das Leben...xXRobo_CubeXx hat geschrieben:Warum sollte es umgekehrt sein wen man älter wird? Wegen Alzheimer?
Man verändert sich und seine Denkweisen.... auch wenn man es nicht glauben will....
Das hat mit vergessen nicht wirklich etwas zu tun.
@Macros: Schöne Muttertagsdemo, gefällt mir. Ich hoffe sie konnte die Art der Arbeit, die da drin steckt, entsprechend nachvollziehen und honorieren.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Re: Die große Erkenntnis
Ganz einfach: Nö. Mir ist völlig Klar, dass ich morgen eine Erkenntnis gewonnen habe, die ich heute noch nicht hatte. Leben ist lernen und neues Schaffen bringt Zerstörung.STARGÅTE hat geschrieben: ... und man fragt sich
Warum hab ich damals diese Vereinfachung nicht "gesehen"?
... und wenn ja, warum habe ich das damals nicht ausreichend kommentiert? Ja, diese Frage nagtSTARGÅTE hat geschrieben: Hab ich möglicherweise "jetzt" etwas übersehen, was die Vereinfachung damals garnicht möglich machte?
Nö, eher "wie früh war es damals?". Quelltexte spätabends sind immer besser als früh morgens. Daher hör ich mir auch gerne die Sprüche an vonwegen "Spätschichtler".STARGÅTE hat geschrieben: Wie spät war es damals?^^
Nö. Ich hab ja ne Uhr, aber dem Glücklichen schlägt keine Stunde und PB programmieren ist Glück purSTARGÅTE hat geschrieben: Wie spät ist es heute?^^
Gegenfrage: Kennt ihr das "Ach, hätte ich das doch damals in einer anderen Sprache geschrieben", weil ihr es gern auf eine andere Plattform portieren würdet (Smartphone, Embedded System etc. etc.)?
Mfg
Franky
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden
Re: Die große Erkenntnis
Ich kenne eher den folgenden Fall:
- Man schaut sich einen alten Code an und fragt sich "Wieso habe ich das denn SO gemacht?"
- Dann versucht man ihn umzuschreiben
- Dann startet man ihn und merkt, er funktioniert nicht mehr
- Dann versucht man, das umgeschriebene Stueck fuer Stueck zu korrigieren
- Auf einmal versteht man wieder ganz genau, wieso man das damals SO gemacht hat...
- Man schaut sich einen alten Code an und fragt sich "Wieso habe ich das denn SO gemacht?"
- Dann versucht man ihn umzuschreiben
- Dann startet man ihn und merkt, er funktioniert nicht mehr
- Dann versucht man, das umgeschriebene Stueck fuer Stueck zu korrigieren
- Auf einmal versteht man wieder ganz genau, wieso man das damals SO gemacht hat...
ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.