Programming Languages - What & Why

programming code

Intro

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.

PERL 

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.

Wordle Solver

    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)

PixDate

    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.

PHP

Personal Dashboard

    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.

Python

Sorter

    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#.

Blender Scripts

    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.

Javascript

Web Pages

    What: If it’s not in PHP, it’s Javascript
    Why: I even use Javascript for DOM manipulation in some PHP pages

PowerShell

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.    

Smallpix

    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

Other Languages

    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