Tech Topic

The technological topic I have selected is programming language. Although I have worked with programming languages in the past, I feel there is always something to learn regarding the hundreds of languages available nowadays. Specifically, I wish to learn more about what differentiates the many languages we have today. I have some high-level ideas about the differences between some of the modern languages, such as how Java is typically used for platform independence, Python is generally used in machine learning and scripting, JavaScript is usually used for web development (specifically the backend, although it has many frontend frameworks), and so on, but that is only a part of the whole picture. Researching more on programming languages, such as why they were made, what they are used for now, and why the languages are used for what they are used for, can help me better grasp general programming concepts.

As we have learned in class, programming languages have evolved from their roots of machine language, which uses strictly binary to represent instructions for the CPU, to assembly, which uses aliases for the instructions to help the programmers read the programs easier, to higher level languages, which use very readable and abstracted aliases and keywords to create programs (Vahid et al., 2015/2019). High-level languages can be divided into many genres, some of the most basic being object-oriented, imperative languages, declarative languages, functional languages, and more (Maura, 2018). With well over 150 major programming languages, there are many types and genres of programming (TIOBE, 2024).

Connection to Fundamentals of Information Technology

Programming languages are sets of instructions that tell the computers how to do what the end user wishes to accomplish. Because of how intertwined computers are with information technology as a whole, programming languages are crucial frameworks for application development, networking protocols, operating system creation and maintenance, security, and general computational concepts. Without programming languages, the ability to instruct the computer on what needs to be done would rely heavily on machine language and binary; the lack of standardized libraries, aliases for instructions, and compiler syntax protections/checks would significantly slow down the development of all other blocks that are built on the foundation of programming languages.

Where Do Programming Languages Fit in Computer History?

Even in the early days before modern computers, inventions such as the Jacquard Loom in 1807 used a series of punched cards to instruct the machine on what patterns to use for the textiles (Vahid et al., 2015/2019). Although the punched cards were not a programming language, per se, they laid the foundation for instructing the computer to perform its duties, which would eventually evolve into programming. It was not until the 1830s and 1840s that we would hear the term "computer programmer," often attributed to Ada Lovelace. Programming evolved as the computer evolved, becoming significantly more complex over time. What started as patterns of 1s and 0s evolved into assembly, procedure-oriented languages, compiled languages, interpreted languages, and even object-oriented languages (Maura, 2018).

How Do Programming Languages Utilize Hardware?

Due to how core programming is to computers, programming languages typically tell the computer or operating system how to interface with additional hardware components. Without drivers and BIOS, both of which use programming languages, the computer would not even know the existence of the additional hardware despite it being plugged in correctly. Depending on the programmer and the program, program execution methods may be complex or relatively simple.

How Do Programming Languages Affect Other Applications?

Programming languages are used to create applications, interact with databases, receive user input, and display outputs. Programming languages are the building blocks software engineers use to create their applications; a program, for example, can receive text input from a user at a keyboard, translate the text into an SQL call to update a database, and reply to the user that the operation was successful. Programs can even utilize internet protocols to issue commands to remote servers far away, relying on the setup of the network architecture to send its communication successfully. Programs can even define security measures to prevent unauthorized users from accessing sensitive information; with programming languages, the limits of what can be created are the hardware and the programmer's creativity.

References


Maura, V. (2018). Programming languages. Salem Press Encyclopedia of Science. https://search.ebscohost.com/login.aspx?direct=true&AuthType=shib&db=ers&AN=127890462&site=eds-live&scope=site&custid=s8856897

TIOBE. (2024). TIOBE Index | TIOBE - The Software Quality Company. Tiobe.com. https://www.tiobe.com/tiobe-index/

Vahid, F., Lysecky, S., Wheatland, N., & Siu, R. (2019). TEC 101: Fundamentals of Information Technology & Literacy (8th ed.). zyBooks. https://learn.zybooks.com/zybook/TEC101:_Fundamentals_of_Information_Technology_&_Literacy_(TED2412A) (Original work published 2015)

Comments