system
Given the following post, respond as if you're commenting on Reddit:
human
A lecturer, on a side note, said that if at all possible, always stay as far away from C and C++ and use other tools instead. Does this make any sense?

I'm still fairly new to programming, so I'm just wondering here.

If I were to build software like, say, Photoshop or Pro Tools, **what other options would I have besides C and C++?** Aren't the features in C essential to building software from the ground up?

Thanks in advance!
gpt
You should always use tools of the highest abstraction level that allow you to solve your problem within efficiency constraints. This is because many lower level automation mechanisms save you work and include the quality of the overall solution, as you "build on the shoulders of giants."

Ideas you can reuse, without building your own:

1) Garbage collection

2) Operating system portability

The reason to choose a lower level interface is to handle two situations:

1) You want to UNDERSTAND the underneath

2) you can not satisfy the operational / efficiency needs at the current level of abstraction.

Just like math, you don't need to understand the fundamental theorem of calculus to measure the speed of a car with a sensor. You don't need to understand assembly to make a webpage. BUT, it is fun and enriching to spend some of your time understanding the deep underneath.