You can talk to a computer in English, Spanish, Mandarin Chinese or any other spoken or written language, but it won’t understand. Computers need more precise instructions. That’s what programming languages are for, and an Elizabethtown College professor is working with students to develop a safer, more efficient one.
Barry Wittman, associate professor of computer science at E-town, began designing a programming language in August 2009. The Shadow language draws from established programming languages such as C++ and Java, but Shadow—he can’t recall the origin of language’s name—combines the speed of C++ with the safety of Java to create a fast, safe object-oriented language.
I really think it would be great for video game development.”
Creating a programming language, Wittman said, is a much smaller endeavor than developing a natural human language. Programming involves black-and-white factors and leaves out linguistic elements such as similes, innuendo and double-meanings, which, literally, don’t compute.
Besides utilizing elements from other languages, Shadow is an open-source project, allowing any coder with internet access to work on its compiler and pinpoint bugs.
Some of these developers are Wittman’s students. Senior computer science major Brian Stottler was invited to help develop Shadow while taking one of Wittman’s classes. “I was interested in participating because it seemed like an interesting project, a good way to get programming experience and a nice research opportunity for the summer,” Stottler said.
In 2015 the senior completed an E-town Summer Scholarship, Creative Arts and Research Projects program by developing a documentation tool for Shadow called Shadox. It’s a way to process source code and make the language more accessible, he said. Stottler also wrote a series of tutorials for the language’s official website.
The entire process was a challenging learning experience, he said. “There’s a big difference between writing a short, simple piece of code … and then writing an entire application that has a bunch of interlocking components that have to work together.”
Despite the difficulty of the project, he said he found the experience rewarding because it served as a “crash course in software engineering and development.”
It’s been almost 10 years since Shadow’s inception, and Wittman joked that he would probably be working on Shadow for “the rest of my life.” The latest beta version of the language’s compiler was published July 28, 2017. With a bit of marketing, Wittman said, Shadow could be a useful language for databases, web servers and web browsers. Noting the importance of speed, Wittman addedd, “I really think it would be great for video game development.”
With the beta stage nearing its end and open-source developers gathering to assist in Shadow’s evolution, it’s only a matter of time before more computer programmers come to the dark side.