Вы находитесь на странице: 1из 8

- stands for "Garbage In, Garbage Out.

"
- a computer science acronym that implies bad input will result in
bad output.
 Because computers operate using strict logic, invalid input may
produce unrecognizable output, or "garbage."
 For example:
- If a program asks for an integer and you enter a string, you may get
an unexpected result.
- If you try to open a binary file in a text editor, it may display unreadable
content.
 a universal computer science concept, but it only applies to programs
that process invalid data.
 Good programming practice dictates that functions should check for
valid input before processing it. A well-written program will avoid
producing garbage by not accepting it in the first place. Requiring valid
input also helps programs avoid errors that can cause crashes and
other erratic behavior.

- a tool containing a set of parts that uses energy to perform formal


logic operations.
 Early logical machines were mechanical devices that performed basic
operations in Boolean logic.
 Contemporary logical machines are computer-based electronic
programs that perform proof assistance with theorems in
mathematical logic.
- In the 21st century, these proof assistant programs have given birth
to a new field of study called mathematical knowledge management.
the process of creating a set of instructions that tell a computer how to perform
a task. Programming can be done using a variety of computer "languages," such
as SQL, Java, Python, and C++.
involves tasks such as: analysis, generating algorithms, profiling
algorithms' accuracy and resource consumption, and the implementation
of algorithms in a chosen programming language (commonly referred to
as coding)
The source code of a program is written in one or more languages that
are intelligible to programmers, rather than machine code, which is
directly executed by the central processing unit.
The purpose of programming is to find a sequence of instructions that
will automate the performance of a task (which can be as complex as
an operating system) on a computer, often for solving a given problem.
The process of programming thus often requires expertise in several
different subjects, including knowledge of the application domain,
specialized algorithms, and formal logic.

- HLLs are programming languages that look like natural


language text.
- They make programming easier and more abstract, i.e. the
programmer does not need to come up with the detailed
machine instructions.
- HLL programs are machine independent. They can run on
different hardware platforms (i.e. different computers with
different instruction sets)
 High-level languages are really interesting if you think about it.
They are essentially mid-level languages which just take the
concepts of abstraction and high-level constructs to the extreme.
EXAMPLES:

 Java is mostly object-oriented, but it still relies on primitives which


are represented directly in memory.
 Ruby on the other hand is completely object-oriented. It has no
primitives (outside of the runtime implementation) and everything
can be treated as an object.

In short, high-level languages are the logical semantic evolution of


mid-level languages. It makes a lot of sense when you consider the
philosophy of simplification and increase of abstraction.

High-level languages tend to be extremely dynamic. Runtime flow is


changed on the fly through the use of things like dynamic typing, open
classes, etc. This sort of technique provides a tremendous amount of
flexibility in algorithm design. However, this sort of mucking about with
execution also tends to make the programs harder to reason about. It
can be very difficult to follow the flow of an algorithm written in Ruby.

Characteristics

 Interpreted
 Dynamic constructs (open classes, message-style methods, etc)
 Poor performance
 Concise code
 Flexible syntax (good for internal DSLs)
 Hybrid paradigm (object-oriented and functional)

Advantages
 Do more with less code
 use English language words in a form which can be read and
generally interpreted by the average person with little to no
programming experience
Dis-advantages
 Loss in performance and less freedom for the programmer
 Most high-level languages are well defined, as are low-level
languages, but mid-level languages tend to be a bit difficult to
box.
 It is more reliable to define the category by the size of application
the programmer would be willing to write using a given language.
It would have no problem writing and maintaining a large desktop
application in a mid-level language (such as Java), whereas to do
so in a low-level language (like Assembly) would lead to unending
pain.
 This is really the level at which virtual machines start to become
common-place. Java, Scala, C# etc all use a virtual machine to
provide an execution environment. Thus, many mid-level
languages don’t compile directly down to the metal (at least, not
right away) but represent a blurring between interpreted and
compiled languages. Mid-level languages are almost always
defined in terms of low-level languages (e.g. the Java compiler is
bootstrapped from C).

Characteristics

 High level abstractions such as objects (or functionals)


 Static typing
 Extremely commonplace (mid-level languages are by far the
most widely used)
 Virtual machines
 Garbage collection
 Easy to reason about program flow

Low level computer languages are machine codes or close to it.


Computer cannot understand instructions given in high level
languages or in English.
It can only understand and execute instructions given in the form
of machine language i.e. language of 0 and 1. (binary)
Characteristics

 Direct memory management


 Little-to-no abstraction from the hardware
 Register access
 Statements usually have an obvious correspondence with
clock cycles
 Superb performance
There are two types of low levellanguages:
Machine code
It is the lowest and most elementary level of Programming
language and was the first type of programming language to be
Developed.
Machine Language is basically the only language which a computer
can understand. In fact, a manufacturer designs a computer to
obey just one Language, its machine code, which is represented
inside the computer by a String of binary digits(bits) 0 and 1.
Assembly Language
It was developed to overcome some of the many inconveniences
of machine language. This is another low level but a very important
language in which operation codes and operands are given in
the form of alphanumeric symbols instead of 0’s and l’s.
These alphanumeric symbols will be known as mnemonic codes
and can have maximum up to 5 letter combination e.g. ADD for
addition, SUB for subtraction, START,LABEL etc.
Because of this feature it is also known as ‘Symbolic Programming
Language’.
This language is also very difficult and needs a lot of practice to
master it because very small English support is given to this
language.
The language mainly helps in compiler orientations.
The instructions of the Assembly language will also be converted
to machine codes by language translator to be executed by the
computer
A program development process consists of various steps that are followed to
develop a computer program. These steps are followed in a sequence in order to
develop a successful and beneficial computer program. Following is the brief
description about program development process.

Defining and Analyzing The Problem


In this step, a programmer studies the problem. He decides the best way to
solve these problems. Studying a problem is also necessary because it helps
a programmer to decide about the following things:

 The facts and figures which are necessary for developing the program.
 The way in which the program will be designed
 Also, the language in which the program will be most suitable.
 What is the desired output and in which form it is needed, etc

Designing The Algorithm


An algorithm is a sequence of steps that must be carried out before a
programmer starts preparing his program. The programmer designs an
algorithm to help visual possible alternatives in a program also.

Coding or Writing The Program


The next step after designing the algorithm is to write the program in a
high-level language. This process is known as coding.

Test Execution
The process of executing the program to find out errors or bugs is called
test execution. It helps a programmer to check the logic of the program. It
also ensures that the program is error-free and workable.

Debugging
Debugging is a process of detecting, locating and correcting the bugs in a
program. It is performed by running the program again and again.

Final Documentation
When the program is finalized, its documentation is prepared. Final
documentation is provided to the user. It guides the user how to use the
program in the most efficient way.

Furthermore, another purpose of documentation is to allow other


programmers to modify the code if necessary. Documentation should also
be done in each step during the development of the program.

REFERENCES

https://techterms.com/definition/gigo
https://en.wikipedia.org/wiki/Computer_programming
https://www.khanacademy.org/computing/computer-
programming/programming/intro-to-programming/v/programming-
intro
https://en.wikipedia.org/wiki/Logical_machine
https://www.quora.com/What-are-high-level-low-level-and-middle-
level-programming-languages
https://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming
_Languages#Low-level
https://en.wikibooks.org/wiki/Introduction_to_Computer_Information
_Systems/Program_Development

Вам также может понравиться