Thanks for the detailed thoughts about language choice. I was
surprised, though, to read the following:
> 3. C++ and Java does not require well exprienced developers. You can manage a large scale projects with c++ or Java with less experienced developers. There are some reasons for that: As a compiled language, C++ protect us from run time errors. Secondly, Developers that come from the academy experienced those languages during their study.
> 4. The simplicity of C, C++ (and java) makes unexpirienced developer to an experienced developer with a minimum risk.
I have never heard anyone describe C++ as simple. Certainly, C++ code
written by inexperienced developers is generally poorly designed and
difficult to maintain. It is also exposed to large classes of runtime
bugs (mostly involving memory management) that Perl largely avoids.
C++ does have a number of advantages as a development language:
- Widely used, and so easy to find people who know it.
- Powerful mechanisms for OO encapsulation
- Ability to fine-tune resource use, such as memory management and performance
But simplicity? Safety for inexperienced developers? I've never heard
of or encountered those as advantages of C++. (Maybe Java, to some
I do think that you're more likely to see poorly-designed Perl code
than poorly-designed C++ code, because most developers (and managers)
don't take Perl seriously as a software platform, and think of Perl
code as not worthy of applying serious software engineering
techniques. Perl is usually taught as a scripting environment for
system tasks and string processing, with references, objects and
modules presented as advanced techniques. In C++, they're a
fundamental element of any training course.
Of course, inexperienced developers who write poorly-designed code
will be able to churn it out much faster using Perl than C++!
More information about the Perl