- I believe it should not be necessary to learn numerous different language to be able to program effectively. At present, I believe one needs to know C++, Python, Perl, bash, and many command line utilities, to be an effective Linux software developer. The goal is to reduce this set substantially, and to maximize the overlap in syntax and semantics between the main players in the resulting set.
- C++ is a wonderful systems programming language. Due to several factors, mainly that it is compiled, very complex, and quite verbose, it is best suited for large scale software development.
- Python does not have C++ strong typing, const, private, Perl one-liner expressiveness, and white space matters
- Perl is inelegant, dangerous, and outright ugly for medium to large scale development, but has a wonderful ultra-short program support
- C++ syntax, where possible
- Strong typing, explicit declarations, const mechanism
- Expressive power of Python instruments and libraries
- Perl brevity and expressiveness for "one-liners" (very short programs)
- Convenient interaction with UNIX command-line utilities
