Linked by Thom Holwerda on Mon 3rd Sep 2012 20:46 UTC, submitted by MOS6510
General Development I like this one: "By definition, a program is an entity that is run by the computer. It talks directly to the CPU and the OS. Code that does not talk directly to the CPU and the OS, but is instead run by some other program that does talk directly to the CPU and the OS, is not a program; it's a script." Here's the other eleven.
Thread beginning with comment 533772
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[4]: C++
by kwan_e on Tue 4th Sep 2012 08:09 UTC in reply to "RE[3]: C++"
kwan_e
Member since:
2007-02-18

Except the STL is almost entirely duplicate functionality. list and map are the only new containers. Everything else is either a duplicate or a minor change away from being a duplicate.


Set, queue, deque, unordered (hash), heap. If by "minor change" you mean lack of manual memory management, then yeah. But I would call that an improvement.

Bunch of standard algorithms. Smart pointers. Concurrency.

Let's not forget that C++ allows things like Boost to happen.

Vectors don't really make life easier. And RAII is only useful if you're doing OO.


So you like having to explicitly allocate and deallocate memory? Even with C99 variable length arrays, you can't easily push or pop or insert or delete items or resize without the possibility of introducing bugs. Then you also have to manually keep track of the length of the array in case you don't use the whole thing.

The C I/O functions work at least as well as C++'s, even on objects.


And?

Honestly, I think Qt is crazy, but most GUI programming is.


Then in no way can you say anything about C++. C++ is designed for complicated things, like GUI programming for example.

Reply Parent Score: 4

RE[5]: C++
by satsujinka on Tue 4th Sep 2012 17:36 in reply to "RE[4]: C++"
satsujinka Member since:
2010-03-11

All those containers are duplicates of other containers in the STL. Also, Boost is a nightmare, not a benefit.

If you can't manage an array, then you have no right to be talking about "complicated things." Arrays are not difficult things to work with. Push, pop, insert, and delete are all straight forward functions (that C should have defined, but I digress.) Keeping track of the length is also not difficult (and can be managed by the push/pop/insert/delete functions.)

GUI programming is not crazy because it's complicated, it simply isn't complicated. It's tedious. But more to the point, the current style of GUI programming is crazy because it ignores good coding conventions )such as reduction of coupling.) This is practically a requirement of most GUI frameworks, because they insist on ignoring the fact that they're dealing with a reactive system. Instead of making themselves reactive, they use the event model (which only poorly emulates the desired properties, because it requires explicit handling of events.)

Reply Parent Score: 1

RE[6]: C++
by kwan_e on Tue 4th Sep 2012 23:31 in reply to "RE[5]: C++"
kwan_e Member since:
2007-02-18

All those containers are duplicates of other containers in the STL. Also, Boost is a nightmare, not a benefit.


Only because it's obvious you have no idea how to code C++ properly.

If you can't manage an array, then you have no right to be talking about "complicated things." Arrays are not difficult things to work with. Push, pop, insert, and delete are all straight forward functions (that C should have defined, but I digress.) Keeping track of the length is also not difficult (and can be managed by the push/pop/insert/delete functions.)


And yet the number one security defect continues to be caused by buffer overruns and other low level array management. It's not about difficulty, it's about SAFETY.

If you're more concerned about bragging rights rather than doing the Right Thing, you have no right to be programming for a job at all. Why the hell should people waste time writing the same array management stuff over and over again, introducing bugs (even the best of us still do), when we already have a library that does it.

Reply Parent Score: 4