Chapter 1 - what is programming

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Grace Hopper

"Amazing Grace" Grace Hopper did not like how we programmed stuff. Grace Hopper wrote the first compiler (a type of translator) in 1952 for the language A-0. This paved the way for the other languages that followed. Many of these were also created in part or in whole by Grace Hopper.

Grace Hopper's immeasurable contributions to computer science have earned her the nickname

"Amazing Grace".

FORTRAN

(1957) The first successful high-level programming language. FORTRAN stands for FORmula TRANslation. Developed by a team of IBM programmers for mathematicians, scientists and engineers. Good for number crunching, but could not hold records.

LISP

(1958)LISt Processing was designed by John McCarthy at MIT. It is known for being one of the languages specifically designed to help develop artificial intelligence. LISP introduced several important programming concepts which are used in modern programming languages today.

COBOL

(1959) (Grace Hopper) Created for the business community and the armed forces. COBOL stands for Common Business Oriented Language. COBOL became extremely successful when the Department of Defense adopted COBOL as its official programming language.

FORTRAN vs COBOL

(1960) In the early 1960s computer design was not yet standardized and was strongly influenced by programmers' languages of choice. FORTRAN programmers wanted number crunching computers COBOL programmers wanted record keeping computers. IBM came up with something that could run both FORTRAN and COBOL. The IBM System/360

PL/1

(1964) (Programming Language 1) This language combined all of the number crunching features of FORTRAN with all of the record handling features of COBOL. "Everything for Everyone." Although FORTRAN didn't like COBOL and COBOL didn't like FORTRAN. Difficult to learn.

BASIC

(1964) Tom Kurtz and John Kemeny created BASIC (Beginners All-purpose Symbolic Instruction Code) at Dartmouth College. They wanted to make a language easier to learn. BASIC required little memory and could be handled by the first Personal Computer.

PASCAL

(1969) College professors didn't like BASIC because it did not teach the programming basic structures. Niklaus Wirth created a language specifically for the purpose of teaching programming. Pascal is a very lean language. I has just enough of both FORTRAN and COBOL features to be fuctional. The first AP computer science Exam used Pascal.

C

(1972) BCPL (Basic Combined Programming Language) was designed at the University of Cambridge by Martin Richards. BCPL updated was called B B was updated and became C C was used to rewrite an operating system.

C++

(1983) Object Oriented Programming (OOP) Bjarne Stroustrup created a new language using OOP and C++. College board AP tests were now in C++

Java

(1995) Java is a platform Independent Language. Created by Sun Microsystems, who was bought out by Oracle. Platform Independence means that the language does not cause problems as programs are transported between different hardware and software platforms. Java requires OOP, making it the first choice of many universities. Since 2003, Java replaced C++ as the official language.

Lego Mindstorms NXT

(2006) Programmers can click on different blocks. Each block performs a different task. By creating a sequence of these blocks, you can program a computer. In 1998, the Lego Corporation created their first point-and-click language for use with their Lego Mindstorms robots.

Translators

(Compiler or interpreter) translates a high-level language into low-level machine code.

ISP

(Internet Service Provider) Costs money for every person, every school, every business, who wants this access needs to use an ISP

Describe a High-Level Language.

A language that uses English words as instructions. Like Java

Programmer

A person who writes a program for a computer.

What is a programmer?

A person who writes a program for a computer.

What does "Platform Independence" mean?

A program created on one computer will work and have the exact same output on any computer

Program

A sequence of instructions that makes a computer perform a desired task.

What is a program?

A sequence of instructions, which enables a computer to perform a desired task.

Server

A server is a special computer that is connected to the LAN for one or more purposes. It services the other computers in the network which are called clients. Servers can be used for printing, logon, authentications, permanent data storage and communication.

What is a peer-to-peer network?

A small group of computers with a common purpose all connected to each other.

What is a server?

A specialty computer that is connected to the LAN for one or more purposes. Servers can be used for printing, logon authentications, permanent data storage and communication.

After IBM standardized hardware with System/360, they set out to standardize software as well by creating PL/1(Programming Language 1)

After IBM standardized hardware with System/360, they set out to standardize software as well by creating PL/1(Programming Language 1)

Normally, businesses and schools have a series of LANs that all connect into a large network called what?

An Intranet

LISP is known for being one of the languages specifically designed to help develop

Artificial Intelligence.

Refer to your answer to the previous question. Why are these languages considered "low-level?"

Because they function at, or very close to, the level of 1s and 0s.

In 1969, a slimmed down version of BCPL was released. It was simply called B. In 1972, an improved version of B was released. What was that language called?

C

Medium-Level Languages

C and C++ are sometimes considered to be medium-level languages. This is because they have the English commands of a high-level language as well as the power of a low-level language. This made C, and late C++, very popular with professional programmers.

In 1983, Bjarne Stroustrup created a new language by combining C with OOP. what was that language called?

C++

SneakerNet

Early computers were not networked at all. Every computer was a stand-alone computer. Some computers were hooked up to printers and many others were not. IF you needed to print something, and you were not directly connected to a printer, you saved your work on a floppy disk, put on your sneakers, and walked to the printing computer. Sharing files was done in the same way.

What was the first successful programming language?

FORTRAN

PL/I was created by combining all of the features of which 2 languages?

FORTRAN and COBOL

The intention was that PL/I would be "everything for everyone". The reality was this language was not popular. Explain why.

FORTRAN users did not like COBOL features, COBOL users did not like FORTRAN features, and new programmers thought the language hurt their brains from complexity, so it was overwhelmingly difficult to learn

FORTRAN was designed for which groups of people?

FORTRAN was designed for people who needed to crunch numbers, like mathematicians, scientists, and engineers

Assembly Language

First introduced by the British with the EDSAC (Electronic Delay Storage Automatic Computer). Initial Orders assemblers used single letter mnemonic symbols to represent different series of bits. Tedious but easier to use.

Who is credited with making the term debugging popular and also wrote the first compiler?

Grace Hopper

Who was the primary designer of COBOL?

Grace Hopper

Refer to your answer to the previous question. What was the name of the assembler in that computer?

Initial Orders

What does ISP stand for?

Internet Service Provider

Internet

Internet has existed since the 1960s during the Cold War. A means of communication had to be created that was capable to keep working regardless of damage created anywhere. Thus the internet was born. The internet has no central location where all the control computers are located. Any part of the internet can be damaged but the internet will travel around the damaged area.

Intranet

Intranet behaves like the internet but on a local business level. This promotes security speed and saves costs. The moment a school, a business, your home, you have access to millions of lines of telecommunication.

Why did a number of college professors not like BASIC?

It did not teach proper programming structure, it taught quick-and-dirty programming.

Where in the Internet is the central location where all the control computers are located?

It does not have a central location, you could damage any part of the internet and the rest will just pass it by.

How is Pascal different from PL/I?

It is a very lean language, it has just enough of FORTRAN and COBOL features to function.

How does an interpreter translate?

It translates one program statement at a time during execution.

How does a compiler translate?

It translates the entire program into an executable file before execution

What is the first Platform Independent language?

Java

What is the major difference between Java and C++?

Java forced you to use OOP and C++ gave you the option to use OOP or not to use OOP, that is the question.

Low-Level Languages

Languages that function at, or very close to 1s and 0s. Powerful, but very difficult. Ex. Machine Language, Assembly Line

High Level Languages

Languages that use English-like words as instructions. Easier, but less powerful. Ex: BASIC, Pascal, COBOL, FORTRAN, PL/1, Java

Very High Level Languages

Languages that use clickable pictures as instructions. Ex: Lego Mindstorms NXT

In 1998, the Lego Corporation created their first point-and-click language for use with their Lego Mindstorms robots. In 2006, they released their next language. What was that language called?

Lego NXT

What does LAN stand for?

Local Area Network

What is another word for Machine Language?

Machine Code

List 2 Low-Level Languages.

Machine Language and Assembly Language

Machine Code

Means you are directly manipulating the 1s and 0s of the computer's binary language. In some cases, you are manipulating the wires of the machine. In other cases you are flipping switches on and off. Can be tedious.

Were early personal computers networked?

No, no they were not.

What does OOP stand for?

Object oriented programming

Clients

Other computers in a network.

The first practical networks for personal computers were called what?

Peer-to-peer networks.

COBOL was designed for which group of people?

People who needed to handle records, businesses and military peoples.

Traditionally, the introductory courses in computer science focus on

Programming

Wireless connections are convenient, but there are some problems. List 2 of them.

Signals can become weak and lost entirely, which is a real pain, plus people can just hack into your information, which is a bigger pain than no service.

Niklaus Wirth created the language Pascal specifically for the purpose of

Teaching Programming.

The Internet came about during what period in our history?

The Cold War

What computer first introduced Assembly Language?

The EDSAC (Electronic Delay Storage Automatic Computer thing).

Explain why the use of BASIC became widespread when personal computers came out in 1976

The first personal computers had very little memory and could not run big languages like FORTRAN and COBOL, they could handle BASIC though.

Peer-to-Peer Networks

The first practical networks for personal computers were perr-to-peer networks. These are small groups of computers with a common purpose all connected to each other. These type3s of networks were frequently called Local Area Networks or LANs. Networks were initially true peer-to-peer networks. Every computer on the network was equal.

Describe a Very-High-Level Language.

They don't use words or 1s and 0s, they use pictures that you click on and drag to the computer.

Why did Tom Kurtz and John Kemeny create BASIC?

They wanted a simple, basic, and easy-to-learn language that would give non-math and non-science majors the ability to use computers.

What does a computer translator do?

Translates a high-level language into low-level machine code, usually requires a compiler and/or interpreter

Interpreter

Translates one program statement at a time during execution.

Compiler

Translates the entire program into an executable file before execution.

What was BCPL originally intended for?

Writing Compilers.

What does programming in Machine Language mean?

You are directly manipulating the 1s and 0s of the computer's binary language, or even the wires of the machine.

What was required to program the ENIAC?

You had to rewire the machine, which often had thousands of wires, making it a pain to go through and figures out which wire needed to be changed.

What was required to simply enter numbers into the Mark-I calculator?

You would have to manipulate its 1,440 different wires.

What is Sneaker Net?

You would have to run around the place to share or print files back in the day.


Ensembles d'études connexes

Lord Of The Flies Vocab, Antonyms & Synonyms

View Set

ISB multiple choice exam questions

View Set

Lecture 7: Storyboarding, Paper Prototyping, and Mock-up Interviews

View Set