By Brenden Bobby
Reader Columnist
I never intended to leave you hanging again, dear reader. Fortunately, Ben had my back and managed to crank out an awesome article on very short notice last week! Fortunately, I wasn’t sick this time, but on vacation, where I managed to soak up a bunch of fun science and history facts for another article.
Have you ever wondered what makes your computer work? How is it that a mass of metal, silicone and copper wires produces images of cats puking up rainbows or giving you a preview of what you may look like in 60 years?
There are a lot of layers to this, like an electronic tiramisu, but at its heart are programming languages. A programming language is a means for humans to communicate what they need a computer to accomplish in a way that makes sense for the human, while also executing operations on the machine. Behind your simple call of, “Alexa, find me pizza,” is a host of machine language meticulously designed by software engineers.
How does the machine understand our words?
Let’s start at the beginning.
In 1822, Charles Babbage developed the difference engine, the first true mechanical computer the world had ever seen. The programming language used by the difference engine was sets of physical gears that would be swapped out of the machine to perform specific algorithmic tasks. The input was literally Babbage putting gears in the device. The gears would interact in a specific way with other gears, such as turning them a preset number of spaces, to produce a result to an equation, which was the output. You wouldn’t get any funny cat videos pouring out of the difference engine, but it meant that a mathematician wouldn’t have to spend time memorizing something, or writing something down when a machine could do it for them.
Computers as we know them now wouldn’t appear until well over a century later. One of these first electronic computers was the ENIAC, the Electronic Numerical Integrator and Computer, developed by the United States government and completed in 1945. Instead of mechanical gears, the ENIAC had a number of electronic switchboards. Operators would flip switches to on or off positions based on what needed to be input into the machine, essentially a form of binary code that all digital computers operate on in some capacity to this day. ENIAC was used to calculate artillery trajectories by the U.S. military, though the usefulness of being able to quickly calculate large and difficult equations wasn’t restricted to just this task. The groundwork laid by ENIAC would prove to be vital when it came to sending humans to space.
As you can imagine, flipping switches and typing in vast quantities of 0’s and 1’s is a time-consuming affair. What’s the purpose of solving a huge equation if someone can still write it down faster than you can punch it into a machine? This is where things called scripts come into play. Scripts are a set of commands for a computer that tells it to perform a specific number of tasks, often consolidating other tasks into the process to speed everything up. Instead of punching in a huge swath of binary code every time you need to solve an equation, run a script that does the repetitive part for you. Within the script, you can even account for variables that change the outcome.
Being able to automate the foundation of programming languages gives humans more time to create more advanced programs and develop technology rapidly. As is true of everything I pack into a few hundred words every week, this is a massive oversimplification and not meant to be viewed as the whole picture.
There are a large number of programming languages out there, though some you may have heard of are Java, C, C++, C#, HTML and Python. There are several books at the library that give you an intro to many of these if you’re hoping to learn on your own.
Some programming languages even use a visual interface that allows you link blocks of text together to create code. Not having to type your code means no worries about typos jamming everything up.
Did you know that the library is starting two Girls Who Code groups for after school? Girls Who Code is an initiative to get more females involved in STEM by giving them a foundation in coding. More women in careers that require computer programming means better representation for women everywhere. Large companies depend on the technology sector for virtually everything, from logistics to marketing, which means the voices of those in technology are heard the loudest.Technology has largely been a white male’s club for quite some time, and giving girls access at a young age to the tools they need to succeed can help change that.
If you, or a girl you know, are interested in joining one of the library’s afterschool Girls Who Code clubs, you can email me for registration information at [email protected].
One group is for girls in the third-fifth grade, and the other is for girls in sixth-12th grade. You don’t need to have any experience in coding in order to join.
The library has a few more coding-related programs in the pipeline, so keep your eyes peeled for more information in the next few months.
Stay curious, 7B.
While we have you ...
... if you appreciate that access to the news, opinion, humor, entertainment and cultural reporting in the Sandpoint Reader is freely available in our print newspaper as well as here on our website, we have a favor to ask. The Reader is locally owned and free of the large corporate, big-money influence that affects so much of the media today. We're supported entirely by our valued advertisers and readers. We're committed to continued free access to our paper and our website here with NO PAYWALL - period. But of course, it does cost money to produce the Reader. If you're a reader who appreciates the value of an independent, local news source, we hope you'll consider a voluntary contribution. You can help support the Reader for as little as $1.
You can contribute at either Paypal or Patreon.
Contribute at Patreon Contribute at Paypal