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

the state of the art

Name: Anonymous 2005-11-29 11:41

C sucks. how about a stdlib that doesn't encourage buffer overflows

c++ sucks. operator overloading?? templates??? what were you smoking bjarne!

c# sucks. it was made by microsoft. nuff said.

perl sucks. having your two year old kid design the syntax just isn't a good idea

phyton sucks. self.this self.that and a retarded community

ruby sucks. "it's OOP so it must be good!" suck my cock

lisp sucks. the syntax is so retarded nobody uses it despite it having some good ideas

ml sucks. does anyone even know what ml is?

haskell sucks. once in a while i'd like to have a mutable variable that doesn't require a phd in cs to use!

java just plain sucks.

...

the programming INDUSTRY sucks because you're all a bunch of cocks that were too stupid or narrowminded to study some worthwile natural science

Name: Anonymous 2009-11-01 17:03

OPINIONS!

C99 is great, but doing things like OO ends up being pretty verbose. That's honestly my only complaint about it. Yes stdlib is extremely limited, but you can find libraries for *anything* you want. The flaws in stdlib like shitty string handling don't even matter because you can replace them with better libraries, e.g. bstring. The fact that you implement OO yourself means you have *total* control over how it works; open classes, separation of allocation and construction, totally custom inheritance, etc.

C++ is generally shitty. The OO mechanisms are actually quite limited. *Horrible* allocation system (this alone was enough to make me use C for my project). IMHO the language is not even complete without move semantics, finally coming in sepplesox but should have been in 20 years ago. So many restrictions cause lost optimization opportunities compared to equivalent C code, such as no restrict support, ridiculous requirements for POD, etc. Templates are good but still missing some features even in sepplesox, such as conditional field inclusion (partially hacked together in boost with if_enable). Actually boost itself is a great example of what C++ amounts to, a huge language of hacks.

Java is an *awful* language. Best demonstrated by example: array slicing. Try writing a generic method for slicing an array. Not possible. In C it's easy: take void* and stride, done. In C++ even easier, template it. Actual high-level languages have much higher constructs, like functional slices than can iterate and only memcpy when needed. Java finally added Arrays.copyOf in version 6; it took until version SIX before they realized people might want to do this. In the meantime, every fucking call in the API that takes an array also takes offset and size to overcome this shitty limitation. This is just one example; I've never worked on a Java project that didn't have an enormous Util class to implement basic functionality inherent to all other languages, no matter how high- or low-level. Some features of the language are *completely* broken, like exceptions. Checked exceptions were an awful idea, and they're still in. There's *still* no RAII or context-managers. Where the fuck is the 'with' statement? Every other goddamn language with exceptions has this, or equivalent (RAII etc). Java is awful. A great experiment in VM design, and that is *it*.

C# I've never used, but only ever heard good things. Sort of like Java done right. C# and C++ seem to be slowly merging actually, partly with Microsoft's efforts in CLR (as much as I hate Microsoft, more platforms will start to do this and it will be good), and partly with the C++ standards committee finally adding things like garbage collection and threading. This seems like a good thing to me.

Python is great. *Extremely* rapid development, which is the main reason why it's good, but also generally easy to make readable maintainable code. Incredibly rich libraries available, more so than any other language on this list (except C). A number of bad decisions that were fixed in Python 3 (like Java-style unicode strings, the only good thing about Java), but slow uptake of Python 3 unfortunately.

Perl/PHP is exactly the opposite of this. Code is horrifying and obfuscated. Unmaintainable pile of shit. Regexes for fucking everything. DO NOT WANT

Haskell is a joke. Purely functional is great and all, until you realize oh fuck, I need to actually *interact with a user*. Well there goes your immutability out the window.

Objective-C is *awful*. A glorified preprocessor. Dynamic call dispatch. No compiler support for polymorphism means no strict aliasing. Java-style bullshit polymorphic vectors, requiring individual allocations of NSNumber to store a fucking int array. So many unbelievably poor decisions, like calling methods on nil is allowed and becomes a no-op (and incredibly complex rules on return values from such calls, regarding register packing of small structs, etc.) Stupid behavior of retain properties not releasing on dealloc (like a smart pointer that doesn't free when destroyed, only when you change its value). So many warnings that should be errors: method doesn't exist? No problem! abort() at runtime. Awful C++ integration, for example massive bugs in returning references, Obj-C exceptions don't unwind the stack, etc.

Honestly the only languages I care to code in anymore are C99 and Python.

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