Curiosity - Programmer or not?

Pages: 12
In fact, in a "mature" system with a lot of utilities, one often finds that no code at all needs to be written!

Just found this statement in the "users' manual" of some software from 2001. What leads me to the question: how mature is C++? Do C++ still need to worry about algorithms for trivial tasks (like pattern matching receently on this forum -- http://www.cplusplus.com/forum/general/251289 ) or is all customary done and a programmers task is just to find where?

Not to ask questions only, here my own answer:
New to C++ but not new to programming at different levels (HP-41 up to Pipelines on VM/ESA) I am a bit astonished about C/C++. I felt most effecitve with a "vertical" language like REXX, about two dozens commands/functions (~100 to be precise), adaptable by optional arguments instead of a vast "horizontal" set with different names doing almost the same as several others (like ooREXX with ooDialog for example). Up to now I have not enough insight to judge about C++ -- I have the impression that it servers many programmers as right to exist.
Last edited on
is all customary done and a programmers task is just to find where?

The task is not just to find where, but to understand how it's done, what trade-offs were taken, assess integration and maintainability, and make the engineering decision about which solution to onboard, or, if none satisfy the project requirements, create (and test and commit to supporting) your own.
This is not even specific to C++ software development, though C++ typically puts much heavier emphasis on understanding how it's done compared to e.g. Java development.
Last edited on
A mature programming language doesn't mean there is nothing new to add to it. Each new ISO standard changes and adds to the language making to more robust.

https://en.wikipedia.org/wiki/C%2B%2B#Standardization

An example there was no standard C++ filesystem before C++17.

Just because there are more features as C++ evolves doesn't mean programmers don't have to write code. Proper code is needed to use those features. New and old.

Remember, you are telling beach sand what to do. You can't just say "run a game" or "do my taxes."
Last edited on
The task is not just to find where, but to understand how it's done

Really? Does sort sort faster if you know how it sorts? What criterion would trigger the go! to code some sort of your own? What is missing in NR -- http://numerical.recipes/nr3contents.pdf ?

though C++ typically puts much heavier emphasis on understanding how it's done compared to e.g. Java development.

Is this related to something like 'culture' (company, ...) or a matter of programming language?
To me maturity in a language is more to do with how hard you have to fight the language to get the work done. Adding utilities (useful features) to a language makes it easier to get work done and adds to the maturity of a language. C++ is very mature.
MikeStgt wrote:
Really? Does sort sort faster if you know how it sorts?

Yes.

If you are, say, Google, and you have to process 40,000 searches every second, over 10-15 exabytes of data, if you were to just use std::sort() you would loose your business faster than you could trip and impact the floor.

But if you are a Google app that needs to sort a user’s travel plans, std::sort() is more than satisfactory.

Knowing the characteristics of the tools and methodology you are employing are critical to good engineering.
MikeStgt wrote:
Does sort sort faster if you know how it sorts?

If you're talking about std::sort, it won't make it work faster (I think STL used to expose its tuning knobs, though). Such understanding is required to be able to compare against other available sorts, assuming I even need an unstable comparison-based mutating sort routine in the first place (it's rare in my experience).

What criterion would trigger the go! to code some sort of your own?

Already said, the criterion is that no existing available solution satisfies project requirements, at least to the degree where the cost of rolling your own is justified.

What is missing in NR -- http://numerical.recipes/nr3contents.pdf ?

Everything. It's an early-intermediate textbook with spotty discussion and useless source code samples.
Duthomhas:
If you are, say, Google, and you have to process 40,000 searches every second, over 10-15 exabytes of data

Ok, fair enough -- if I was a rich man... https://www.youtube.com/watch?v=lWYHsnc94b8 ... I would probably not tantalize with C++.
BTW, do you realy think Google (and others) use C++ under the counter?

Furry Guy:
Remember, you are telling beach sand what to do. You can't just say "run a game" or "do my taxes."
Cubbi: [NR lacks...]
Everything. It's an early-intermediate textbook with spotty discussion and useless source code samples.

Two statements with IMO the same message. I suppose it is the scale of the task. So not to get the 42 as answer, I should ask more precise: up to which complexity is C++ mature enough, that no programmer would re-invent the wheel? I remember the question lately about sort count but sortet by occurrence. Example: an election with 5 aspirants and many voters, list them not alphabetically but according harvested votes -- using C++ is there really a new program needed or are there "ready to use mini-programs" you just have to stitch together?
Last edited on
up to which complexity is C++ mature enough, that no programmer would re-invent the wheel?

Never happen, the standard will continue to evolve for 3 days past the heat death of the universe.

There will always someone who thinks peeing on the pile will be an improvement.
Last edited on
What is missing in NR?

Look at the publication date. 2007.

What's missing is C++11 and later.

Even if the book was recognized as authoritative, as Stroustrup's books are, the lack of any update later than C++03 really cripples its worth.
Last edited on
Hi Duthomhas -- thank you for this hint. Made me nosy about the hardware, lots of Linux servers I read, but no clue if under System z. But that would be a drastic subject drift.
thank you for this hint. Made me nosy about....

Duthomas, helios and several others here who have slipped through my sieve of a mind do that. Make your curiosity go all itchy and you are compelled to scratch by learning stuff.
Wow. That’s probably one of the nicest compliments I have ever received.





You know what’s messed up? Stuff disappearing from old TV shows. For example, there’ a scene in Simpson’s Treehouse of Horrors VI where the Pep Boys are walking their heads around in shopping carts. But I cannot find it anywhere!
https://goo.gl/images/DJLTqh (this image)
https://www.youtube.com/watch?v=geiJ2OkEEts (missing!)
Hey, D, it's the truth.

(now where's the $50 you owe me for saying those nice things about ya?)
You know what’s messed up? Stuff disappearing from old TV shows.

The Simpsons creators have flat out admitted they are going to censor their product from now on.

Remember the episode that had Michael Jackson guest-star? With the wonderful "Lisa, it's your birthday" song?

It is being pulled from syndication, never to again be on DVD/Blu-ray or seen as a rerun.

Being butchered to fit a smaller time-slot so more commercials can be aired is bad enough. But this. *UGH*

https://slate.com/culture/2019/03/simpsons-michael-jackson-stark-raving-dad-pulled.html
Last edited on
When I said subject drift it was not an order.
MikeStgt wrote:
What is missing in NR?
Furry Guy wrote:
Look at the publication date. 2007.
What's missing is C++11 and later.

The "C++" in that book is missing C++98 as well, but it's not even that. It's just not a book for programmers, it's a book for scientists who don't have access to decent software libraries and have to cobble things together as they go. I should know, I was one of those scientists when I read the 2nd edition of NR, working on my PhD. Besides, If you are familiar with the subject matter of any of its chapters, you'll find it introductory and often immature. But if you're not familiar, they are a great introduction (except that source code used to illustrate them is not usable)
Last edited on
I mentioned NR as I knew it from FORTRAN times. I was not aware its deficiencies in respect of C++.
@Cubbi, I just glanced at the Amazon page for the book, so have no clue how bad it was.

From your description it makes Sams "Teach Yourself...." books sound quite good in comparison.

And I know from experience just how bad they can be.
Pages: 12