History of Programming Languages: C Language, BASIC and Beyond

From the original computer to coding for kids, colleges have always been in the arena of computer science.

Universities are no strangers to innovating with technology. EdTech wouldn’t exist if that weren’t true. But colleges were truly at the forefront when it came to the development of computer science.

Way back in 1946, the first general-purpose computer — called the Electronic Numerical Integrator and Computer — was invented by John W. Mauchly and J. Presper Eckert, Jr., two professors at the University of Pennsylvania.

“When fully operational, ENIAC occupied a room 30 by 50 feet in size and weighed 30 tons,” reads the history of the computer on Penn's website. This development not only marked a big first in the history of computing as we see it today, it helped set the precedent of universities as leaders in computer science innovation.

BASIC Sparks the Advent of Programming Education

Long before former President Barack Obama declared that computer science education should be available for all, a pair of Dartmouth College mathematicians created a new computer language that would enable greater access to computer programming. This language became the standard for computer programmers for the next decade.

BASIC, a computer coding language designed by John George Kemeny and Tom Kurtzas in 1963, was initially invented to more easily teach programming to undergraduatesreports ThoughtCo. “BASIC was intended to be a computer language for generalists to use to unlock the power of the computer in business and other realms of academia,” reads the article.

ThoughtCo. reports that until very recently BASIC, which flourished after the creation of PCs, was the most well-known computer language among programmers. But that was never the intention of the professors.

“We were thinking only of Dartmouth,” says Kurtz in a TIME article. “We needed a language that could be ‘taught’ to virtually all students (and faculty) without their having to take a course.”

The Rise of Pascal, C Programming, C++ and More

After BASIC, in the early 1970s, Niklaus Wirth developed Pascal, another language meant to solely be a tool to teach students computer programming concepts.

“This language was not really developed to be used for anything other than teaching students the basics of programming, after all it was originally developed for this purpose,” reads a history of the language. Until the early 1990s, the site notes, Pascal was the “language of choice” at many colleges and universities for teaching programming techniques

As computer technology continued to advance, the need for more complex programming languages surfaced. Academia and business moved away from BASIC and Pascal to languages like C and C++, which were developed by those in the tech industry.

But forward-thinkers like Wirth set the stage for higher education to be at the forefront of training students in computer programming.

“Clearly universities have had an enormous role in teaching people to program,” says Michael Hicks, a computer science professor at the University of Maryland and a programming language blogger. “So, while people still do learn to program on their own, I think today programming is largely taught at universities.”

Many universities have stepped up to make sure that students are getting the 21st-century skills they need for IT fields by supporting boot camps that make coding accessible to all students. But some students can be left behind if they don’t have any programming experience. Thus, the need for different types of introductory classes has emerged.

Next fall, UMD will offer students a new twist on computer programming. Assistant computer science professor David Van Horn will teach an experimental introductory course that will utilize teaching languages to help students get a better foundational understanding of how to code, rather than dropping them into an industrial language.

“To reach more students, we’re trying to make a more accessible path to a computer science degree,” says Van Horn. “A big part of that is using languages that are more suited for beginner programmers. We have a path that ramps up, so by the end of the first year, students are using one of those industrial languages.”

Universities and the Future of Programming

Some universities haven’t stopped innovating when it comes to creating the languages themselves.

Just over a decade ago, the Massachusetts Institute of Technology created a programming language to make it easy for young learners to understand computer programming concepts.

Scratch, a very popular and free drag-and-drop programming tool for children aged 8 through 16, allows kids to use computer programming elements to create animations, games and interactive stories, reports an article about the Scratch anniversary.

“We’re really excited about the way Scratch has enabled kids around the world to experiment, explore, and express themselves with computational tools,” says Mitchel Resnick, the head of MIT Media Lab’s Lifelong Kindergarten.

Today, MIT reports that it has 20 researchers working on the latest version of Scratch, which will be better suited to mobile devices like tablets and smartphones.

Though this type of strict invention in computer programming is no longer commonplace at a lot of universities, Hicks points out that colleges are still quite influential in sparking change within the industry.

“One example of this is automatic memory management, or garbage collection. It was a concept developed at a university in the 1960s, but wasn’t a widely used part of programming languages until the 1990s. Basically, every language does it now,” says Hicks.

Unlike companies, which have strict bottom lines to meet, Hicks says that universities have total freedom to explore the limits of programming.

“Universities aren’t hampered by legacy code and software systems. We are training the next batch of programmers,” says Hicks. “It makes sense for universities to continually ask questions like, how could we do things better, how can we make programmers more productive and how can we make software perform better?”

Jun 23 2017