Tools

This menu items under this heading describe the tools that I provide for free in my continuing effort to improve the state of the art for programming in different languages for different problems. It is my view that you should use the appropriate language for the job.

Here is the list of languages that I use with a brief rationale. Hopefully it will be of some use to you. Of course your list will probably very different.

Note that there are many languages like Ruby, Haskell, Algol, Fortran and Pascal that I have used for a brief period of time that are not mentioned below because I only used them briefly (Ruby) or haven’t used them for many years (Algol, Fortran). I don’t feel qualified to critique them.

Language Frequency Rationale
Bash Often I use bash for local system scripting that automates CLI tasks. When minimal output processing is needed because it is a bit easier to run applications. I don’t need to use perl system commands or backslashes or the Python subprocess module.
C Rarely ANSI C is an excellent system level, procedural language for developing kernel modules and other system tools that require it.

I use the GNU compiler almost exclusively.

C++ Sometimes This is my favorite compiled language. I have used it for many years and find the static template support to be a huge boon to productivity (along with the boost library).

I use C++ when I need raw performance and strict control over memory use. Interestingly, in recent years, I tend to use it less because Python performance is adequate for the vast majority of problems that I need to solve.

I use the GNU compiler almost exclusively.

Java Very Rarely I used to use Java quite a lot but in recent years I switched to Python
because I like it better.
Javascript (ECMAScript) Often I always use javascript for web pages. It is excellent for make them come alive.
Lisp Rarely I only use lisp to program Emacs these days.
Perl Rarely An excellent, widely used scripting language.

I used perl for many, many years but moved on to Python because I feel that Python expresses algorithms in a cleaner way.

PHP 5.x Rarely An excellent, widely used scripting language for web server code.

Like perl, I used PHP for many, many years but moved on to Python because I feel that Python expresses algorithms in a cleaner way. I also did some performance experiments on one of my servers and found that Python 2.7 with Apache mod_wsgi was faster than PHP and, finally, it was nice to be able to use the same language for internal scripting, GUI apps (wxPython) and web services.

Python 2.7 Often I use python for portable command line, web and GUI applications. The 2.x series is currently my candidate for the best scripting language because I feel that it expresses algorithms
in a concise readable format. In addition, I find that decorators and lambda functions provide
capabilities that other languages like lack.

For web applications I use the mod_wsgi Apache plugin.

For GUI applications I use wxPython.

Python 3.2 Rarely An excellent evolutionary step forward for Python. Unfortunately not all of the packages I need have been ported yet.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.