blue screen of death in silver black laptop
Photo by Markus Spiske temporausch.com on Pexels.com

In this Age of Technology, a working knowledge of computer programming is becoming more and more essential for career success, regardless of the field you enter. Many companies today favor employee candidates who have programming experience.

Since the first programming language FORTRAN (FORmula TRANslating System), developed in 1954 by a team at IBM, dozens of programming languages running on different programming paradigms have surfaced to serve a variety of purposes. The most popular languages (ordered alphabetically, not according to prevalence or importance) are C#, Java, JavaScript, Objective-C, PHP, Python, Ruby, and SQL.

Most colleges now offer courses in computer programming, but you don’t need to enroll in an expensive college course to learn how to program. Online resources abound to explore the basics of a wide range of coding languages. The resources listed below are all free with no sign up required unless otherwise noted.

C# (C-sharp)

Developer: Microsoft
Type: Object-oriented
Purposes: Exchange information and services, app development (Microsoft’s “version” of Java)

  • Diploma in C# Programming – Step-by-step instruction in using C# in the Visual Express Integrated Development Environment (IDE) (sign up required)
  • Learn C# – From “Hello, World!” code to class properties, these interactive lessons cover the basics of C#
  • .NET Fiddle – Test your C# code here

Java

Developer: Sun Microsystems, owned by Oracle Corporation
Type: Object-oriented
Purposes: App development

  • Java for Complete Beginners – Video lectures designed for beginners to master the basics of the Java programming language (sign up required)
  • Java Programming Basics – An approximately 6-week, self-paced course that starts by teaching you the “background” to programming languages, then progresses through foundational Java programming skills
  • Java Tutorial – 65 lessons on basic concepts, conditionals and loops, arrays, and more Java elements (sign up required)

JavaScript

Developer:  Netscape Communications Corporation, Mozilla Foundation, & Ecma International
Type: Multi-paradigm (imperative, procedural, object-oriented, functional)
Purposes: Web development (client side scripting, written into an HTML webpage)

  • Intro to JS: Drawing & Animation – Khan Academy walkthrough videos and practice assignments to learn how to draw and animate images
  • JavaScript Introduction – A free, self-paced course from edX that teaches the basics of using JS in your website (sign up required; add $99 for a verified certificate)
  • Learn-JS.org – An interactive tutorial covering both basic and advanced topics

Objective-C

Developer:  Apple
Type: Object-oriented
Purposes: iOS and OS X app development

PHP

Developer:  Zend Technologies
Type: Multi-paradigm (imperative, procedural, object-oriented, functional, reflective)
Purposes: Web development (server-side, dynamic content on a webpage)

  • Object-Oriented PHP – Easy-to-understand, concise tutorials and coding exercises to gain a better understanding of object-oriented programming
  • PHP Fundamentals – A course on the foundations of PHP in a LAMP (Linux, Apache, MySQL, and PHP) environment (free trials; $35 monthly or $299 annual subscription)
  • PHP 5 Tutorial – Informative articles and plenty of examples that cover all PHP functions (add $95 for certification)

Python

Developer:  Python Software Foundation
Type: Multi-paradigm (imperative, procedural, object-oriented, functional, reflective)
Purposes: Desktop and web applications, data science, scripting

  • Learning Python: From Zero to Hero – A page that overviews the basic elements of Python and some ways to use them
  • Learn Python – Interactive lessons the fundamental programming concepts and the Python language (sign up required)
  • Learn Python the Hard Way – Over 52 videos with 12 hours worth of content and a PDF book on how to read and write basic Python ($29.99)

Ruby

Developer: Yukihiro Matsumoto
Type: Multi-paradigm (imperative, procedural, object-oriented, functional, reflective)
Purposes: Web development (mostly server-side)

  • Intro to Ruby – An accessible, easy 30+ hour course that teaches you the skills to build an object-oriented tic-tac-toe game (sign up required)
  • Pragmatic Studio Ruby Programming – A project-based video course on the language constructs, design principles, and other fundamentals of Ruby ($124 for beginning course, $249 for master package)
  • Ruby in Twenty Minutes – A quick introduction to the essential basics of Ruby, starting with the quintessential “Hello, World!” message

SQL (Structured Query Language)

Developer:  ISO/IEC
Type: Declarative
Purposes: Data management

 

What programming languages do you know or like to use? Do you know any other good resources to learn them?