3 ms·
Well my only examples were networking-related, but something like D-Bus could easily have a filesystem-based API instead. I'm willing to accept that files are a
by yepguy 8y ago
Well my only examples were networking-related, but something like D-Bus could easily have a filesystem-based API instead. I'm willing to accept that files are a bad abstraction for graphics. I don't really know anything about that domain, but UNIX didn't get graphics right either.
- pjmlp 8y ago> UNIX didn't get graphics right either. That is a bit more debatable, as X11 is not the only way to do graphics on UNIX. I would argue that among UNIX variants, NeWS, NeXTSTEP and OS X did got graphics right. I think X-Windows did not get graphics right
- DonHopkins 8y agoBravo! I wholeheartedly agree that X-Windows didn't get graphics right (and that you're right to refer to it by the name "X-Windows" to annoy the X-Windows Fanatics, who take it upon themselves to correct you every time you call it X-Windows)! https://medium.com/@donhopkins/the-x-windows-disaster-128d398ebd47 https://medium.com/@donhopkins/the-x-windows-disaster-128d39... >X Graphics: Square Peg in a Round Hole: Programming X-Windows is like trying to find the square root of pi using roman numerals. - Unknown As I stated before (which ernst_klim chose to ignore, but apparently strongly agrees with), Eric S Raymond was full of shit when he wrote that "in Unix everything is a file" in his terrible book "The Art of UNIX Programming", just as he was also full of shit when he wrote "given enough eyeballs, all bugs are shallow" and falsely attributed it as Linus's Law, and ESR was full of racist hatred and bullshit when he more recently wrote "The average IQ of the Haitian population is 67... Haiti is, quite literally, a country full of violent idiots" (although ernst_klim may not agree with my opinion about that ESR quote). http://esr.ibiblio.org/?p=7011#comment-1685142 http://esr.ibiblio.org/?p=7011#comment-1685142 The extensible linguistic approach that NeWS took towards a graphics API is also a great approach to a file system API, which I summarized in the recent discussion of "The everything-is-a-file principle - Linus Torvalds": https://news.ycombinator.com/item?id=17532320 https://news.ycombinator.com/item?id=17532320 >I prefer the "everything is a computer" API. (Which happens to be Alan Kay's model of object oriented programming as message passing.) https://softwareengineering.stackexchange.com/questions/46592/so-what-did-alan-kay-really-mean-by-the-term-object-oriented https://softwareengineering.stackexchange.com/questions/4659... >"I thought of objects being like biological cells and/or individual computers on a network, only able to communicate with messages (so messaging came at the very beginning -- it took a while to see how to do messaging in a programming language efficiently enough to be useful)." -Alan Kay >NeFS -- aka NFS 3.0 -- used a PostScript interpreter as the file system API. https://news.ycombinator.com/item?id=17061967 https://news.ycombinator.com/item?id=17061967 >Even 16 or so years earlier in 1990, Sun played with the idea of putting a PostScript interpreter in the SunOS kernel. >Like NeWS was the Network extensible Window System, so NeFS was the Network extensible File System, or NFS 3.0. >It was actually a great idea, just a wee bit before its time, and very poorly named and positioned! >For example: If you want to make a copy of a file on the server, you can send a PostScript program that runs in the kernel and copies the file locally on the server in the kernel with ZERO context switches, instead of sending it over the net to the client, then back from the client to the server. Even if you rsh'ed the user command "cp" on the server, it would still incur context switching, but if your copy loop was running in the kernel then it didn't need to switch in and out and in and out for every block it copied. https://news.ycombinator.com/item?id=17482780 https://news.ycombinator.com/item?id=17482780 >I disagree that history proves them wrong about Telescript. They just had the client/server relationship backwards (and asymmetrical). >Andy Hertzfeld: "You didn't really need to do that. Just the remote procedure paradigm was good enough. Which is really what the web is based on. You don't inject code into the web to do you work for you and come back to you. You just ask a server with an http request." >It doesn't take Yakov Smirnoff to observe that now the web injects code into you. >The remote procedure paradigm isn't good enough. That just leads to the X-Windows Disaster.