Programming
Languages are multiple puzzle pieces of the fundamentals of information
technology. Programming languages are kind of like verbal languages. People
communicate thoughts and actions to other people, and people communicate instructions
for tasks and actions to computers. There are thousands of programming
languages; however, some languages are more common than others, depending on
the instructions needed to complete tasks and actions. According to Vahid (2017),
without programming languages or instructions, information technology could not
communicate to computer hardware components, routers, servers, and other
devices that understand machine language (section 9). Humans can learn and
understand programming language, and computers can use complier software to
convert programming language to machine language to complete tasks over and
over again correctly.
Computer
science and information technology, throughout history, have used some type of
computer programming language for operation. From the use of punch hole cards
fed into a machine to input data or a keyboard entering characters and
converted to 0’s and 1’s to represent switches on or off, those machines and
electronic devices operate. The instructions written by programmers are stored
on storage devices for retrieval when instruction for operation is needed.
Different
programming languages are written for the major hardware components and
functions of modern computer systems. Ahmed (2021) explains that programming
languages like C, C++, Java, JavaScript, Python, and R are some of the main
languages utilized for ease of use, reliability, and best conversion to machine
language with the best results (para 3). Many languages are written mainly for
humans to understand the language and the speed and accuracy of converting to
machine language to complete a task or action in a fast and reliable way. There
are many ways you could instruct a person to complete a task, and the same
applies to telling a computer to do something. If the person and the computer
complete the task precisely as instructed, the time and accuracy are dependent
on the programming received. Some languages can convert to machine language
fast and use functions to prevent repeating the same set of instructions which
slows operation speed. For example, I could instruct you to take a step, take a
step, take a step, take a step, take a step, take a step, take a step, take a
step, take a step, and take a step or In a programming language; I could create
a function called Step. When I instruct the computer to call the function Step
10 times less code is needed, and the speed of operation is faster.
Modern
programming languages and program execution methods are moving toward energy
efficiency. Older hardware and systems used programming language focused on
operating the hardware or application and not on how much power usage may be
required to operate. Mahadevappa (2021) explains how modern devices use
applications that drain battery life quickly. Programming languages written to
complete tasks without unnecessary power will keep us operating longer and save
energy resources. Some operating systems run applications fast but require too
much power. Operating systems programmed with efficiency will be equal to or
better in speed with less use of resources (para II). Programming language
technics will use memory components, hardware, and software to maximize the
performance needed for now and the future.
Application
software is developed to meet the needs and wants of consumers. Staniloiu (2021)
explains consumers are demanding that applications have more security-focused
and memory-safe programming languages rather than performance-based. Program
libraries are needed to prevent memory leaks and refresh applications to
prevent bugs or errors in operation (para I). Zhang (2021) studied significant
programming languages to determine which worked best with bug resolution; some
languages like Java took less time to resolve errors than others like Ruby (Para
9). Applications that are quick to fix and with protection-focused programming will
ensure a safe and enjoyable environment.
Database
programming languages like SQL, C, C++, and others relate to the basic concepts
of database and database management in different ways. Databases contain
priceless amounts of information that must be protected and accessed by clients
quickly and safely. Nitu (2021) explains that memory corruption and security
holes are major issues and can be reduced by adequately written programing
languages that eliminate possible errors or bugs that hackers try to exploit
(Para I-V). Programmers are now focusing on efficiency, conciseness, and
security.
Figure 1 Staniloiu (2021) shows a method
for programmers to ensure information is secure and accessible to authorized users
(Para II). Security is vital to provide a safe information technology
environment.
Network
architecture, management, and security are changing the methods of programming
languages. Bergmans (2021) shows that applications and operating systems programmed
with conciseness and consistency are more manageable for programmers to update
and control a clean structure and safe embedded platform (para VII).
Programming languages are only as good as the programmers that use them. Eliasen
(2018) talks about how programming languages are taught starting with the easy
ideas first. He shows how students learn Java in his class. “The course is
structured like so:
1.
Variables and types
2.
If/else statements
3.
Loops
4.
Arrays
5.
Methods
6.
Objects and classes
This structure is bottom-up” (Eliasen, 2018).
He explains that the issue is
students have trouble learning when they are learning new tool usage but do not
understand why they exist. He shows, “Instead, programming should be taught
top-down, like so:
1.
What is an object?
2.
What is state? What is behavior?
3.
How do we represent the state and behavior of an
object?
There are two reasons this
structure is superior. First of all, it puts the student in the object-oriented
mindset from the start. This allows the student to tie every new thing they
learn back to the idea of an object instead of being forced to cram a bunch of
random things they have learned into an object. Psychology teaches us that we
learn best when we are able to connect the ideas we are learning to something
we are already familiar with“ (Eliasen, 2018). Understanding the best
programming methods for operating systems, applications, and other essential operatives
will result in the best output for our future.
References
Ahmed, Z., Kinjol, F. J., &
Ananya, I. J. (2021). Comparative Analysis of Six Programming Languages Based
on Readability, Writability, and Reliability. 2021 24th International
Conference on Computer and Information Technology (ICCIT), Computer and
Information Technology (ICCIT), 2021 24th International Conference On, 1–6.
https://doi.org/10.1109/ICCIT54785.2021.9689813
Bergmans,
L., Schrijen, X., Ouwehand, E., & Bruntink, M. (2021). Measuring source
code conciseness across programming languages using compression. 2021
IEEE 21st International Working Conference on Source Code Analysis and
Manipulation (SCAM), Source Code Analysis and Manipulation (SCAM), 2021 IEEE
21st International Working Conference on, SCAM, 47–57.
https://doi.org/10.1109/SCAM52516.2021.00015
Eliasen,
D. 2018 October 22) Programming Is Taught in Exactly the Wrong Way. Retrieved from
https://medium.com/s/story/programming-is-taught-in-exactly-the-wrong-way-7c88181daa96
Limbüchler,
T. (2020 December 11) Top in-demand programming languages to learn in 2021Retreived
from https://www.wearedevelopers.com/magazine/top-programming-languages-to-learn
Mahadevappa,
S., & Figueira, S. (2021). Energy-Efficient Programming Languages for
Mobile Applications. 2021 IEEE Global Humanitarian Technology
Conference (GHTC), Global Humanitarian Technology Conference (GHTC), 2021 IEEE,
33–38. https://doi.org/10.1109/GHTC53159.2021.9612479
Nitu, R., Staniloiu, E.,
Done, C., & Rughinis, R. (2021). Security Audit for the D Programming
Language. 2021 20th RoEduNet Conference: Networking in Education and
Research (RoEduNet), RoEduNet Conference: Networking in Education and Research
(RoEduNet), 2021 20th, 1–6.
https://doi.org/10.1109/RoEduNet54112.2021.9638292
Staniloiu, E., Nitu, R., Aron, R.,
& Rughinis, R. (2021). Extending Client-Server API Support for Memory Safe
Programming Languages. 2021 20th RoEduNet Conference: Networking in
Education and Research (RoEduNet), RoEduNet Conference: Networking in Education
and Research (RoEduNet), 2021 20th, 1–5.
https://doi.org/10.1109/RoEduNet54112.2021.9638294
Vahid,
F., & Lysecky, S. (2017). Computing
technology for all. Retrieved from zybooks.zyante.com/
Zhang,
J. M., Li, F., Hao, D., Wang, M., Tang, H., Zhang, L., & Harman, M. (2021).
A Study of Bug Resolution Characteristics in Popular Programming
Languages. IEEE Transactions on Software Engineering, Software
Engineering, IEEE Transactions on, IIEEE Trans. Software Eng, 47(12),
2684–2697. https://doi.org/10.1109/TSE.2019.2961897