Why is it faster to develop in certain languages over others?

Started by
11 comments, last by Daaark 11 years, 7 months ago
I simply wanted to say thank you for asking this, the replies that others have given have been rather enlightening for me.
Advertisement
As pointed out, the lack of built in libraries is by far the biggest issue. There's also a fair bit of boilerplate involved in implementing proper "rule of 5" (formally known as the rule of 3...) classes, and the header system is relatively complicated and requires you to jump from source to header file as you're adding new methods. And debugging compiler errors in template classes is potentially a time waster, since they can be *very* cryptic, and usually you're not told which part of the calling code actually triggered the error.

c++ does allow you to implement RAII based memory management which is much better than garbage collected implementations when you need to control exactly when you release a resource. It's easy to make mistakes and leak memory building a c++ object, but when correctly implemented, the caller rarely has to worry about managing memory at all.
Some languages target systems development, and some target software development.

C# primarily targets software development, so it implements a huge standard library. Everything in the library works together as a whole. You just use the appropriate classes and data types, and move on with implementing the main program.

When you need a lot of that stuff in C++, you need to write your own library, or hunt one down. Then it's up to you to keep track of all these library's license terms, versions, bugs, and ability to interact. Sometimes these libraries expect an entirely different programming style to how your program was implemented, and you have to write a glue layer to try and mesh 2 different concepts. Sometimes libraries all use different data structures to represent the same thing, and you have to find a way to convert them on the fly to pass them back and forth. All these libraries you use will be islands onto themselves. You spend a lot of time programming ways for them to communicate and work together.

This topic is closed to new replies.

Advertisement