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

Where were you when...

Name: Anonymous 2012-09-29 23:51

...you realized C is shit?

For me it was ten minutes ago, debugging an overflow involving a thrice-indirected pointer. Never again.

Name: Anonymous 2012-10-01 11:16

>>39
I'll confess that usually don't see any point in doing that - is that really so much easier to read than obj->tres->dos->uno? Yes, you've abstracted the data structure, which is nice, but how often are you going to need that? (Though I suppose it would have helped >>37...)

Name: Anonymous 2012-10-01 14:02

Right after i realized i implemented a buggy common lisp just to make c manageable

Name: Anonymous 2012-10-01 14:21

iostreams Are better than printf() because the format can be evaluated at compile time. If some C compilers do this for printf(), it's obviously a non-standard extension and won't apply to your own version if you were to write one. Basically C++ is better because you can do more at compile time.

Name: Anonymous 2012-10-01 15:25

|= high(>>43) V stupid(>>43).

Name: VIPPER 2012-10-01 16:45

As i see it the core language is not so much a problem, but the shitty standard libraries and most of all how shitty it encourages the use of hacks.

Considering the fact that it has very few extendable core principles and a mostly consistent syntax, i would consider it to be a well made language.

Most of the problems lie with the fact that it was designed as a lowlevel language before the 80s for harvard arch computers.
Becuase of that it lacks hashtables and friends, because of limited resources implemntations of such mostly had to be writen by hand to be usable.
To add further back in the days it must have took a while to compiler so i assume thats why the preprocessor is such shit.

Besides some syntactical troubles, that most languages have, the one thing that really disturbes me about C is that some operators are mapped to specific operations assuming they are basic while some stuff is not.
Example: + and * are usually cpu implemented operations, but there is no exponent operator, even if it were to exist as cpu opcode you would still have to use it and treat it as a function.
Perl 6 has this feature that operators are syntactic sugar for functions.

Not to mention the lack of builtin over/underflow protection, even possibilaty to check for without doing a needless arithmetic operation or using inline asm.
Even then you would still have to write a function for this sort of thing in most cases.

I dont wanna hang out the lisper, but anonymous functions are one of the best things ever and i dont really see why C doesnt support that sort of stuff, other than compatibility with harvard arch (im not sure if it can be worked around).
One thing for questionable for sure is why C doesnt support nested functions, i can do that with ease in asm.

However its utterly crappy libraries and lack of interactive features are inexcusable in 2012. They promote hackery and can make work such a pain in the ass sometimes.

I hate C now too, but you must give it credit for what it has got right and not judge it by its shitty users.
And the worst of all is not C in itself, but the brain rotting abomination called unix that it spawned.
Morons will do stupid stuff no matter what you give them.

Name: Anonymous 2012-10-01 17:32

ITT: Python babbies who can't into using gdb properly

Name: Anonymous 2012-10-01 18:17

>>46
gdb
Terrible!

Name: Anonymous 2012-10-01 18:56

I dont wanna hang out the lisper, but anonymous functions are one of the best things ever and i dont really see why C doesnt support that sort of stuff, other than compatibility with harvard arch (im not sure if it can be worked around).
It's called C++11.

Name: Anonymous 2012-10-01 19:00

Perl 6 has this feature that operators are syntactic sugar for functions.
Nope. Nope nope nope. Noap.

You can define operators with 'sub' and 'method', but not all of them are, just like virtually every other language with user defined ops/overloading.

Even those you define that way don't desugar to a sub call; try defining an operator and call it as a sub, see what happens. If you work at it you might just be able to figure out how to do that and see the problem.

Name: Anonymous 2012-10-01 22:42

>>45
Actually, even + and * can give you troubles if you are working with types that are larger than the machine's word size. This is not a big deal for PCs, but with 8/16 bit micros the need to branch into the runtime (or expand the support routine in-line) is something of a pain.

Name: Anonymous 2012-10-01 22:55

>>48
You can get downward funargs using just function pointers in C. They work fine on Harvard architectures. They're not anonymous, but that's not limiting in practice.

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