Programming Languages - What & Why
My whole computer programming career I’ve read articles about what is the “best” programming language and why you should is use it for everything you create. Of course, they were all nonsense.
There is no best language. There is no worst language, other than Java. (Just kidding, mostly)
The problem is that people are still trying to convince others that their favorite language is the one and only. The other problem is that I can’t imagine using a single language. Each language has strengths and weaknesses. Ignoring that is just foolish.
In response I thought I’d share what languages I use for what and why.
Web log analysis
What: Downloads web log files, parses them and writes spreadsheet reports.
Why: I use PERL because it’s very good at parsing text and writing reports.
What: A program that searches the Linux words file for Wordle guesses
Why: PERL handles text and search variables better than other languages
Go (AKA Golang)
What: A program to add current date to picture filenames.
Why: The Go version of this program is much, much faster than the PERL version.
What: A single page website of all my todo lists, bug reports, calendars, etc.
Why: I use PHP for simple web sites. It has way less overhead than other languages.
What: A GUI program for manipulating groups of text.
Why: I find that Python makes a better GUI than PERL, but is easier than C#.
What: I script my animations in order to make revisions easier.
Why: Python is the default scripting language for Blender.
Various Video Editing Scripts
What: Some videos are easier to process outside of editing software.
Why: Python has excellent video libraries available.
Wrappers and Task Runners
What: Command line scripts to run applications and scripts in many languages
Why: PowerShell provides an interface between the OS and scripts.
What: Converts all the pictures in a folder to the correct format for the web
Why: PowerShell has a simple to use module to manipulate images
C# - For talking to things that are Microsoft-only
C – For creating Linux scripts that need speed
Node – For developing small but complex web applications