Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Considered harmful

Name: Anonymous 2007-03-15 5:50 ID:u/OzYJ1K

Post technologies and techniques considered harmful, with a very short explanation/tag on why.

- Non-Unicode anything (charset hell, no support for some characters, exploitable, Americans and Japanese don't give a shit, etc.)
- C char type (signed, gives the false impression of being a character)
- Locales (hell, ambiguous, problematic, Americans don't give a shit, lack of standard)
- COBOL (shitty)
- Java (shitty)
- Current shell scripting (shitty)
- Goto (spaghetti code)
- Null-terminated strings (inefficient, non-binary)
- Variables with default value (i.e. read before assignment/definition yields null or some crap)
- Automatic string-int conversion (1+"1"=shit)
- PHP register globals and magic quotes
- Non-nesting quotes like " (quote escape hell, as opposed to Perl's q{}, q(), etc.)
- Lack of functions (as in Java, sometimes you need them)
- C standard library (OH EXPLOITABLE!)
- Obsessive generalization and overengineering (Java API: unusable, unproductive)
- XML obsession (people believe it works automagically, verbose, inefficient)
- FHS (shitty mess, can't manage applications, non-relocable, no several versions of applications)
- Windows Registry (shitty mess, hard to manage and repair, ugly)
- "Different on purpose" attitude in some GNAA projects (different from the good things too)
- Compile obsession (waste of time just to suck Richard Stallman's cock)
- Win32 API (NULL, NULL, NULL, hwnd, lpszLabel, ssdSecurityDescriptor)
- Lack of net neutrality (corporate fags, shitty Internet for everyone)
- Email (shitty naive protocol, best for spam, poor specs, can't be fixed)
- FTP (shitty protocol, control/data connection insanity, active/passive insanity, braindamaged send IP in protocol fucks with NAT)
- H.323 (braindamaged send IP in protocol fucks with NAT)
- MSIE (world exploit me, broken everything)
- Windows Vista (DRM OS, wasteful, shitty)
- DRM (shit, braindamaged)
- Media corporations (shit)
- HD-DVD (DRM)
- Blu-ray (DRM)
- Windows Media (DRM)
- iTunes (DRM)
- Software patents (American shit)
- Lawyers (no need to explain why)
- SCO (lawyers)

Name: Anonymous 2007-03-15 9:47 ID:MNm3kNdG

Mostly agreed, but.

C's char type is perfectly good, long as you remember that C originates from the "ASCII, bitch, do you know it?" era. There's wchar_t for unicode, and even then you have to take combining characters into account so it's not like you can skip characters with a fixed stride.

Locales in the sense of "ooh this timestamp looks like the second of march, or is it the third of february?" are fucking stupid. Everyone ought to go with ISO recommendations, like 2007-03-15 15:38 and so on. Localization in the sense of translating programs from one language to another is good good good.

Gotos are good in C for primitive error handling. I.e. if you limit them to branch forward only and so that you never goto into another scope from outside.

Null-terminated strings is just the way it is. If you learn to deal with them, it'll be far less trouble than feeling like someone is ramming a baseball bat sideways up your bum all the time. Deal with it, or use a different language and deal with its idiosyncrasies; there's no escape.

Variables having default values is perfectly OK, but there should be a compiler warning when they are used as such. Explicit initialization is good, except where it's not needed and would mislead the reader; all code should be written to be read by people first and by compilers second.

Perl's special quote operators have major issues of their own. You've perhaps heard that the only thing that can parse Perl is Perl itself.

GNU's quite OK. The original Unix tools were written before computers had several megabytes of memory for each user, so GNU's taking a different approach to some things is entirely cool. Plus, no son of SCO on the userspace toolchain.

Richard Stallman is a LISP dude first and foremost. I heard most of his hacking today is done in Emacs Lisp. Griping about compile obsession in connection to him is strange, given that Lisp is basically the ur-dynamic runtime language. Indeed, the various Lisp environments show how to do dynamic runtimes right, unlike Java (256 megs to run Azureus? What the butt?) and C#.

E-mail might be shitty, but its shittiness is manageable. And as you said it can't be fixed, which includes replacing it all at once.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List