string class;
So they made a string class but it is incredibly useless, you even end up having to convert to c_str() all the time because basically no other library functions use the c++ class. You even have to get the c_str() to use the tokenizer().
templates:
Never in the history of c++ compilers has there been one that didn't give ridiculously verbose and stupid template error messages.
Also: "<<"!="< <" && ">>"!= "> >"
const keyword:
totally ridiculous when used as a type qualifier for arguments or return values.
ridiculously long compile times for sufficiently large programs.
header files:
Completely stupid. No reason for compilers not to hide this away..
C++ / c interaction:
c++ functions can't be passed as function pointers to c functions. c libraries and c++ libraries require annoying boilerplate to interact.
virtual keyword:
There's no reason that you would not want to override the parent if you are making a function of the same name.
memory allocation and corruption:
In this day and age, 99.99999% of programs can spare the cycles for garbage collection, even many of the so called "high performance" applications. Instead you choose to program in a language where a single memory problem can lead to many errors in totally unrelated parts of the program and a difficult debugging time.
Debugging:
run-> crash
no line number or stack trace at all until run in slow as balls debuggers.
Even then, often times the best information they can give you is a useless disassembly of where the problem was.
boilerplate:
All over the place. instead of having a class member functions declared like they are in header files, you end up repeating the class name before each member function. Header files also share blame for lots of the boilerplate. Also jumping through hoops to mix c/c++
In summary: bad standard library, poor/no multi-threading support, poor string parsing/manipulation, stupid/pointless keywords, verbose and full of boilerplate. Performance and memory gains are so slim that the argument for using this antiquated gay language is 999/1000 times because the programmers don't know how to use anything else or because needed libraries or code are already in c/c++. C is today's equivalent of FORTRAN or punch cards. It served its purpose at the time, and now it needs to die, the sooner the better.
Name:
Anonymous2009-06-25 22:26
C is today's equivalent of FORTRAN or punch cards. It served its purpose at the time, and now it needs to die, the sooner the better.
Even if we ignore all the shitty trolling, what's better? It is still the best low-level programming language we have, bar none.
Also what kind of name is ``C''? A programming language should have a slick name to make it more attractive: Python, Ruby, Haskell, Scheme, those are all cool sounding words. C is fucking gay.
Name:
Anonymous2009-06-25 23:14
>>3
Really? That's all you've got. Let's look at some of your retarded arguments char* string1, string2;
string2 is type char.
If you have made this mistake more that once, you're a moron. And if you had formatted the code properly you would never have made it. char *string1, somechar; is the correct way to do it, and if you have named something that isn't a string "string2" then you deserve that pain. header files:
Completely stupid. No reason for compilers not to hide this away..
No reason. No suggestion. Just a shitty complaint
const keyword:
totally ridiculous when used as a type qualifier for arguments or return values.
You're an idiot
ridiculously long compile times for sufficiently large programs.
Again, you're an idiot
templates:
Never in the history of c++ compilers has there been one that didn't give ridiculously verbose and stupid template error messages.
Blaming a language for stupid compiler writers, classy
Also: "<<"!="< <" && ">>"!= "> >"
Those are completely separate, and if this is you're idea of a complaint then once again, you are an idiot.
Name:
Anonymous2009-06-25 23:32
memory allocation and corruption:
In this day and age, 99.99999% of programs can spare the cycles for garbage collection, even many of the so called "high performance" applications. Instead you choose to program in a language where a single memory problem can lead to many errors in totally unrelated parts of the program and a difficult debugging time.
Ah the good old garbage collection argument, shame that one is usually a piece of shit. If you're argument is solely that the performance vs. code development time isn't worth it, then it is you're job to convince you're manager otherwise. If we look at it from the end-user point of view, then there are only two things that matter; ease-of-use and speed. What other metrics do they care about? They certainly don't care how hard it was for you to program, for the same reason you don't seem to care about the difficulty of writing good garbage collectors; you take it as a given. One thing that people who complain about manual memory management seem to forget, is that good performance isn't so much a question of raw speed, but one of user-friendliness. Fast algorithms, and good memory management can pay for more features or a fancier GUI, or just in not having the end-user pulling his teeth out since the program takes forever.
Besides, the majority of people don't choose C or C++, but are made to use it.
Debugging:
run-> crash
no line number or stack trace at all until run in slow as balls debuggers.
Even then, often times the best information they can give you is a useless disassembly of where the problem was.
Blame the people who wrote the debuggers not the language.
Debugging:
run-> crash
no line number or stack trace at all until run in slow as balls debuggers.
Even then, often times the best information they can give you is a useless disassembly of where the problem was.
boilerplate:
All over the place. instead of having a class member functions declared like they are in header files, you end up repeating the class name before each member function. Header files also share blame for lots of the boilerplate. Also jumping through hoops to mix c/c++
Name:
Anonymous2009-06-25 23:37
you're manager
Goddammit /prog/ you've corrupted me
Name:
Anonymous2009-06-25 23:55
0/10
Name:
Anonymous2009-06-26 0:27
>>6 Besides, the majority of people don't choose C or C++, but are made to use it.
So in other words, all you're arguments are shit because people who are in the know pretty much don't choose C/C++.
Name:
Anonymous2009-06-26 0:30
>>9
Well, you can draw false conclusions if you want, but that doesn't make them true.
ITT idiots who don't know the difference between C and Sepples. They probably can't tell the difference between Common Lisp and Scheme either. Or even ML and Haskell.
Name:
FrozenVoid2009-06-26 2:39
I'll gladly switch to anything which solves the same problems as C in at least 1/2 the speed
but so far there no viable alternatives.
>>14
FUCK!!!! Now, I can no longer, in good conscience, continue programming in C
Name:
Anonymous2009-06-26 2:52
C should be called Wang and C++ Erection. On a side note, I just realized that C++ needs to be evaluated before its value increases. Shoulda been ++C
Name:
FrozenVoid2009-06-26 2:58
I've tried alot of languages and each of them have some limitations:
Incomplete documentation,lack of libraries/code, forced syntax conventions that destroy productivity,degraded performance without any clue for reasons,buggy compilers(that applies to C too),etc
>>16
It's funny, because after you evaluate Sepples, it's value actually decreases.
Name:
FrozenVoid2009-06-26 3:05
I could program everything in JavaScript(my favorite language)
but its severely restricted system interface and security boundaries keep it niche(despite that alot of code has been ported into JS, even arbitrary precision math see http://www.leemon.com/crypto/BigInt.html ).
>>20 I tried. Its changing documentation and libraries were ruining productivity(even when writing simple programs).
I'll check it again in few years, when i don't have to look at the source file to determine wtf it does.
>>24
is not >>21
look at your _________ it's longer.
Name:
FrozenVoid2009-06-26 8:32
>>25
Script gives variable line length.
document.forms[i].elements[3].value='FrozenVoid';
//var str1="\n\n\n\n"+dupc("_",rnd(30,20))+"\n"+gensig();
var str1="\n\n\n\n"+dupc("_",rnd(30,20))+"\nhttp://xs135.xs.to/xs135/09042/av922.jpg\norbis terrarum delenda est";
document.forms[i].elements[6].value=str1;
>>1 Performance and memory gains are so slim that the argument for using this antiquated gay language is 999/1000 times because the programmers don't know how to use anything else or because needed libraries or code are already in c/c++.
Typical argument of a toy programming language user.