The Coder's Catnip

Follow an aspiring developer's adventures in programming, data science, and machine learning. From early gaming communities to exploring new career paths, my fascination with coding eventually drew me back to computer science. Although programming seemed challenging at first, its creative possibilities continued to motivate me. Now, after returning to school, I'm fully embracing this journey. Join me as I chronicle my path as a lifelong learner – sharing, projects, mindset shifts, and resources that help me progress from student to coder. You'll find motivational highs, frustrating lows, and everything in between. My goal is to pass on tools, inspiration, and community to empower aspiring developers. Let's explore this endless world of coding together!


The Coder’s Catnip: Programming Languages and Facts

C

  • Developed in 1972 by Dennis Ritchie, it’s one of the most widely used languages.
  • Used to develop operating systems, browsers, databases and more.
  • The Linux kernel is written in C.

C++

  • Created as an extension to C in 1979 by Bjarne Stroustrup.
  • Enables object-oriented programming in C.
  • Used to develop games, desktop apps, operating systems and browsers.

Java

  • Released in 1995 by Sun Microsystems, now owned by Oracle.
  • Known for being platform-independent. Write once, run anywhere!
  • Powers over 3 billion devices from smartphones to Blu-ray players.

Python

  • First released in 1991 by Guido van Rossum.
  • Named after the British comedy group Monty Python.
  • Used by NASA, Google, Facebook and many more organizations.

JavaScript

  • Created in 1995 by Brendan Eich while at Netscape.
  • Runs in web browsers and powers interactive web content.
  • Can also be used for server-side development via Node.js.

TypeScript

  • Developed by Microsoft in 2012 as a superset of JavaScript.
  • Adds features like static typing to improve JavaScript development.
  • Angular framework uses TypeScript by default.

C#

  • Pronounced C-sharp, it was created by Microsoft led by Anders Hejlsberg.
  • Combines strengths of C, C++ and Java.
  • Used for Windows desktop and web applications.

PHP

  • Stands for PHP: Hypertext Preprocessor, originally Personal Home Page.
  • Created by Rasmus Lerdorf in 1994 for web development.
  • Powers popular platforms like WordPress and Facebook in the past.

Ruby

  • Designed in 1995 by Yukihiro “Matz” Matsumoto in Japan.
  • Favored for its simplicity and elegance by many developers.
  • Powers the popular Ruby on Rails web framework.

Perl

  • Created by Larry Wall in 1987 as a general purpose language.
  • Popular for text processing and legacy CGI web scripts.
  • Has over 250,000 modules on CPAN, its repository of Perl code.

Swift

  • Developed by Apple and released in 2014 for iOS and macOS development.
  • Focused on performance and safety with modern features.
  • Used to develop apps for iPhone, iPad, Mac, Apple Watch and more.

Objective-C

  • Created in the early 1980s as a superset of C with object oriented features.
  • Was the primary language for Apple’s iOS and macOS development before Swift.
  • Still used for writing Apple platform apps especially for integration with C/C++ code.

Rust

  • Created by Mozilla Research around 2010 for performance and safety.
  • No garbage collection reduces overhead and improves speed.
  • Used at companies like Dropbox, Microsoft, Amazon, Facebook, Google and more.

Go

  • Designed by Robert Griesemer, Rob Pike and Ken Thompson at Google in 2007.
  • Provides efficient concurrency support with goroutines and channels.
  • Used by Google, Twitch, Dropbox, Uber and other tech companies.

Scala

  • Created in 2001 by Martin Odersky and his team at the École Polytechnique Fédérale de Lausanne.
  • Runs on the Java Virtual Machine (JVM) and compatible with Java.
  • Combines object oriented and functional programming in an elegant mix.

Kotlin

  • Created by JetBrains and first released in 2011.
  • Can compile down to JavaScript or JVM bytecode for the Java runtime.
  • Google endorsed it as an official language for Android development in 2017.

Haskell

  • First defined in 1990 by a committee of researchers interested in functional programming.
  • Heavily used in academia and research thanks to its mathematical nature.
  • Known for features like laziness, purity, static typing and type inference.

Lua

  • Created in 1993 by a team at Pontifical Catholic University of Rio de Janeiro in Brazil.
  • Very lightweight and fast, great for embedding within apps and games.
  • Used widely in game development by Roblox, Angry Birds, World of Warcraft and others.

MATLAB

  • First released by The MathWorks in 1984 for numeric computing tasks.
  • Widely used in academia and industry for data analysis, visualization, machine learning and more.
  • Can interface with programs written in other languages like C, C++, Java, Python and more.
  • The MathLAB/MathWorks logo is an Eigenfunction of the Wave Equation.

Fortran

  • First high-level language, developed in 1957 by IBM for scientific computing.
  • Stands for: Formula Translation. This computer programming language was created in 1957 by John Backus that shortened the process of programming and made computer programming more accessible.
  • Fortran is mostly used in domains that adopted computation early–science and engineering. These include numerical weather and ocean prediction, computational fluid dynamics, applied math, statistics, and finance. Fortran is the dominant language of High Performance Computing and is used to benchmark the fastest supercomputers in the world.
  • Recent standards add object oriented programming capabilities.

Ada

This is a derived work from the the winner of the Ada Mascot contest in Nov 2014 on Reddit.
Visible on Wikipedia , Wikibooks , Wikiversity

© Leah Goodreau
  • Designed in 1970s, named after Ada Lovelace who made the first computer program – an algorithm designed to be carried out by a machine.
  • Used extensively in defense, aerospace and other high integrity systems.
  • Provides features like strong typing, data abstraction and error handling.
  • Doesn’t have an official logo. The picture above is a mascot from Reddit made by Leah Goodreau. She was inspired by Ada Lovelace’s adolescent fascination with flight and Charles Babbage’s nickname for her, “Lady Fairy.”
    The coloration of the mascot references the Asian fairy-bluebird, while the silhouette is a hummingbird because of their famed speed and sleekness.

COBOL

  • COmmon Business-Oriented Language first designed 1959.
  • Still powers critical banking and finance systems handling trillions in assets.
  • Cobol has less and less developers but it is still important. Check this article on how COBAL is still relevant in 2023: https://www.linkedin.com/pulse/importance-cobol-2023-bryan-varie/
  • Has object-oriented capabilities and remains actively updated.

Pascal

  • Created in 1968 by Niklaus Wirth as a small and efficient teaching language.
  • Features strong typing and data structuring mechanisms.
  • Apple used Object Pascal in early systems and apps like Skype used Delphi.

Assembly Language

  • Low-level languages that map directly to underlying hardware instructions.
  • Give maximum control for performance critical applications.
  • Used where high speed and small footprint matter most.

BASIC

Atari BASIC (1979) for the Atari 8-bit family
  • Beginner’s All-purpose Symbolic Instruction Code developed at Dartmouth College to bring computing to non-experts.
  • Provided an accessible entry point to programming for generations of students.
  • BASIC was created in 1964 at Dartmouth College by John Kemeny and Thomas Kurtz. It was designed to be easy to learn, especially for non-science students.
  • One of the first widely spread versions was Dartmouth BASIC in the 1960s, which allowed multiple users on time-shared systems.
  • In the 1970s and 80s, many variations of BASIC became ubiquitous on minicomputers and especially home computers and early gaming systems, like Applesoft BASIC, Commodore BASIC, and Microsoft BASIC.
  • Important features that made BASIC accessible to beginners were its English-like syntax, line numbers, interpreter design, and graphics commands like drawing with a virtual “turtle.”
  • As home computers advanced, versions like GW-BASIC and QuickBASIC added more structured programming features like subroutines, local variables, and better control structures.
  • In 1991, Microsoft released Visual Basic, which merged an updated BASIC language with a visual interface builder. VB became very popular for business applications.
  • Modern versions of BASIC include VBA, VB.NET, QB64, FreeBASIC and many others. BASIC remains in use today, especially by hobbyists and for gaming, though it has declined from its huge popularity in the 1980s.

Visual Basic.NET

  • An approachable, visual development environment for BASIC created by Microsoft.
  • VB makes it easy to build Windows applications with graphical UI components.
  • Evolved into languages like VB.NET while retaining simplicity.

Lisp

  • LISt Processing language invented by John McCarthy in 1958 for artificial intelligence research.
  • Uses symbolic expressions vs more traditional syntax.
  • Heavily used in AI through dialects like Common Lisp and Clojure.

Clojure

  • A modern Lisp dialect running on the Java Virtual Machine created by Rich Hickey.
  • Focuses on immutability and functional programming concepts.
  • Provides elegant concurrency support through software transactional memory.

Racket

  • A general purpose, multi-paradigm language in the Lisp family.
  • Has roots going back to 1975 and extensive support for language creation.
  • Used widely for computer science courses at many universities.

Erlang

  • Designed in 1986 by Ericsson engineers for concurrent, distributed telecom systems.
  • Based on concepts from functional programming and the actor model.
  • Used in massive telecom systems with uptimes measured in years.

Elixir

  • A dynamic functional language built on the Erlang VM released in 2011 by José Valim.
  • Pairs Erlang’s strengths for concurrency with programmer friendliness.
  • Powers scalable, fault-tolerant applications and services.

OCaml

  • An industrial strength programming language with roots going back to the early 1990s.
  • Combines functional, imperative and object oriented styles.
  • Heavily used in areas like financial analysis, driverless cars, aerospace and more.

F#

  • Created by Microsoft Research around 2005 as a functional-first, object oriented language.
  • Designed to be succinct and typed while integrating with .NET Framework.
  • Used for financial applications, game development, data science and more.

Groovy

  • A dynamic, object oriented JVM language with scripting capabilities created in 2003.
  • Simplifies Java by removing boilerplate and adding modern features.
  • Often used for testing, build processes and web development in the Java ecosystem.

Julia

  • Created by a group of scientists around 2009 for high performance technical computing.
  • Compiles to efficient native code while feeling like a dynamic scripting language.
  • Gaining notable traction in science, analytics, AI and financial trading.

Dart

  • Developed by Google around 2011 for structured web and mobile app development.
  • Can compile to native or JavaScript allowing web and mobile deployments.
  • Used by Google for apps like Adwords and by many Flutter developers.

Delphi

  • Object Pascal language and IDE for rapid application development created by Borland.
  • Makes it easy to build visually rich Windows desktop applications.
  • Still has a strong following, especially in the finance industry.

ABAP

  • Advanced Business Application Programming developed by SAP in the 1980s for business apps.
  • Still widely used in SAP ERP and other enterprise software from SAP.
  • Revolutionized business app development through declarative data modeling.

PL/SQL

  • Procedural Language extensions for SQL built into Oracle’s RDBMS.
  • Allows combining procedural constructs with SQL in the same programs.
  • Heavily used by Oracle apps and database developers.

VHDL

  • VHSIC (Very High Speed Integrated Circuit) Hardware Description Language used for electronic design automation.
  • Allows describing digital and mixed-signal systems like processors and chips.
  • Used extensively in designing ASICs, FPGAs, microprocessors and other complex electronics.

Verilog

  • Hardware description language used to design and verify digital circuits at the Register-transfer level (RTL).
  • Along with VHDL, it is considered an industry standard for electronic design automation.
  • Used by leading chip designers like Intel, AMD, IBM, Qualcomm and more.

Scratch

  • A visual drag-and-drop programming language developed by MIT Media Lab to introduce younger students to coding.
  • Great for learning core programming concepts like loops and conditionals through game development.
  • Used by schools globally as an entry point to computer science education.

SQL

  • Structured Query Language designed in 1970s for managing data in relational databases.
  • Declarative language for querying, updating, deleting and defining data.
  • Ubiquitous across massive Oracle, MySQL, MSSQL and PostgreSQL databases.

HTML

  • HyperText Markup Language for creating web pages and apps by annotating text content for browsers.
  • Along with CSS and JavaScript, forms the core building blocks of the web and internet.
  • HTML5 added significant enhancements for multimedia, connectivity and performance.

CSS

  • Cascading Style Sheets allow applying styles and layouts to HTML documents.
  • Lets developers separate content from presentation.
  • Powers responsive designs and beautiful interfaces on the web.

LaTeX

  • A high quality typesetting system popular among scientists and academics.
  • Based on the TeX system developed by Donald Knuth in 1978.
  • Used to produce documents like research papers, articles, theses, books and more.

Cg

  • C for Graphics, a high-level shading language developed by Nvidia for GPU programming.
  • Cg code gets compiled to low level GPU shading languages.
  • Makes it easier for developers to utilize advanced GPU features.

HLSL

  • Microsoft’s High Level Shading Language used for shaders on DirectX platforms.
  • Similar syntax to Cg but works across Xbox, Windows and Microsoft devices.
  • Enables graphics developers to optimize shader performance.

GLSL

  • OpenGL Shading Language used to program shaders for the OpenGL graphics API.
  • Provides granular control over the graphics pipeline.
  • Heavily used in games, visualization and augmented/virtual reality systems.

Metal

  • A low overhead, low level 3D graphics API by Apple for macOS and iOS.
  • Provides access to GPU capabilities for rendering games and apps.
  • Replaces OpenGL on Apple platforms for better performance.

OpenCL

  • Open Computing Language framework for writing programs that run across CPUs, GPUs and FPGAs.
  • Makes it easier to leverage heterogeneous computing resources.
  • Used for applications in science, image processing, finance and more.

OpenSCAD

  • Open Source language for creating 3D CAD models programmatically.
  • Models defined using constructive solid geometry principles.
  • Allows parametric designs great for 3D printing and product design.

GDScript

  • High level, dynamically typed scripting language designed by Juan Linietsky for the Godot game engine.
  • Similar syntax to Python, focused on simplicity and usability.
  • Makes it easy to get into game development with Godot.

Csound

  • Domain specific programming language for audio programming created around 1986 at MIT Media Lab.
  • Used to synthesize and process digital audio for music and sound effects.
  • Outputs can be written as audio files or sent to speakers live.

Pure Data

  • Visual programming language for interactive computer music and multimedia works.
  • Based on graphical dataflow programming with patch cords and boxes.
  • Great for experimenting with new sounds.

Faust

  • Functional programming language for realtime audio signal processing from GRAME France.
  • Faust code compiles to C++ libraries for impressive performance.
  • Used in audio plug-ins, smart musical instruments, apps and more.

Chuck

  • Strongly timed audio programming language that provides realtime synthesis, composition and performance control.
  • Created at Stanford and derives concepts from C and Java.
  • Used by electronic music performers and in mobile music apps.

SuperCollider

  • Platform for audio synthesis and algorithmic composition using an interpreted server.
  • Features a Python-like language called sclang for sound control.
  • Used by sound designers, artists and musicians.

Smalltalk

  • Pure object oriented, dynamically typed language designed in 1972 for interactive computing.
  • Provided the groundwork for graphical user interfaces and IDEs.
  • Still used in finance and other domains thanks to its flexibility.

BlitzMax

  • A modern, typed, object oriented programming language in the BASIC family.
  • Focused on making game programming and desktop apps easy.
  • Used by indie game developers and hobbyists.

AutoHotkey

  • Open source scripting language for desktop automation on Windows.
  • Lets you create macros and hotkeys to automate repetitive tasks.
  • Enables integrating and controlling Windows apps for productivity.

AutoIt

  • Similar to AutoHotkey, a freeware BASIC-like language for automating Windows administration and tasks.
  • Approachable syntax like Visual Basic makes it easy to learn.
  • Handy for creating installers, setup wizards and testing guis.

Logo

  • Logo was created in 1967 at Bolt, Beranek and Newman by Feurzeig, Papert, and Solomon. It was influenced by Lisp, artificial intelligence, and developmental psychology.
  • Logo is best known for its “turtle graphics” – commands for an on-screen “turtle” to move and draw, producing line graphics. This provides immediate visual feedback.
  • Logo is an educational language often used to introduce programming concepts to children. It is usually interpreted but some compiled versions exist.
  • There have been many implementations of Logo over the decades, with no single standard version. Popular options include UCBLogo, MicroWorlds Logo, AppleLogo, and Imagine Logo.
  • Logo pioneered the idea of turtle graphics and body-syntonic reasoning where students imagine moving like the turtle. It influenced later languages like Smalltalk, Scratch and the turtle Python library!
  • Key features of Logo include its simple, interactive nature, turtle graphics, use in education, dialects and implementations over time, and influence on other programming languages and environments.

NetLogo

  • A multi-agent programmable modeling language used for simulation.
  • Makes it easy to model complex systems and analyze emergent behaviors.
  • Heavily used in computational science education and research.

FreeBASIC

  • An open source, cross platform compiler for the BASIC language.
  • Syntax similar to MS QuickBasic/ GW-BASIC with modern additions like object oriented code.
  • Great for learning BASIC programming in a modern development environment.

Gambas

  • An open source development environment inspired by and similar to Visual Basic.
  • Lets you easily build desktop apps, but uses Qt for cross platform ability.
  • Components available for common tasks from GUI design to web access.

Liberty BASIC

  • A commercial, educational BASIC compiler for Windows, macOS and Linux.
  • Easy for beginners to start coding games and desktop applications.
  • Popular among hobbyists and used by schools for computer science.

PureBASIC

  • A native 32 and 64 bit BASIC compiler for Windows, Linux and macOS.
  • Modern language supporting procedural and object oriented development.
  • Used to create games, business, multimedia and system tools.

Pawn

  • A simple, typeless, 32bit scripting language with a C-like syntax.
  • Designed for game development and modding but usable for general purposes.
  • Makes it easy to embed and extend games written in C and C++.

Squirrel

  • A high level, imperative, object-oriented programming language designed for games.
  • Can be plugged into apps and game engines like UE4, Unity, Anura and Oxygine.
  • Used by AAA titles like League of Legends, Age of Empires Online and more.

Game Maker Language (GML)

  • The built-in scripting language behind GameMaker Studio by YoYoGames.
  • Easy to learn thanks to English-like syntax.
  • Enables quickly making 2D games across desktop, mobile and consoles.

ROBLOX Lua

https://www.youtube.com/watch?app=desktop&v=AasMIl8udtI
  • ROBLOX’s customized version of Lua for creating games and experiences in ROBLOX Studio.
  • Changes from standard Lua to improve security for the online community.
  • Enables ROBLOX’s user generated gaming content model.


Leave a comment

About Me

I’m always on the lookout for fresh learning materials. Whether it’s blogging, data science, productivity, personal growth, AI, or coding. If that piques your interest, sign up for my Newsletter and connect with me on social media to stay updated!
(ノ◕ヮ◕)ノ*:・゚✧


Newsletter

Blog at WordPress.com.

Discover more from The Coder's Catnip

Subscribe now to keep reading and get access to the full archive.

Continue reading