Skip to main content

Learning to Code: Selecting a Language

If you decide that learning computer programming offers students much needed critical thinking (and job) skills, then the next question is which language(s) should be taught to which students.

Computer programming changes, so any opinion I offer will be bad advice in a few years. What I offer below are my views at this moment, and they reflect my biases as a programmer.

Suggestion One: C

It's not flashy, it's not trendy, and it isn't the first choice of most programming courses. Yet, C is the language of operating systems, programmable controllers, and a lot of portable logic. When you learn C, it's easy to transport those skills to almost any modern language.

C compilers are free, there are many integrated development environments (IDEs), and lots of resources are available for learning. You can code C in any text editor, too, and compile from a command line.

For OS X and Windows, I suggest using the tools from Apple and Microsoft to learn C, C++, and either Objective-C or C#. Microsoft offers VisualStudio Express for free, as does Apple.


The LLVM Project offers great C/C++ tools, but they do require some skill to install and configure. The GNU Compiler Collection is older and better known than LLVM, serving as the foundation for many open source projects.


If you do opt for open source tools, the two most popular IDEs are Eclipse and Netbeans. Originally intended for Java development, both IDEs offer good C/C++ programming experiences. And, if you feel the need to learn Java, these are the tools professional Java developers prefer.


Suggestion Two: JavaScript

This won't be a popular suggestion among many programmers, but JavaScript remains an important language on the World Wide Web and its basic syntax teaches skills that transfer. With Apple's recent announcement that JavaScript will replace AppleScript as its primary operating system "scripting" language, there's one more reason to learn the language.

JavaScript (officially ECMAScript) has the benefit of working in all major browsers, on all major computing platforms. If you have a text editor and a browser, you can learn to code JavaScript. It's free and it is everywhere.

Why would I suggest JavaScript, an interpreted language with some annoyances? Because if you want to develop modern Web apps, you will end up using JavaScript.

There are many tutorials on the Web for learning JavaScript, and dozens of good free books.


Other Possibilities

I still like BASIC dialects for teaching programming to young students.


Visual Basic for Applications (VBA) in Microsoft Office is still valuable, but falling out of favor as more companies disable macros. I understand the security concerns, but VBA makes Excel and Access what they are. Complex Word macros in VBA are also part of my life.

For younger students, MIT still offers versions of LOGO that are fun.


Apple's Swift looks promising. It's still not finished, but there are free books and guides online from Apple.

Java is fine, and as mentioned above the tools are free.

What about Ruby, Python, or PHP? Scripting languages offer instant satisfaction, a lot like BASIC did in the dark ages of home computing. If you have to choose one, I'd be torn between Python and Ruby. Most of my students learn Python and use it with R for statistical analyses.

I still believe Pascal was great for learning. And my wife and I both learned Fortran in the 1980s.

There are hundreds of computer programming languages out there, but in the end the tools provided by Microsoft and Apple tend to dominate the industry.

Comments

Popular posts from this blog

Comic Sans Is (Generally) Lousy: Letters and Reading Challenges

Specimen of the typeface Comic Sans. (Photo credit: Wikipedia) Personally, I support everyone being able to type and read in whatever typefaces individuals prefer. If you like Comic Sans, then change the font while you type or read online content. If you like Helvetica, use that.

The digital world is not print. You can change typefaces. You can change their sizes. You can change colors. There is no reason to argue over what you use to type or to read as long as I can use typefaces that I like.

Now, as a design researcher? I'll tell you that type matters a lot to both the biological act of reading and the psychological act of constructing meaning. Statistically, there are "better" and "worse" type for conveying messages. There are also typefaces that are more legible and more readable. Sometimes, legibility does not help readability, either, as a type with overly distinct letters (legibility) can hinder word shapes and decoding (readability).

One of the co…

Let’s Make a Movie: Digital Filmmaking on a Budget

Film camera collection. (Photo credit: Wikipedia) Visalia Direct: Virtual Valley
June 5, 2015 Deadline
July 2015 Issue

Every weekend a small group of filmmakers I know make at least one three-minute movie and share the short film on their YouTube channel, 3X7 Films.

Inspired by the 48-Hour Film Project (48hourfilm.com), my colleagues started to joke about entering a 48-hour contest each month. Someone suggested that it might be possible to make a three-minute movie every week. Soon, 3X7 Films was launched as a Facebook group and members started to assemble teams to make movies.

The 48-Hour Film Project, also known as 48HFP, launched in 2001 by Mark Ruppert. He convinced some colleagues in Washington, D.C., that they could make a movie in 48 hours. The idea became a friendly competition. Fifteen years later, 48HFP is an international phenomenon, with competitions in cities around the world. Regional winners compete in national and international festivals.

On a Friday night, teams gathe…

Edutainment: Move Beyond Entertaining, to Learning

A drawing made in Tux Paint using various brushes and the Paint tool. (Photo credit: Wikipedia) Visalia Direct: Virtual Valley
November 2, 2015 Deadline
December 2015 Issue

Randomly clicking on letters, the young boy I was watching play an educational game “won” each level. He paid no attention to the letters themselves. His focus was on the dancing aliens at the end of each alphabet invasion.

Situations like this occur in classrooms and homes every day. Technology appeals to parents, politicians and some educators as a path towards more effective teaching. We often bring technology into our schools and homes, imagining the latest gadgets and software will magically transfer skills and information to our children.

This school year, I left teaching business communications to return to my doctoral specialty in education, technology and language development. As a board member of an autism-related charity, I speak to groups on how technology both helps and hinders special education. Busin…