5 ms·
I know, like why didn't they just write everything in rust from the start! Oh yeah, rust wasn't about. Well they should all stop what they're doing and rewrite
by account-5 5y ago
I know, like why didn't they just write everything in rust from the start! Oh yeah, rust wasn't about.
Well they should all stop what they're doing and rewrite everything in rust. Oh hang on, that's millions of lines of code.
Is not Unix philosophy, its legacy. And it predates rust.
- sanxiyn 5y agoUninitialized stack is just negligence. Compilers can trivially initialize all stack variables. Yes, it's slower, but Android and Windows already chose slow but secure default. Linux just decided to be insecure.
- azinman2 5y agoUnix philosophy has plenty of problems: https://web.mit.edu/~simsong/www/ugh.pdf https://web.mit.edu/~simsong/www/ugh.pdf
- anthk 5y agoThat book as trully outdated. By ~1999-2000 most BSD's and GNU/Linux since 1996 solved all the issues with better shells, faster tools and toolkits like Motif (and later QT), and multimedia thanks to SDL, DRI and FFMPEG. It's like noticing Windows 9x's lack of security and stability on Windows 10 times. Absurd. Heck, that book praised Mac OS back in the day, and just look what Mac OS has been turned into since Mac OS X. Also, thanks to Unix philosphy my Fluxbox+Rox+Roxlib combo based "DE" it's much faster and featureful than most light desktops out there.
- azinman2 5y agoOf course it's outdated. But many of the complaints are still just as true. Two letter command line options, the expansion of * in place particularly if there's a file with that name, the role of the shell versus the app in parsing arguments, coredumps on crashes versus interactive debuggers, losing many of the great things that Symbolics computers did that still most computers don't, the preference of simplicity over correctness, the way file versioning works (it doesn't exist)... it's full of great timeless analysis. I'm only partially way through it myself and its easy to find things that are not or cannot be solved without massively changing the OS. It goes into great depth about the philosophical problems regardless of time.
- anthk 5y ago> Two letter command line options That's a con against RSI.
- pjmlp 5y agoOh, it is UNIX philosophy alright, given that C was created to make UNIX portable, and the security best practices were disregarded, offloaded into lint, that most people keep ignoring. > Although the first edition of K&R described most of the rules that brought C's type structure to its present form, many programs written in the older, more relaxed style persisted, and so did compilers that tolerated it. To encourage people to pay more attention to the official language rules, to detect legal but suspicious constructions, and to help find interface mismatches undetectable with simple mechanisms for separate compilation, Steve Johnson adapted his pcc compiler to produce lint [Johnson 79b], which scanned a set of files and remarked on dubious constructions. https://www.bell-labs.com/usr/dmr/www/chist.html https://www.bell-labs.com/usr/dmr/www/chist.html > Many years later we asked our customers whether they wished us to provide an option to switch off these checks in the interests of efficiency on production runs. Unanimously, they urged us not to--they already knew how frequently subscript errors occur on production runs where failure to detect them could be disastrous. I note with fear and horror that even in 1980, language designers and users have not learned this lesson. In any respectable branch of engineering, failure to observe such elementary precautions would have long been against the law. -- C.A.R Hoare on his Turing award speech in 1981.