Journal pyrrho's Journal: C++ vs. the world 2
I strongly believe one should use the best tool for the job. When I work on a project, I don't want to rewrite it in my favorite language... BUT!
What can scripting languages really offer that a good class system can't? People talk about doing something in Python with ten lines that takes months in C/C++. Pardon? Isn't that because the thing you are writing has already been written? You are just instantiating it! And this is true in C++ as well. I mean... look at me... I can write a web server with no lines of code... I just compile apache!
Seriously, there are class systems that can do a lot of the work.
It's the same with GUI stuff... VB is easier... supposedly, for some, but in reality, the whole draw your dialog box and click on the buttons to write code for them works just as "well" in C++ using MFC and MS code wizards as it works in VB. IOW, it sucks in both, but if it's useful (because you are throwing something together, for example), what is the advantage of VB? You get to learn a poorly formed verbose syntax instead of the C/C++ syntax?
Re:C++, the One True Language? (Score:1)
I havn't used Python much (dinked around with a few scripts as more and more neat things are written with it that I want to use, e.g. I'm a bit of a Zope fan). I did know you could have class systems.
But my point is that you lose some performance when scripting. That's fine if you gain something. I don't think the promises of scripting gains you much. Are you saying you couldn't have python's expressiveness in a compiled language?
I think that if one wants to put something atop compiled languages, a change in paradigm is appropriate. E.g. at that level use Diagrams to program, or some other different paradigm such as (insert innovation here). When you create a programming language at that level you have not improved the metaphore. Although the promise is always to avoid bugs, you have a logical system that has the same pitfalls. Everything you do to change that, like garbage collection, has some negative effect of limiting flexibility. The real difficulty is the potential interaction among all the logical statements in the program. To eliminate that problem you need a different paradigm for that level of "application authorship".
I also tend to feel that many of the problems people have with C++ can be addressed with good class systems, and in fact HAVE!
There have been garbage collectors for C++ for a long time. Hell, you can make one for C too! There is also a good reason they are not in wide use, that's because there is No General Purpose Garbage Collection algorythm. Still, standard C++ practice is for the class sytem to handle it's own memory.
The only fault of C++ is it allows you to break a rule if you want, but that's because it's allowing you to MAKE the rule! That's a good thing.