Beruflich Dokumente
Kultur Dokumente
English 12 Period 2
5/23/2017
Research Essay
Exploring Programming
Programming is a critical reason for why every computerized device functions. From
FitBits to desktops and from iPhones to space shuttles, programming plays a significant role in
their functions. A world without programming is almost inconceivable to much of todays society.
Given the increasing prevalence of programming, wanting to learn more about its inner functions
is merely natural. Programmers today use a plethora of techniques as they attempt to optimize the
efficiency of each individual line of code and larger functions. Through my mentor, I explored
how programming languages work at their core, how multiple programming languages can
While there is a vast majority of computer languages, they all work similarly in a general
sense. Programming languages follow a general process where the code is executed in a compiler,
typically a program whose objective is to convert the code into binary. Binary is a combination of
zeros and ones that represent the tangible flow and absence of electrical current. Binary is the
most basic and necessary form of computer code as it features only two numbers and can be read
by any functional computer. Its simplicity and necessity are critical reasons for its prevalence. In
Java, the compiler transforms the code into bytecode, which is executable by the Java Virtual
Machine for its transformation into binary. The intermediary step of using bytecode may seem
unnecessary to the untrained eye, however, bytecodes are the machine language, [binary
equivalent], to the Java Virtual Machine and contribute to increased efficiency in producing
binary. Using an intermediary step is common practice for producing binary in most
programming languages and compilers because it decreases stress on the compiler, contributing to
greater efficiency. Binary and intermediary bytecodes are both different stages of the code-
refining process. Programming languages work at their core by using compilers who direct a
cascade of tasks to convert code into binary, which a computer can use to run a program.
As programs become large, programmers rescind from writing all of their code in one
language but rather in multiple. Different programming languages are best suited for different
tasks. Since all languages work differently, using a single programming language to implement
all aspects of the program may not be the best or most effective way to build the application.
With large programs, optimized resource allocation, which determines relatively how fast a
program will execute, is important to programmers because it can determine whether or not a
program sells on the marketplace. This process may seem complex to novice programmers, which
is partially accurate. Typically, the less complicated implementations are less efficient as the more
complicated implementations are more efficient. Supposing there is a large program with internal
files, Language A can dispense output into an internal file as Language B use the files contents
as input. In greater convolution, the Common Object Request Broker Architecture, or CORBA,
is a system that can allow communication between two different programming languages.
programming teams usually split up and divide who completes the required sections in the given
languages. Another team may determine and handle the means of multi-language implementation.
Implementing multiple programming languages in a single program has varied difficulty and
efficiency as certain languages are more optimal for certain tasks than their counterparts. Using
As programmers program, the main goal is not simply writing a working program, but
writing a working program in the most efficient way possible. There is a wide variety of advanced
programming techniques that they can use to increase their efficiency. Recursion is a technique
used by an individual function to call itself until a certain output is achieved. Recursive programs
can range in their complexity, but can ultimately contribute to greater efficiency in some
languages. A recursive function is one of the most advanced concepts taught to novice
programmers, it almost always looks cleaner to ones eye, but it is not guaranteed to have greater
efficiency than a non-recursive version of the same function. Another example of an advanced
allows it to perform more than one task. Polymorphism allows you define one interface and have
polymorphism is most widely used in inheritance and is critical for optimization of efficiency.
Writing out multiple functions instead of one can lead to the creation of a slower program that has
low desirability. Recursion and polymorphism both exemplify advanced programming techniques
that can increase efficiency. Although these techniques are meant for increasing efficiency, it is up
work at their core by exploring how compilers and binary work, how they interact with each other
advanced programming techniques like recursion and polymorphism. Through this mentorship, I
learned valuable skills that bolster my programming experience. This has made me a better
programmer and a better listener. As I researched Computer Science and I plan to study Computer
Engineering, which is the study of how computer hardware and software interact with each other,
my mentorship area was focused on my future education and career path. I have gained valuable
study skills that will help me in college because this project taught me the importance of listening
carefully so that I can better understand topics. Mentorships that study computer science are
important to society because computer science has a bright future in the world and it is imperative