One IT expert and educator discusses the how and why of choosing the right programming language
“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.” -John Woods
Way back in the 1970s, working as a computer programmer was quite prestigious, and if you wanted to get into computer programming, your potential employer would more often than not put you through a batch of aptitude tests in order to determine your suitability: even if you had a degree.
Nowadays, programming is more widespread and you don’t need a degree to be a programmer; it’s no longer mainly for scientists and engineers: students studying the humanities, English as a foreign language students, people building websites, and a whole host of other folks are learning to program. This non-technical article will give you novices [non-expert instructors] out there some basic guidance in choosing a programming language that is appropriate not only for your students’ needs, but for faculty and staff interested in online basics.
The most important question on people’s minds will probably be, “What programming language(s) do I need to learn?”
In order to answer this question, a personal PAL (Purpose, Ability, and Level) should be able to help. A person’s PAL will guide him or her through the complex maze of programming languages so that he or she can find the most suitable one(s):
Purpose: What you need to do, will determine what programming language(s) you need to learn. It is of the utmost importance that your purpose is correctly served by the use of an appropriate programming language: choosing the wrong one may result in a program that is wholly unsuitable for your purposes–as well as wasted hours of code writing.
Ability: If you aren’t especially logically wired, avoid learning difficult programming languages. If you are faced with choosing from several almost equally appropriate programming languages–always go for the one(s) that are most appropriate for your ability–otherwise, you’ll soon discover that “Profanity is the one language all programmers know best.”
Level: Make sure that the chosen programming language is at a suitable level of complexity and appropriateness. You wouldn’t try to teach calculus to kids at grade school–so don’t select programming languages that are either excessively complex or inappropriate for your students’ level of maturity and education. Let’s now look at some specific situations…
(Next page: the top 20 languages and when to choose them)
According to the prestigious IEEE (Institute of Electrical and Electronics Engineers), the top twenty programming languages to learn right now are as follows:
- C# (pronounced C-sharp)
- MATLAB (matrix laboratory)
- Visual Basic
Programming for beginners/young students
Programming languages can be taught to beginning students—especially kids. Here are three programming languages worth considering:
Turtle Art : “Turtle Art is an activity with a Logo-inspired graphical ‘turtle’ that draws colorful art based on Scratch-like snap-together visual programming elements.”
Scratch : Scratch allows children to program their own interactive stories, games, and animations; these can be shared online with other users.
Tynker : Beginners can learn the basics of programming or coding games with this programming language.
(Next page: programming languages for middle school and beyond)
Programming for middle and high school kids
VBScript  (Visual Basic Scripting Edition) is a programming language developed by Microsoft that is modeled on Visual Basic: this will probably be the first formal programming language learned. You, as a teacher, should also learn it!
Building a website for business, pleasure, or education
If you, or a student, are interested in building a website, you will need to know the following programming languages:
HTML (Hypertext Markup Language). HTML is an example of a Markup language: the programming language that is used to write the code for your website: currently HTML5.
CSS (Cascading Style Sheets). This is the programming language used for describing the web pages written in a Markup language. It controls the actual appearance of the web pages that you see when you visit a website.
You might also like to look at one of the following programming languages: PHP (Hypertext Preprocessor), Ruby, or Python. Incidentally, it is said that Python is currently the most popular language for teaching introductory courses in computer science at top-ranked U.S. university departments.
Incidentally, building an educational website can be a great tool for teaching English as a foreign language , humanities students, and other foreign language students: it shouldn’t be thought that websites are only for sciences and math students. Build your own website and use it for setting online homework, multiple choice tests, and quizzes – include a students’ blog and then sit back and watch your students enjoy it.
Building a website may seem challenging, but it’s not as difficult as it seems. HTML is, comparatively speaking, an easy language to learn; furthermore, CSS code can be mastered with a little bit of perseverance, and jQuery is well worth learning to use.
(Next page: when to pick COBOL, SQL, C, and more)
Programming for business
If a student is interested in becoming a programmer in the business world, two programming languages to become familiar with are:
COBOL (Common Business Oriented Language) is used for payroll, accounting, and other business application programs.
SQL (Structured Query Language – for databases) is a specially designed programming language for managing data in relational database management systems; it is mainly used for its ‘Query’ function, which is used to search informational databases.
Programming for academia, education, research and industry
If you as a faculty or IT member are involved in research, education, or industry:
MATLAB (matrix laboratory) is widely used in all fields of applied mathematics, in academia, education, research, and in industry. As a programming language, it is one of the easiest for writing mathematical programs.
C languages (C, C++, C#, Objective-C) one or more of these general-purpose programming languages are well worth knowing, wherever you go.
Frank Evans is a British mathematician, information technologist, translator (Greek-English), and EFL/ESL teacher.