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

C++

Name: Anonymous 2009-02-08 17:37

Why is it bad?

Name: sage 2009-02-08 17:44

sage

Name: Anonymous 2009-02-08 17:48

It gives you cancer of the semicolon.

Name: Anonymous 2009-02-08 17:51

>>1

the question should be why do you think its bad..

Name: Anonymous 2009-02-08 18:03

A sepple a day keeps the schemers away.

Name: Anonymous 2009-02-08 18:07

A sepple a day keeps your ass painful from being ridden by bjarne stroustrup all fucking night
*fixed that for you*

Name: Anonymous 2009-02-08 18:49

Lack of forced indentation.

Name: Anonymous 2009-02-08 19:09

Presence of forced curly braces

Name: Anonymous 2009-02-08 19:25

>>8 I beleive you mean THE FORCED PRESENCE OF CURLY BRACES

Name: Anonymous 2009-02-08 19:51

The standard libraries offer very poor functionalities compared to other languages' runtimes and frameworks.
C++ doesn't enforce a single paradigm. Neither procedural nor object-oriented paradigms are enforced, resulting in unnecessary complication.
The specification has grown to over 600 pages, which reflects the bulky nature of C++.
Not suitable for low level system development and quickly becomes a mess for user level applications.
The standard has no implementation for exception handling and name mangling. This makes cross-compiler object code incompatible.
The nature of C++ has led developers to write compiler dependent code, creating incompatiblity between different compilers and even different versions of the same compiler.
No widely used OS supports the C++ ABI for syscalls.
C++ supports 'goto'.
What is 's', a function or a variable?
 std::string s();
There is try but no finally
No native Unicode support. You just can't write international and portable programs.
No native thread support!! You can't even write portable multithreaded programs!!
There's a moment in every C++ programmer's life where he wonders why, why, switch case fall-through has been invented: it's completely useless, and if you forget a break you introduce a bug silently.
Not to mention a classic:
 if (a = b) // forgot an =; condition is true if b != 0
 {
     ...
An std::string::c_str() call is required to convert an std::string to a char*. From the most powerful language ever we would have all appreciated a goddamn overloaded operator char* ().
Operators can be overloaded only if there's at least one class parameter.
This also makes impossible concatenating character array strings, sometimes leading programmers to use horrible C functions such as strcat.
catch (...) doesn't allow to know the type of exception.
throw in function signatures is perfectly useless.
The exception system is not integrated with the platform: dereferencing a NULL pointer will not throw a C++ exception.
Developers have to worry about optimization matters such as whether declaring a function inline or not; and, once they've decided to do it, it is only a suggestion: the compiler may decide that was an incorrect suggestion and not follow it. What's the point? Shouldn't developers worry about optimization matters?
To rectify this nonsense many compilers implement __forceinline or similar.

Name: Anonymous 2009-02-08 22:27

>>10
Doesn't help that every faggot that tries to fix any of those ends up making something worse.

Name: Anonymous 2009-02-08 22:46

C++ tries to be C and Java at the same time and fails miserably at both.

Name: Anonymous 2009-02-09 0:03

>>12
C++ is older than Java

Name: Anonymous 2009-02-09 0:08

Name: Anonymous 2009-02-09 0:16

Java is what C++ wants to be. .Net is what Java wants to be.

Name: Anonymous 2009-02-09 0:31

Name: Anonymous 2009-02-09 0:37

>>15
Popular is what .NET wants to be.

Name: Anonymous 2009-02-09 0:39

>>15
Smalltalk is what .NET wants to be.

Name: Anonymous 2009-02-09 0:47

Name: Anonymous 2009-02-09 0:59

Fact: std::ios::bad() always returns true.

Name: Anonymous 2009-02-09 1:25

>>20
are you sure?

#include <iostream>

using std::cout;
using std::endl;

int main() {
   cout << "Testing bad()" << endl;
   cout << cout.bad() << endl;

   return 0;
}


$ g++ ./testBad.cpp -o ./testBad

$ ./testBad
Testing bad()
0

Name: Anonymous 2009-02-09 1:47

>>21
Clearly troll. The parent said std::ios::bad() while you plainly used std::cout.bad().

Name: Anonymous 2009-02-09 1:59

>>21-23
YHBT

Name: Anonymous 2009-02-09 6:26

>>24
YHBT

Name: Anonymous 2009-02-09 6:38

- non-reflexive
- clunky non context-free syntax
- no clear vision/too many paradigms

c++ is dying. fact

Name: Anonymous 2009-02-09 6:49

>>10

>The standard libraries offer very poor functionalities >compared to other languages' runtimes and frameworks.

Compared to modern languages. Compare it to C and its standard library is massive. Also, its standard library is being given a massive boost, no pun intended, in C++0x.

>C++ doesn't enforce a single paradigm. Neither procedural nor >object-oriented paradigms are enforced, resulting in >unnecessary complication.

Change 'unncessary complication' to 'flexibility'.

>C++ supports 'goto'.

Which is very handy for getting out of nested loops. 'goto' isn't as evil as it's made out to be.

>What is 's', a function or a variable?
std::string s();

A variable with its constructor being called. Unnecessary parenthesis.
 
>No native Unicode support. You just can't write international >and portable programs.

wchar_t ?

>No native thread support!! You can't even write portable >multithreaded programs!!

You seem to have this misconception about what 'portable' is. Have you never heard of using preprocessor directives to make the correct OS API calls?

>This also makes impossible concatenating character array >strings, sometimes leading programmers to use horrible C >functions such as strcat.

Use std::string you fool, and its overloaded '+' operator.

>The exception system is not integrated with the platform: >dereferencing a NULL pointer will not throw a C++ exception.

Why the fuck would you dereference a NULL pointer unless you were a retarded monkey?



>>25
YHBT

Name: Anonymous 2009-02-09 6:50

>>26

Fucking quotes can go diaf.

Name: Anonymous 2009-02-09 7:34

>>26
Hello Bjarne.
back to bell labs, please

Name: Anonymous 2009-02-09 8:10

>>26
0/10

Name: Anonymous 2009-02-09 8:10

>>27
[b]NO U![/u]

lrn2[quote]quote[/quote] fgt

Name: Anonymous 2009-02-09 8:14

>>26
Don't you mean:
>>26
YHBT
?

Name: Anonymous 2009-02-09 8:19

>>31
Don't you mean:
>>28
Don't you mean:
>>26
YHBT
?

Name: Anonymous 2009-02-09 10:50

What is 's', a function or a variable?
std::string s();
A variable with its constructor being called. Unnecessary parenthesis.
This is incorrect and has invalidated any other points you make. Please learn proper Sepples, then come back and re-attempt your assertions.

Name: Anonymous 2009-02-09 13:43

>>33
I'm getting the feeling that YHBT.

Name: Anonymous 2009-02-09 18:13

>>34
I'm getting the feeling that TBHY instead.

Name: Anonymous 2009-02-09 18:41

>>35
Yoda?

Name: Anonymous 2009-03-06 6:01


OF the shittest threads.

Name: Anonymous 2011-02-04 16:09

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