„An empirical comparison of C, C++, Java, Perl, Python,
Rexx, and Tcl for a search/string-processingprogram“
Prof. Lutz Prechelt (email@example.com), March 10, 2000
language progs unusable total
C 8 3 5
C++ 14 3 11
Java 26 2 24
Perl 14 1 13
Python 13 0 13
Rexx 5 1 4
Tcl 11 1 10
Total 91 11 80
Designing and writing the program in Perl, Python, Rexx,
or Tcl takes only about half as much time as writing it in
C, C++, or Java and the resulting program is only half as
The typical memory consumption of a script program is
about twice that of a C or C++ program.
For Java it is another factor of two higher.
For all program aspects investigated, the performance variability
due to different programmers is on average about as large or
even larger than the variability due to different languages.
The hardestareas to learn new skills in are the things you've been practicing fora long time.
There is a sense of loss -- even grief -- that comes with the abandonmentof old techniques.
I've experienced this recently when I was challenging everything I knew aboutswimming
which I've been doing foras long as I can remember, and used to do it competitively.
I was learning Total Immersion Swimming,which is a meditative style of swimming.
And noticed myself being in constantdisbelief thatthis better or even worth learning.
I drew a lotof parallels between this and my professional career.
Being a good programmermeans that there is always something
you could bedoing better or is more suited to the problem domain you'retackling.
And learning new techniques often consists of moreunlearning than learning.
Amjad Masad, Facebook, 2015
Learn that your own code
becomes legacy code
Test Driven Development
Separation of concerns
Domain Driven Design
Locks and States
David Soria Parra
Inversion of Control