Tech Topic Connection: 

 

 

 

 

 

Week 5 Assignment 1:  Post 7:  Tech Topic Connection

Aaron Bicknell

INT100: Fundamentals of Information Technology & Literacy

Prof. John Santorio

September 20, 2021


 

 

The topic that I have selected for this blog post is programming languages.  In a previous post, I have provided some background on programming languages in general.  The other posts here have centered on other tech topics such as hardware, software, network topology, and digital security.  Out of all these topics, programming languages are what tie all these topics together and allow us to use computers as tools in our day-to-day lives.  Programming languages allow us to create the software packages that we use to interface with these machines.  They are the tools that tell the computers what to do by turning switches on and off.  These switches store data.  They also send data over networks to share with others. The switches are also used to move data through processors to perform functions.  Communication with software drivers sending this digital information through hardware interrupts and channels allows us to interact visually and through sound.  Programming languages date back to the origins of computers.  On a base level, using machine and assembly languages, we can create these functions.

“Early programmers entered a program into a computer as 0's and 1's by manually connecting wires or configuring switches” (Vahid & Lysecky 2017).  On a higher level, we can use languages that translate ones and zeros and hex into the semblance of languages that we as humans can understand.  “CPUs run machine language programs consisting of 0's and 1's. Of course, humans don't easily think in 0's and 1's” (Vahid & Lysecky 2017).  Higher-level languages such as C, Java, and Python must use an assembler to translate human language into binary code that the machines will understand.  Once a program is written in a high-level language, it is then compiled into the ones and zeros that the computer understands, and once the program is executed, it then directs the machine to do what we intend.

The applications we use to interact with our computers, such as word processors, spreadsheets, presentation programs, and database apps, are all created with programming languages.  Some of these applications are advanced enough to support scripting. Although these scripts are not necessarily programming languages, they are related as scripting allows for executing logical functions and instructions within the applications.  These applications are what allow us, as users, to interact with machines in a meaningful way.

Programming languages can interact and interface with databases, making them powerful tools.  For example, “java compiler has been designed with a database connectivity kit known as Java Database Connectivity (JDBC) that lets programmers connect to a database, query it, or update it, using Structured Query Language or SQL” (Swain et al. 2002).  This design allows us to instruct computers to store our data and retrieve the information that we need.

There are many different programming languages available to us, and the number keeps growing.  Some are better than others; some are easier to learn, while others are more adept ad complex tasks.  The environment can dictate the languages that we use.  The need for security or working efficiently over a wide area network can all be deciding factors.  Some are easier to maintain, and some are more compatible across computing platforms.  For example, a study showed that Java outperformed C# in all the employed test scenarios. The possible reason for this is that Java uses a more advanced compiler as compared to C#” (Hassan & Sarhan. 2020).  This conclusion does not mean that we need to choose Java for all of our programming needs.  This study was based around graphical interfaces, but C-based systems are more efficient for calculations and sending control signals.  Even so, in the world of AI, Python is much nimbler.  All in all, the variety of programming languages available to us matches the many choices of operating systems, platforms, and uses that we have available to us.

We have come a long way from the first computers that were merely a series of switches.  We have added lights, bells, whistles, and then layered upon assembly language higher-level languages.  Additionally, we now have graphical interfaces that allow us to pick and choose and drag and drop functions from libraries to aid our program development.  Who knows what will be next to be added to our technology toolkit?  Already we have blocks languages that “can be another step in this progression as we build languages intended for anyone to solve problems, and by doing so make the language even more approachable” (Kelleher et al. 2017).

  

References 

Hassan, H. B., & Sarhan, Q. I. (2020). Performance Evaluation of Graphical User Interfaces in Java and C#. 2020 International Conference on Computer Science and Software Engineering (CSASE), Computer Science and Software Engineering (CSASE), 2020 International Conference On, 290–295. https://doi-org.proxy-library.ashford.edu/10.1109/CSASE48920.2020.9142075

Kelleher, C., Maloney, J., Medlock-Walton, P., Patton, E., & Wendel, D. (2017). Invited panel: The future of blocks programming. 2017 IEEE Blocks and Beyond Workshop (B&B), Blocks and Beyond Workshop (B&B), 2017 IEEE, 99–101. https://doi-org.proxy-library.ashford.edu/10.1109/BLOCKS.2017.8120421

Swain, M., Anderson, J. A., Korrapati, R., & Swain, N. K. (2002). Database programming using Java. Proceedings IEEE SoutheastCon 2002 (Cat. No.02CH37283), SoutheastCon, 2002. Proceedings IEEE, SoutheastCon 2002, 220–225. https://doi-org.proxy-library.ashford.edu/10.1109/SECON.2002.995590

Vahid, F., & Lysecky, S. (2017). Computing technology for all. Retrieved from zybooks.zyante.com/

 


Comments

Popular posts from this blog

CPT304: Week 5 Final Project: Blog Post