Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
15.06.20, 11:04
|
#1
|
Anfänger
Registriert seit: Apr 2015
Beiträge: 22
Bedankt: 9
|
Ich glaube keiner will hier eine Programmiersprache schlecht machen.
Ob ich jetz begin /end oder {/} schreibe ist , wenn man ordentlich arbeitet vollkommen irrelevant.
Die GUI ist ein Werkzeug, dass mir gefällt oder nicht und ich beliebig austauschen kann.
Wenn ich für mich selbst etwas programmiere, dann nehme ich das Werkzeug das am Besten zu meinem Problem passt UND dass ich in der Zeit, die ich dafür aufwenden will erlernen kann.
Wenn PowerBasic das kann, warum nicht (oder Modula oder Smalltalk oder Oberon oder andere exoten)
Aber wenn ich mit programmieren mein Geld verdienen will oder einfach technisch am Puls der Zeit bleiben will, dann habe ich ganz andere Anforderung.
Klar is OOP nicht für alles geeignet, aber ein guter Programmierer entwickelt eine Lösung fürs Problem und versucht nicht sein Problem in eine bekannte Lösung zu quetschen.
Von daher tief durchatmen und sich nicht angegriffen fühlen, jede Programmiersprache hat vor und Nachteile, aber Programmieren an sich ist ein komplexes Problem aufzubrechen und in eine logisch verarbeitbare Struktur zu übertragen.
Ich persönlich finde Programmiersprachen die mich einschränken am schlimmsten. Ich kann eine .net Applikation erstellen ohne jemals OOP anwenden zu müssen. Ich kann eine GUI mit Winforms anstelle von WPF machen (Dein Beispiel), dann ist das Formdesign ziemlich gleich wie in Basic (Dafür ist Rendering technisch gesehen ist eine Katastrophe)
Ich würde jedem Anfänger empfehlen, zuerst zu verstehen versuchen, wie ein Program funktioniert, was Typsicherheit ist, wieso manche Sprachen darauf verzichten und was Prozedurale, Eventbasierte und OOP Ansätze unterscheidet.
Alles andere ist Handwerk.
Ich kann auch ohne eine Ahnung von Elektrik mein Haus verkabeln und in jedes Zimmer ein Verlängerungskabel und Verteiler legen. Erfüllt den Zweck, aber es geht auch eleganter
Geändert von rorolowa (15.06.20 um 11:17 Uhr)
|
|
|
15.06.20, 14:08
|
#2
|
PornHarvester
Registriert seit: May 2009
Ort: Eizo Str 19
Beiträge: 29
Bedankt: 15
|
Zitat:
Zitat von rorolowa
Ich glaube keiner will hier eine Programmiersprache schlecht machen.
Ob ich jetz begin /end oder {/} schreibe ist , wenn man ordentlich arbeitet vollkommen irrelevant.
|
Ist es eigentlich auch, nur kommt mann besser an [] heran als an { } 
Aber ein guter Editor lässt einem auch die Wahl, ob {} als [] interpretiert werden soll oder nicht
Zitat:
Die GUI ist ein Werkzeug, dass mir gefällt oder nicht und ich beliebig austauschen kann.
|
Kannst du natürlich, sofern es genug gui's gibt, aber genau da kommt die Verwirrung rein, jede sieht anders aus, die eine will nur mit dem c compiler, die andere nur mit dem, und welches Buch oder tut am Ende nehmen sollst weist auch nicht. Der Einstieg ist einfach so beknackt bei C, wenn mann nicht zu dem Microdoof Müll greift, und dann muss mann all die Nachteile hinnehmen die einem Microdoof aufzwängt.
Zitat:
Wenn ich für mich selbst etwas programmiere, dann nehme ich das Werkzeug das am Besten zu meinem Problem passt UND dass ich in der Zeit, die ich dafür aufwenden will erlernen kann.
|
Verständlich, ich denke mal auch das ist der Grund warum so viele Purebasic Programmierer aus der C Welt kommen. C kann ja erst mal ohne Fremdlibs wirklich nur das allernötigste, und wenn ich z.B mal schnell ein FTP Tool schreiben will hab ich bei PB schon alles dabei, muss nicht erst irgendwelche Header includen usw.
Zitat:
Wenn PowerBasic das kann, warum nicht (oder Modula oder Smalltalk oder Oberon oder andere exoten)
Aber wenn ich mit programmieren mein Geld verdienen will oder einfach technisch am Puls der Zeit bleiben will, dann habe ich ganz andere Anforderung.
|
Wenn du damit Geld verdienen willst kannst du das auch, es ist nicht so das PB (Purebasic, nicht Powerbasic !. Da is'n großer Unterschied, zwischen beiden) das nicht technisch ermöglicht (Inline Assembler, vollständige API Unterstützung, Einbindung von C Libs, DirectX, Ogre, SDL, OpelGL usw) Aber die beknackte Wirtschaft mit diesem C Monopol zwingt ja einen förmlich dazu.
Du willst am Puls der Zeit bleiben ? PB hat nicht die Funktion von Haus aus die du suchst ? Dann nimmst halt eine C Lib dafür und gut is
PB muss technisch erst streiken wenn es darum geht ein OS zu schreiben. Menschlich schon wenn das Projekt sehr groß wird, und mann dann auf den OOP Kram angewiesen ist. Aber auch dafür bietet PB einen Ersatz, wahrscheinlich nicht so effizient aber immerhin.
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Zitat:
Klar is OOP nicht für alles geeignet, aber ein guter Programmierer entwickelt eine Lösung fürs Problem und versucht nicht sein Problem in eine bekannte Lösung zu quetschen.
|
Genau ! Sehr gut gesagt  Und genau desshalb ist C und all diese Sprachen mit diesen überladenen GUI's völlig ungeeignett um erst mal zu verstehen was da passiert.
Was kann denn C+/++ schon ohne erst mal die windows.h einzubinden ?
Code:
#include <windows.h>
MessageBox(NULL, _T("Goodbye, World!"), _T("Rosettacode"), MB_OK | MB_ICONINFORMATION);
Eigentlich fast nichts ! Selbst für nenn einfachen banalen Messagerequester muss ich was includen.
C ist so nackt ab Werk (C Fans nennen das einen Vorteil, es sei dann schneller und schlichter, nur zu blöd, daß Sprachen wie PB einen C Compiler benutzen, und somit genau so schnell und schlank sind) daß für alles erst mal irgendwas OS spezifisches eingebunden werden muss, oder eine der 5 Millionen Fremd Libs und deren Bugs eingebaut werden müssen.
Und genau desshalb sehe ich auch so viele C Programme die super aufwendiges Zeug wie Captcha Erkennung eingebaut haben (Fremd Lib halt) aber dann wurde an die simpelsten Dinge nicht gedacht. Da kann mann dann einfach die Proxy List mal sortieren während sie in Echtzeit von den Bots benutzt wird, und alles kackt ab ! Weil die Leute nur Copy & Paste und Gui zusammen klicken gelernt haben.
Schreibt mann seine GUI von Grund auf, ist mann zwangsläufig darauf angewiesen zu verstehen, wie eine Event Schleife aufgebaut ist, wann ich sie unterbrechen kann, wann nicht, warum nicht, was ein Callback Thread ist usw usw
Zitat:
Von daher tief durchatmen und sich nicht angegriffen fühlen, jede Programmiersprache hat vor und Nachteile, aber Programmieren an sich ist ein komplexes Problem aufzubrechen und in eine logisch verarbeitbare Struktur zu übertragen.
|
In erster Linie hat mich angekotzt das der nur weil einer eine leichte Sprache empfiehlt (der wollte a5r wollte nur helfen) gleich einen Roman in einem agressiven Ton ablässt, und PB in eine Schublade schmeist ohne Ahnung davon zu haben.
Zitat:
Ich persönlich finde Programmiersprachen die mich einschränken am schlimmsten. Ich kann eine .net Applikation erstellen ohne jemals OOP anwenden zu müssen. Ich kann eine GUI mit Winforms anstelle von WPF machen (Dein Beispiel), dann ist das Formdesign ziemlich gleich wie in Basic (Dafür ist Rendering technisch gesehen ist eine Katastrophe)
|
.net ist eine Krankheit ! Sorry aber es ist so, es gibt nichts wiederlicheres als einem User erst mal den .net framework Dreck aufzwingen zu müssen, nur damit ein kleines Tool läuft.
Ich könnte jedes mal in den Bildschirm schlagen wenn irgendwas .net braucht.
Klatschste 4.0 drauf, wird auch alles drunter installiert, einfach nur uneffizient und verschwenderisch. Alleine schon die 100k+ neuen Registry Einträge (davon wie viele Dateien dann die MFT von Windows aufblasen, und das Dateisystem langsamer machen will ich gar nicht erst anfangen) die dabei enstehen und Windows ausbremsen, nur damit mann ein an sich winziges Tool (das genau so winzig in jeder anderen Sprache wäre) benutzen kann.
Wieso sollte das Rendering eine Katastrophe sein ? Unter Vista haste halt die stinknormale Windows GDI/GDI+ und ab Vista kommt der WDDM,Direct2D Kram zum Einsatz.
Zitat:
Ich würde jedem Anfänger empfehlen, zuerst zu verstehen versuchen, wie ein Program funktioniert, was Typsicherheit ist, wieso manche Sprachen darauf verzichten und was Prozedurale, Eventbasierte und OOP Ansätze unterscheidet.
Alles andere ist Handwerk.
Ich kann auch ohne eine Ahnung von Elektrik mein Haus verkabeln und in jedes Zimmer ein Verlängerungskabel und Verteiler legen. Erfüllt den Zweck, aber es geht auch eleganter
|
Sehe ich genau so.
|
|
|
16.06.20, 15:54
|
#3
|
Anfänger
Registriert seit: Apr 2015
Beiträge: 22
Bedankt: 9
|
Zitat:
Zitat von Slut-Hunter
Wieso sollte das Rendering eine Katastrophe sein ? Unter Vista haste halt die stinknormale Windows GDI/GDI+ und ab Vista kommt der WDDM,Direct2D Kram zum Einsatz.
|
So weit ich mich erinnere behandelt Winforms jedes Control wie ein eigenes Fenster, sprich für jedes Control wird ein eigene Window-Handle erzeugt & verwaltet.
Geht ne Weile geht, aber irgendwann steht man vor ner Mauer.
Von daher der grosse Sprung zu WPF , dort gibts nur noch einen Handle pro form
|
|
|
16.06.20, 17:50
|
#4
|
PornHarvester
Registriert seit: May 2009
Ort: Eizo Str 19
Beiträge: 29
Bedankt: 15
|
Zitat:
Zitat von rorolowa
So weit ich mich erinnere behandelt Winforms jedes Control wie ein eigenes Fenster, sprich für jedes Control wird ein eigene Window-Handle erzeugt & verwaltet.
Geht ne Weile geht, aber irgendwann steht man vor ner Mauer.
Von daher der grosse Sprung zu WPF , dort gibts nur noch einen Handle pro form
|
Ich sehe das eher als ein Nachteil von WPF.
Wenn ich für jedes Control ein Handle hab, kann ich flexibler drauf zugreifen, versteckte Listen systemweit in Tools sichtbar machen, PostEvents systemweit senden usw
Wenn ich z.B den XUL Ramsch von Mozilla vor mir habe, könnte ich jedesmal abkotzen wenn ich nicht an das Handle von jedem Element komme, weil der Ramsch ziehmlich abgeschlossen in seiner eigenen Welt läuft.
Also bisher bin ich noch nie an die Grenze gestossen, selbst wenn ich mehrere hundert Images,ButtonImages etc geladen habe
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Im ersten Bild sind pro Reihe 180 Bilder/Frames (mit maximal 500x500, ist aspect ratio korrekt ausgerichtet) Also 540 Bilder + 540 ImageButtonGadgets, und es baut sich recht zügig auf.
Im zweiten Bild nach druck auf + werden die 180 in der ersten Reihe blitzschnell verschoben.
Im dritten bild dauert es den Bruchteil einer Sekunde um das Grid neuanzupassen (sobald eine Änderung an der Anzahl, werden alle alten Images + ImageButtons freigegeben, eine Matrix Calculation ausgeführt und entsprechend neue erstellt, und noch zig andere Sachen gemacht die die liste Links unten betreffen)
Im vierten Bild kann ich alle 3 Bilder (ja nur 3 Images. Es sind Frame Images. Von denen jedes Bild 180 Frames hat) gleichzeitig mit nicht messbar vorhandener Last mit 5ms Delay (also 5-6 x so schnell wie im Original) zwischen den Frames abspielen lassen. Selbst auf meinem uralt Single Core (ist sowieso ein Single Core Tool) 1,2ghz Pentium M Laptop auf'm Bett, würde das dank der guten 2D Beschleunigung von GDI (und entsprechender Grafikkarte die GDI noch wirklich nativ drauf hat, also alles unterhalb der uralten Geforce 8xxx Reihe) noch gehen.
Mein uralt AMD Phenom x4 945 Quadcore von 2010 läuft die meiste Zeit zwangs gedrosstelt und taktet nicht über 2,4GHZ pro Kern.
ps: File 1 (MPEG Original) File 2 (x264 Rip im Avi Container) und File 3 (der selbe x264 Rip nur im MKV Container) haben die selbe Länge, und Frame Anzahl.
Die dritte Reihe hat aber andere Frames sichtbar, weil die 3. Datei einen mkv container benutzt, und es da beim seeking Probleme mit VirtualDub & all dem FFmpeg Kram gibt.
Desshalb hab ich die Shift Funktion eingebaut, den manchmal gibt es auch zwischen MPEG Original und x264 in AVI & MP4 einen Versatz, von maximal 5 Frames.
__________________
Mit dummen Menschen zu streiten ist wie mit einer Taube Schach zu spielen. Egal wie gut Du Schach spielst, die Taube wird alle Figuren umwerfen, auf das Brett kacken und herumstolzieren als hätte sie gewonnen.
|
|
|
16.06.20, 18:54
|
#5
|
Anfänger
Registriert seit: Apr 2015
Beiträge: 22
Bedankt: 9
|
Und schon ist das Programmierforum FSK 18
Das Problem besteht bei Overlays mit vielen Panels & Controls, die übereinander liegen. z.B. vererbte und komplexere Layoutpanels mit haufenweise Docks oder dann Fesnter skalierungen mit dynamischem Flow verhalten. Da ist dann bei ca 500 Controls Schluss.
Das ganze dann noch auf einem Terminalserver und du kannst beim Bildaufbau mit dem Fuss den Takt dazu klopfen.
|
|
|
16.06.20, 21:30
|
#6
|
PornHarvester
Registriert seit: May 2009
Ort: Eizo Str 19
Beiträge: 29
Bedankt: 15
|
 yo für mich ist das ganze Board FSK 18  weil wareZ
Ich glaube selbst sowas zerklüftetes wie Adobe Premiere braucht nicht mal
ansatzweise 500  es is ja nie alles gleichzeitig offen
Ich glaub eher das es gegen 500 kritisch wird, weil WDDM und kein GDI
Gerade Overlays gehen in XP richtig gut (sofern echter 2D Chip auf Karte) finde ich.
Da kann ich einfach mal das Bild 1:1 Clonen auf 2 weitere Bildschirme, oder auch nur den Hardware Accelerated Part.
Also Desktop/Browser etc auf Bildschirm 1, und auf Bildschirm 2 & 3 läuft nur der normale Movie (muss den nicht blöd auf'n erweiterten Desktop ziehen)
den ich per Bildschirm 1 gestartet habe (die letzte GF die das konnte war die 7900 GT) während ich schön nach Porn Surfe, und es niemand mitkriegt  weil die nur die Vollbild Ausgabe vom Player sehen, und sonst nichts
Thema Performance:
Weiss nicht wie das ab Vista mit der Performance wegen dem WDDM ramsch ist, hab nur Windows XP & 2003 Rechner laufen, und ein Fön (15" Lidl Notebook mit nem Athlon XP 2100 drauf....entsprechend laut) mit Windows 7, daß ich kurz benutze wenn ich neue HD's kriege die 4k Sektoren haben (mit 512kb Emulation natürlich, sonst gehen sie ja nicht unter XP/2003) die ich dann mit Windows 7 einrichte/partitioniere zwecks richtiger 4K LBA Ausrichtung.
Also was ich weis (oder auch nicht ^^) wie das Rendering ab Vista ist.
Für jede Änderung muss der gesammte Bildschirm neu gezeichnett werden, da wird irgendwie umständlich über nenn Framebuffer gearbeitet, und 2D Operationen werden über 3D Leistung getätigt (wenn die 3D Leistung hoch genug ist, ist sie zwischendurch sogar mal schneller als GDI ^^)
Bei Win 9X, und XP/2k3 runter bis NT4 (NT 3.X hat ja noch das System wie es Linux Artige benutzen) wird nur das neu gezeichnett was sich auch ändert (weil GDI) dazu kommt das bei GDI ü100 2D Befehle Hardware beschleunigt sind, und bei Direct 2D nur ein Bruchteil davon.
Wenn natürlich die Refresh Rate vom LCD hoch genug ist, und gleichzeitig die 3D Leistung der Grafikkarte auch, hat mann Butterweiches Scrolling/Sizing/Moving von großen Bildschim Teilen, was ja bei XP (und drunter) immer ein leichtes Ruckeln erzeugt (d.H benutzen so viele auch das Ausblenden vom Fensterinhalt, wenn das Fenster verschoben/resized wird)
GDI ist halt sehr schnell darin, mit wenig 2D Hardware Leistung viele verteilte kleinere Änderungen abzubilden (weil ja nur das neu gezeichnett wird, was sich auch wirklich ändert) statt große Flächen zu verschieben/neu zu zeichnen.
Die Grafikkarte muss auch zum OS passen.
Beispiel:
Meine Geforce 750GTX (mit nem Trick hab ich sie unter Windows 2k3 zum laufen gebracht) ist im 2D Test unter XP in den meisten 2D Tests bisschen schneller (und das obwohl sie keinen dedicated 2D Chip hat) als die uralte GeForce 6600GT (die hat noch nenn echten 2D Grafik Chip drauf) die ich davor hatte, aber auch nur weil die Geforce 750GTX locker 30 x schneller in 3D ist, und ihre Pseudo 2D Leistung unter GDI per 3D Berechnung erreicht.
Die GeForce 6600GT war bei 2D wiederum meilenweit schneller als z.B die Ati Radeon 4850HD und GeForce 8500 GT (hab ich auch mal ne Zeit lang gehabt, bin dann aber wieder zurück auf die 6600 GT, weil die wenigstens ordentlich 2D Leistung unter GDI hat, S-Video & YCBR Eingänge und nenn TV-Out für meine 32" Röhre  )
Andersherum geht es natürlich auch.
Ab Vista kackt die Geforce 6600GT auch in 2D natürlich ab (im Vergleich nur Radeon 4850 und GeForce 8500) weil die gar nicht so viel 3D Leistung hat, wie benötigt wird um genug Direct2D Leistung zu erhalten, und sie versteht ja nur GDI, was ab Vista ja nur noch emuliert wird.
ps: Bevor du fragst. Die 51KG 32" 4:3 Röhre habe ich, wegen meinen Retro Konsolen, und weil ich von gestern bin ^^ Ich mag diese Flachbild Dinger nicht, bin mit nem Kasten aufgewachsen, und alles das keinen dicken Rahmen um sich hat, nicht knistert wenn ich über die Bildschirm Oberfläche fasse, und mich nicht verstrahlt wirkt für mich wie ne Tapete, selbst wenn 60"
__________________
Mit dummen Menschen zu streiten ist wie mit einer Taube Schach zu spielen. Egal wie gut Du Schach spielst, die Taube wird alle Figuren umwerfen, auf das Brett kacken und herumstolzieren als hätte sie gewonnen.
|
|
|
Folgendes Mitglied bedankte sich bei Slut-Hunter:
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 Uhr.
().
|