Live data from Hacker News

Why do C++ folks make things so complicated?

johndcook.com

1–10 of 34 posts

Re: Why do C++ folks make things so complicated?

#3
post #2

C# comes to mind when he is talking about top/bottom C++. They got this right, plus added some neat high-level features.

Actually, the commenters are arguing about what languages are best used in those roles; e.g. C as "bottom C++", Python as "top C++" - or, indeed, C# as "Top C++".

C# is nice, but I wouldn't want to write a kernel in it.

Re: Why do C++ folks make things so complicated?

#4
post #2

C# comes to mind when he is talking about top/bottom C++. They got this right, plus added some neat high-level features.

Not so sure about that... Consider the Template Numerical Toolkit: extending it would be Bottom while using it would be Top (reference counting, overloaded for for both row-major or column-major array access, etc.).

C# takes things several steps further down the road.

http://math.nist.gov/tnt/

Re: Why do C++ folks make things so complicated?

#5
post #4
post #2

C# comes to mind when he is talking about top/bottom C++. They got this right, plus added some neat high-level features.

Not so sure about that... Consider the Template Numerical Toolkit: extending it would be Bottom while using it would be Top (reference counting, overloaded for for both row-major or column-major array access, etc.). C# takes things several steps further down the road. http://math.nist.gov/tnt/

By the way, why do C++ people seem to think that reference counting is a good idea?

Re: Why do C++ folks make things so complicated?

#7
post #5
post #4

Earlier quoted context omitted.

Not so sure about that... Consider the Template Numerical Toolkit: extending it would be Bottom while using it would be Top (reference counting, overloaded for for both row-major or column-major array access, etc.). C# takes things several steps further down the road. http://math.nist.gov/tnt/

By the way, why do C++ people seem to think that reference counting is a good idea?

Because in some situations you can't tolerate GC pauses.

Re: Why do C++ folks make things so complicated?

#8
post #5
post #4

Earlier quoted context omitted.

Not so sure about that... Consider the Template Numerical Toolkit: extending it would be Bottom while using it would be Top (reference counting, overloaded for for both row-major or column-major array access, etc.). C# takes things several steps further down the road. http://math.nist.gov/tnt/

By the way, why do C++ people seem to think that reference counting is a good idea?

It is a useful idea, because it allows a certain amount of automation/defensive programming but without the complexity and potentially unpredictable performance of using a full garbage collector. For the kind of job where C++ is still a good choice of programming language, that might be the right balance.

Re: Why do C++ folks make things so complicated?

#9
post #7
post #5

Earlier quoted context omitted.

By the way, why do C++ people seem to think that reference counting is a good idea?

Because in some situations you can't tolerate GC pauses.

But you can tolerate ref counting pauses? (When you release the last reference to the last object keeping a large tree of objects alive and have a lengthy cascade of objects being freed.)

Re: Why do C++ folks make things so complicated?

#10
post #5
post #4

Earlier quoted context omitted.

Not so sure about that... Consider the Template Numerical Toolkit: extending it would be Bottom while using it would be Top (reference counting, overloaded for for both row-major or column-major array access, etc.). C# takes things several steps further down the road. http://math.nist.gov/tnt/

By the way, why do C++ people seem to think that reference counting is a good idea?

It's fairly easy to do in C++ with constructors/destructors and smart pointers.
Post reply on HN