News TinyRetroPad: Ex-Microsoft-Entwickler schreibt Notepad mit 2,5 KB neu

Loopman schrieb:
Quatsch.

Und gerade MacOS als leistungsfĂ€hige GUI bezeichnen... 😂
Einigen mag es zwar besser gefallen, oder sie kommen damit besser klar, aber technisch ist die teilweise in den 90ern hÀngen geblieben.

Ich arbeite ĂŒbrigens mit beiden ☝
"Quatsch".
Deine Verwechslung von MacOS mit GUI framework lĂ€ĂŸt mich vermuten, daß der Kommentar nicht aus Entwicklersicht stammt.
Ohne enormen Zusatzaufwand warten rein Winforms oder WPF-basierte Windows Anwendungen mit dem Look des vergangenen Jahrtausends auf.
Daß die notfalls noch unter Windows 95 laufen war nicht Thema.
Und beim Verweis auf die 90er, der nicht gar keine aber sehr wenig Substanz hat, schau doch mal auf Laufwerk A: oder C: nach.
 
areiland schrieb:
Sehe ich angesichts der 8,4 MiB von Np++ jetzt nicht so.

[...] WinUI 3 erstellt werden sollen, was das ganze unsÀglich aufblÀht. Entwickle ich das gleiche Tool mit Windows Forms, wirds zehnmal kleiner.[...]
Mich hat dieses unnötige AufblÀhen irgendwann so abgenervt, dass ich auf Linux gewechselt bin.

Also viele grafische Texteditoren unter Linux fressen RAM aber auch zum FrĂŒhstĂŒck und sind mit allen Plugins um ein Bruchteil der FunktionalitĂ€t von N++ zu erreichen auf dem Festspeicher auch fetter.

MaverickM schrieb:
Winget funktioniert dahingehend sehr gut.
Deine Forderungen/Beispiele sind beeindruckend inkonsequent.
WinGet installiert ĂŒberwiegend ja auch nur Installer, bei denen die Anwendungen den Großteil ihrer AbhĂ€nigkeiten selber mitbringen. Was ein haufen Bloat bedingt, weil gĂ€ngige Frameworks so mehrfach installiert werden, entsprechend Festspeicher brauchen und zur Laufzeit jeweils nur im Kontext der Anwendung laufen anstatt einmalig fĂŒr alle Anwendungen zur VerfĂŒgung stehen.

MaverickM schrieb:
Eben. Nur das allernötigste ist dabei.
Das stimmt halt nicht. Es ist eine sinnvolle, wenn auch minimierte Vorauswahl dabei. Das aller nötigste könnte noch viel "Ballast" bzw. FunktionalitĂ€t abwerfen, wĂ€re aber wirklich nicht schön in der Benutzung. Eine Distribution fĂŒr Desktops wĂŒrde diesen Minimalismus nie Verfolgen, weil es schlicht zu unprakisch ist.

the_nobs schrieb:
genau, desegen gibts unter Linux sowas wie die Snap installation weil die Dependencies so super funktionieren :-D
AbhÀnigkeitshölle vs. BibliotheksfÀule..
Zudem Snap, Flatpack durchaus AbhĂ€nigkeiten zwischen Containern haben können. Der Vorteil ist hauptsĂ€chlich, dass diese AbhĂ€nigkeiten nur fĂŒr Snap bzw. Flatpack zu verwalten sind und Nicht fĂŒr die 10^666 Distributionen.


mibbio schrieb:
Am Beispiel des Editor geht es primĂ€r um das Konzept, ĂŒberhaupt die von Windows schon bereitgestellten Standardfunktionen & -controls zu verwenden anstatt dass jede Anwendung seine eigene oder eine 3rd-party Implementierung davon mitbringt.
Du beschreibst dynamisches Linking bzw. die Verwendung von bereits vorhandenen APIs..

xexex schrieb:
Es ist ein Unding geworden, dass Anwendungen unter Windows auf so einen Schrott wie Qtk, Chrome oder Java zurĂŒckgreifen und jeweils alle Bibliotheken mitschleppen, statt einfach auf das Windows Framework zurĂŒckzugreifen.
Also Qtk, Electron, Java als Schrott zu bezeichnen ist ein starkes StĂŒck. Das alternative Frameworks aufkamen hat ja vor allem damit zu tun, dass Microsoft die eigenen Frameworks immer als "walled garden" gestaltet. PlattformunabhĂ€nigkeit ist ein Unding, eine rote Linie ließen die Frameworks oftmals auch vermissen, Stand der Technik ist auch immer wieder mal hinten dran bis es eine Hauruckaktion gibt um dann wieder einzuschlafen.
Gleichzeitig fehlt ein gescheites AbhÀnigkeitenmanagement, sodass jede Anwendung ihr Java, Electron und Qt erstmal selber mitbringt und im eigenem Kontext laufen lÀsst.

xexex schrieb:
Nicht einmal Microsoft hÀlt sich an die eigenen Richtlinien. Man braucht sich nur Teams anzuschauen, was in der AnfÀngen auf einem Google Framework basierte und sich bis heute im Profilordner einnistet, statt regulÀr als Anwendung unter Windows installiert zu werden.
Konsequenz bei Microsoftprodukten :)


jackii schrieb:
Oft hat es schon gute GrĂŒnde warum etwas grĂ¶ĂŸer ist, auch Games. Dass immer gesagt wird es ist 50-90% grĂ¶ĂŸer als es mĂŒsste weil sie heute alle zu faul sind zum Optimieren und alles aufgeblĂ€ht wĂ€re.. [...]
Lustigerweise ist eine Form der Optimierung, dass man Assets mehrfach vorhÀlt, in der Hoffnung, dass man LokalitÀt beim Festspeicher hinbekommt um so Ladezeiten zu minimieren. Zumindest ist das eine Möglichkeit auf HDDs zu optimieren.

Loopman schrieb:
Das ist kein Einstiegssegment, das ist einfach nur billig, wo irgendwelche alte Hardware verramscht wird.
Diese Einstellung kann man nur haben, wenn man mindestens Medianeinkommen, aber keine all zu großen Ausgaben hat.

MaverickM schrieb:
Und Microsoft tÀte gut daran, endlich mal alte Zöpfe abzuschneiden.
Welche Zöpfe sollen denn weg?
 
Zuletzt bearbeitet:
Piktogramm schrieb:
Welche Zöpfe sollen denn weg?

Die alten... :rolleyes:

Altlasten wie die System Steuerung, veraltete Frameworks etc. Wurde alles schon genannt.
 
MaverickM schrieb:
Altlasten wie die System Steuerung, veraltete Frameworks etc. Wurde alles schon genannt.
Du meinst die Systemsteuerung, die wenigstens die Steuerung vom System zulÀsst?
Welche veralteten Frameworks denn und wie, auf was sollen dann Anwendungen bzw. Anwender migrieren?
Ohne konkret zu werden, ist es halt sinnloses Geblubber.

Bei Win32 Win64 wurde ĂŒber die Zeit schon aussortiert, aber generell wĂ€re Windows ohne WinAPI kein Windows.
 
  • GefĂ€llt mir
Reaktionen: Innocience und Loopman
Piktogramm schrieb:
Ohne konkret zu werden, ist es halt sinnloses Geblubber.

Vielleicht solltest Du das nachlesen, was schon diskutiert wurde... Es bringt nichts, dass alle paar Seiten erneut durchzukauen.
 
@MaverickM
Ja Seiten mit viel Noise, wenig Signal, ohne konkrete, belastbare Aussagen. Ebensowas wie dein "Systemsteuerung, veraltete Frameworks".
 
  • GefĂ€llt mir
Reaktionen: Innocience und Loopman
Piktogramm schrieb:
Du beschreibst dynamisches Linking bzw. die Verwendung von bereits vorhandenen APIs..
Nein, dynamischen Linken heißt erstmal nur, dass die DLL bzw. dessen API nicht fest ins Binary integriert wird, sondern separat als DLL vorliegt und lediglich referenziert wird. Statisches Linken baut die DLL dagegen fest ins Binary des Programms ein.

Prominentens Beispiel wÀren da FSR, DLSS oder XeSS in Spielen. Die Spiele verwenden die APIs davon und die zugehörigen DLLs, bspw. "amd_fidelityfx_dx12.dll", liefert das Spiel mit aus aus, als Teil der Spieldateien.

1783260662419.png


Dagegen verwendet 007 First Light statisches Linken (zumindest bei FSR), wodurch man die FSR-Version auch nicht treiberseitig ĂŒberschreiben kann oder dem Spiel durch Austasch der DDL (gibt ja keine separate) eine neuere Version unterschieben kann.
 
Das ist ein Programmierer der noch richtig programmieren kann 👍

Nicht so wie die Nieten von heute, die erstmal drölf Frameworks einbinden und dann so ne einfach App den halben Arbeitsspeicher belegt!
ErgÀnzung ()

DaDare schrieb:
Super spannend auch das Interview mit Windows NT-Vater Dave Cutler. :-)
Interessant fande ich das Konzept von Dave Cuttler "Eat your own dogfood" das sollte man bei heutigen Projekten zur Pflicht machen.

Dann merken die Entwickler direkt selbst, was fĂŒr einen Mist sie verzapfen.
 
  • GefĂ€llt mir
Reaktionen: DaDare
MaverickM schrieb:
Die alten... :rolleyes:

Altlasten wie die System Steuerung, veraltete Frameworks etc. Wurde alles schon genannt.
Dadurch wird der neue Code auch nicht besser/schneller.
polyphase schrieb:
Das ist ein Programmierer der noch richtig programmieren kann 👍
Das beurteilst du anhand eines minimalistischen Texteditors mit seltsamem Hack-Packer? Urks.
 
  • GefĂ€llt mir
Reaktionen: Loopman und pseudopseudonym
@Piktogramm
Wenn Du nicht gewillt bist, das bisher diskutierte nachzulesen, kann ich dir auch nicht helfen. Dann war dein Argument auch scheinbar nicht wichtig genug.
 
polyphase schrieb:
Das ist ein Programmierer der noch richtig programmieren kann 👍

Nicht so wie die Nieten von heute, die erstmal drölf Frameworks einbinden und dann so ne einfach App den halben Arbeitsspeicher belegt!
Aber Dave hat externe Bibliotheken/Frameworks eingebunden und realisiert damit essentiell die FunktionalitÀt des Programms.


MaverickM schrieb:
Wenn Du nicht gewillt bist, das bisher diskutierte nachzulesen, kann ich dir auch nicht helfen. Dann war dein Argument auch scheinbar nicht wichtig genug.
In dem ganzen Thread wird es halt nicht konkret. Ich kann beim besten Willen nicht finden, dass irgendwer irgendwo was schreibt zu: Diese (alte) API, dieses (alte) Framework work muss weg und dann irgendwie begrĂŒnden kann, dass das Windows besser machen wĂŒrde. Eher noch finden sich Aussagen, dass WinUI ein dickes Ding und nicht sonderlich schnell ist. WinUI gehört aber eben nicht zu den alten Zöpfen sondern ist vergleichsweise neu..
 
  • GefĂ€llt mir
Reaktionen: Innocience und Loopman
Das Richedit Steuerelement dĂŒrfte, wenn das MS nicht ebenfalls so richtig versaubeutelt hat, vernachlĂ€ssigbar viel Speicher benötigen. Das Ding ist seit Windows 95 dabei und wurde von dessen Wordpad verwendet. FĂŒr einen Texteditor sollte aber auch das edit Steuerelement reichen, da muss man halt paar KB mehr schreiben (v.a. RĂŒckgĂ€ngig/Wiederherstellen). Und das ist einer der klassischsten Steuerelemente, die es gibt

Wobei, viel kaputtmachen kann da MS eigentlich auch nicht - das wird von sehr vielen Anwendungen verwendet, die dann alle brechen wĂŒrden.

Übrigens: das "neue klassische" Wordpad benötigt nach dem Start 71 MB - und ist quasi instantan da. notepad benötigt 149 MB und 2-3 Sekunden. Und das obwohl dieses Wordpad deutlich mehr kann als das "klassische" Wordpad. Das zeigt schon ĂŒberdeutlich, wie sehr falsch man da abgebogen ist.
 
mibbio schrieb:
Statisches Linken baut die DLL dagegen fest ins Binary des Programms ein.
es baut eher die AbhÀngigkeit fest in die BinÀrdatei ein, eine dll (ausgeschrieben dynamic link library) kann nicht statisch gelinkt werden
 
DaDare schrieb:
@mischaef,
man darf da auch gerne auf den Youtube Kanal von Dave verlinken. Super interessante Videos rund um Windows und weiteren Retro Equipment. Super spannend auch das Interview mit Windows NT-Vater Dave Cutler. :-)
https://www.youtube.com/@DavesGarage

Ja der Kanal ist empfehlenswert, war er nicht fĂŒr die Entwicklung des Task Managers bei win9x zusĂ€tndig
 
  • GefĂ€llt mir
Reaktionen: DaDare
Ja, war etwas falsch ausgedrĂŒckt, da das Linken ja mit den .o bzw. .obj Dateien als Zwischenstufe gemacht ist. Beim dynamischen Linken gibt's halt eine .dll (unter Linux eine .so) erstellt und das Programm referenziert diese, beim statischen Linken dagegen nicht, weil fest ins Programmbinary integriert.

Ändert aber letzlich nichts an der Grundaussage, dass dynamisches Linken halt nicht gleichbedeutend mit der Verwendung von Systembibliotheken ist. Denn es kann ja auch eine lokale, also im Programmordner liegende, Bibliothek referenziert werden.
 
  • GefĂ€llt mir
Reaktionen: KitKat::new()
Malaclypse17 schrieb:
Ist fraglich ob ĂŒberhaupt noch ein aktueller Microsoft Dev in C oder C++ programmieren kann.
Ja können Sie.
ErgÀnzung ()

Tinpoint schrieb:
Ja der Kanal ist empfehlenswert, war er nicht fĂŒr die Entwicklung des Task Managers bei win9x zusĂ€tndig

Dave Plummers Werk bei Microsoft​

Dave Plummer arbeitete von 1993 bis 2003 bei Microsoft und war dort an praktisch jedem großen Windows-Betriebssystem beteiligt – von MS-DOS 6.2 bis Windows XP und Server 2003.

FrĂŒhe Jahre unter MS-DOS​

Als Praktikant in der MS-DOS-Abteilung von Ben Slivka schrieb Plummer wichtige Features wie den SmartDrive-Cache fĂŒr CD-ROMs sowie das DISKCOPY-Programm. In seiner MS-DOS-Zeit arbeitete er außerdem an Smartdrv, DoubleSpace und dem Setup-Programm.

Der Windows-Taskmanager​

Der Task-Manager ist wohl sein bekanntestes Werk: Plummer entwickelte ihn ursprĂŒnglich in seiner Freizeit zu Hause, zeigte das Projekt spĂ€ter Dave Cutler und durfte es dann offiziell fertigstellen – ausgeliefert wurde er mit den Microsoft-Computern von 1996. Bis heute ist er als "der Microsoft-Ingenieur, der den Task-Manager programmierte" bekannt.

Zip-Ordner und Windows-Shell​

Plummer entwickelte VisualZIP, ein visuelles Zip-Programm fĂŒr den Windows-Explorer unter Windows 95, das er zunĂ€chst selbst verkaufte und spĂ€ter an Microsoft weiterverĂ€ußerte. Die Software wurde ab Microsoft Plus! 95 fest in den Explorer integriert und ist als "ZIP-Ordner" (ZIPFolders) bekannt. Im Zuge dessen wechselte er zu Windows NT, wo er zunĂ€chst an RPC/OLE arbeitete und dann die Portierung der Windows-95-BenutzeroberflĂ€che auf Windows NT ĂŒbernahm.

Space Cadet Pinball​

Plummer portierte das beliebte Spiel Space Cadet Pinball von Windows 95 auf Windows NT, konvertierte dabei den x86-Assembler-Code in C und passte ihn fĂŒr RISC-Architekturen an. Diese Portierung wurde spĂ€ter mit vielen Windows-NT- und XP-Versionen mitgeliefert.

Weitere BeitrĂ€ge​

Zu seinen weiteren Arbeiten zĂ€hlen die Formatierungs-Dialogbox von Windows, der Windows-Rechner (Calc), eine frĂŒhe Version des Windows Media Center sowie die Windows-Produktaktivierung (Windows Product Activation, WPA) inklusive Anti-Piraterie-Mechanismen. Bei der Produktaktivierung nutzte er nach eigenen Angaben Bilddaten von "Microsoft Bob" als Startwert fĂŒr den Zufallszahlengenerator, der die Ballastdaten erzeugte – so steckt der "digitale Geist von Bob" in rund 500 Millionen Windows-XP-Installationen.

Nach seinem Ausstieg bei Microsoft 2003 konzentrierte sich Plummer auf sein eigenes Unternehmen SoftwareOnline LLC und ist heute vor allem durch seinen YouTube-Kanal "Dave's Garage" bekannt, wo er Softwareentwicklung und Retro-Technik erklÀrt.
 
Sehr gut das er MS verlassen hat, dort wĂŒrde seine KreativitĂ€t nur beschnitten werden.

Tolle Arbeit, Respekt đŸ‘đŸ»
 
Piktogramm schrieb:
Also Qtk, Electron, Java als Schrott zu bezeichnen ist ein starkes StĂŒck.
Unter Windows ist es MĂŒll, zumindest wenn man reine Windows Software entwickelt. Bei Multiplattformlösungen geschenkt, da mag es bequemer sein, aber nicht bei reiner Windows Software wie dem EGS was einen ganzen Chrome Unterbau mitschleppt.

Leider sieht man es heutzutage viel zu oft und jede Applikation schleppt Bibliotheken mit eigenen Versionen und SicherheitslĂŒcken mit, selbst fĂŒr solche simplen Sachen wie einen Dateidialog.

NatĂŒrlich unterstĂŒtzt dieser dann auch keine Erweiterungen, also sind Speicherorte wie SharePoint, Onedrive oder Dropbox damit unererreichbar und oft genug kommt solcher MĂŒll nicht mal mit High-DPI Monitoren zurecht.
ErgÀnzung ()

Piktogramm schrieb:
Gleichzeitig fehlt ein gescheites AbhÀnigkeitenmanagement, sodass jede Anwendung ihr Java, Electron und Qt erstmal selber mitbringt und im eigenem Kontext laufen lÀsst.
Windows besitzt seit Windows Vista ein "AbhÀngigkeitsmanagement" in Form von WinSxS. Jeder Applikation steht es frei eine bestimmte Bibliothekversion anzufordern und/oder mitzuliefern oder schlichtweg eine beliebige zu nehmen.

Es sind die Entwickler die oft zu faul sind oder keinen Support leisten wollen und mit ihrer Minianwendung ein ganzes Framework in den Applikationsordner hinrotzen.
 
Zuletzt bearbeitet:
Daran ist ĂŒberhaupt nichts genial, er nutzt Windows-FunktionalitĂ€ten, die Windows ja bereitstellen muss, damit man ĂŒberhaupt dafĂŒr Programme schreiben kann. Dazu zĂ€hlen natĂŒrlich Fenster-Mangement genauso wie Datei- und Druckermanagement. So was nutzte man schon zu reinen Assembler-Programmierzeiten, es wĂ€re schlimm, wenn es nicht sowĂ€re und jedes Programm so was selbst mitbringen mĂŒsste.
 
xexex schrieb:
Bei Multiplattformlösungen mag es geschenkt sein, da mag es bequemer sein
Selbst dann kommt man noch ohne das fette Electron durchaus recht weit und auch bequem. Mit .NET MAUI bietet Microsoft selbst ein UI-Framework, welches Windows, MacOS (inkl. iOS) und Tizen unterstĂŒtzt. Wenn man noch Linux mit abdecken möchte und im C#/.NET Ökosystem bleiben will, gĂ€be es bspw. AvaloniaUI (orientiert sich konzeptionell an WPF).

Die .NET Softwareplattform an sich ist ja bereits plattformunabhÀngig und sogar Open Source.
 
  • GefĂ€llt mir
Reaktionen: xexex
ZurĂŒck
Oben