Robotics C++ Physics II AP Physics B Electronics Java Astronomy Other Courses Summer Session  
  High-Level Languages (22 of the many)

ADA

Algol

Assembly

Basic

C

C++

COBOL

C++.Net

C#

Fortran

Java

J++

Logo

Machine

Obj C-Eiffel

Pascal

Pearl

Prolog

Python

Simula

Smalltalk

VB.Net

 

 

Language Level

Sample Code

Translator

Programmer's Perspective

Computer's Perspective

Machine

+1300042774

+1400593418

+1300284020

None

Slow, tedious, error-prone

Natural language

Only language the computer understands

Assembly

LOAD BASE

ADD OVER

STORE GROSS

Assembler

English-like abbreviations, easier to understand. Single statement to single result

Assemblers convert code to machine's natural language

High-Level

Gross =

Base + Over

Compiler

Resembles everyday English, Single statement to multiple results

Compilers convert code to machine's natural language

 

 

Algol
Elegance and generality in language design were goals of Algol (algorithmic language). John Backus, a principal designer of Fortran, and Peter Naur, developed it. These individuals also were part of an international team that developed the precise notation for describing syntax that we now call BNF. They used BNF to describe the syntax of Algol.
The elegance of Algol lay in its generalized language structures that were no longer tied to any particular machine architecture. Algol introduced machine-independent control structures such as if-then-else constructs and while loops. Algol  also introduced hierarchical structures as a way to organize code.

Assembly

The use of mnemonics that are associated with the numerical codes (HLT for halt, LD for load, ST for store , ADD for addition, etc.)

COBOL

Though the first uses of computers were for science and engineering, data-processing applications soon began to emerge. Grace-Murray Hopperin the late 1950's invented a programming language called FLOW-MATIC that was the first business-oriented programming language. FLOW-MATIC was the basis for the development of the more famous COBOL(Common Business Oriented Language).
C
Researchers at Bell Labs developed C, so called because it succeeded the language BPML, as a systems programming language. Its design emphasizes efficiency and flexible control over the resources of the machine. Cis sometimes referred to as a "structured assembly language".
Unlike standard Pascal , Cprovides access to machine addresses and binary, bit -manipulating instructions.  As such, it is considered (by some) to be a dangerous programming language for beginners.
Ada
Despite the popularity of the above languages, users began to notice their flaws.  While elegant control structures preserved a correspondence between static code and dynamic behaviors, the same could not be said for data. For one thing, these languages encouraged the use of global variables. These observations led to the development of the Modula and Adalanguages. These languages introduced modules or packages, units that more carefully limit access to data and associated operations.

BASIC

The name stands for Beginner's All-Purpose Symbolic Instruction Code. It quickly became the language of choice for hands-on education. It was used as the operating system for Bill Gates' first computer, the Altair. When Windows arrived, programmers had great difficulty in providing a workable interface.  Visual Basic was developed to overcome this problem.

C++

When Bjarne Stroustrup came to Bell Labs from Sweden in the late 1970's, he decided to incorporate some of the best ideas of the Simula programming language onto the Clanguage. C ++ is a hybrid language. It preserves all of the capabilities of C, but provides ways to make the language less obscure and more secure. C ++ adopts Simula's support for classes and object orientation.
For backward compatibility, it gives the user the option of using the object-oriented approach. All of the capabilities of C are maintained.

C#

Microsoft appears to be ready to give up on its efforts to be a Java language vendor and is substituting a new language of its own, C Sharp, that captures some of Java's precision and productivity features.
If not an answer to Java, Microsoft hopes its new language will at least stop the tide of programmers in that direction from C and C++, traditional strongholds of Microsoft with its Visual C and Visual C++ products.
C++.Net

 

The version of C++ following version 6.0 is called C++.Net. You can install Visual C++ .NET on a computer that is running Visual C++ 6.0 and use both, system requirements permitting. The current head of the Microsoft C++ development effort, Herb Sutter, was recently (from Internet site May 2002) "Do you really believe that .NET is good for C++? Why? His answer is given below.
I do. I'm hopeful that it can contribute something valuable, perhaps even beyond Windows-based platforms. 
Here's a for-instance: Within the standards committee and the standards process, I've seen several key recurring questions and wishes since C++98 was passed. Three of them are: a) "what about standardizing thread support?"; b) "what about compiling C++ to the JVM?"; and c) "what about a portable GUI library, something basic that will help with teaching?" I think it's very interesting that .NET provides all three, and more, and that it makes those things available to C++ programs. In particular, well before I had any idea I would come to Microsoft, I'd thought that .NET was "a better JVM" (plus a lot more of course). If we could get better convergence between "Managed C++" and "Standard C++," which is something that the team as a whole and Stan Lippman in particular are working on right now, this whole thing could get really interesting and there might be some useful standard technology to offer here someday if the C++ committee wants any parts of it. I'm saying that with my "committee-member" hat on, not my "Microsoftie" hat on.
After all, this very possibility is one of the cool ideas that hooked me into wanting to participate with Microsoft and see what I could be part of contributing to the committee and the community, because like everyone else I've been looking for answers to those same three questions, and here's a technology that's already being standardized (in ECMA and soon ISO), and look, it works with C++! Well, with a lot of C++, anyway. We'll have to see how it goes, though. I don't think it's any shape yet to submit it; we'd pretty much have to be able to run nearly all of Standard C++ on .NET just to have a proof-of-concept starting point that the committee would be interested in. It's a goal. We want to contribute where we can. 
But C++ developers on all platforms wants these kinds of things - threads, running on a VM, a managed GUI library. Windows-based developers have a lot of it today, and I know that the Visual Studio .NET team are working hard to make it better so that you don't have to give up so much of Standard C++ to get those benefits.
Machine
The only language the computer understands. It consists of 0's and 1's (the binarysystem). In some cases memory addresses will be printed in hexadecimal format to make them easier to read.
Fortran

The Methuselah of the family. The name stands for Formula Translation. A major goal of the IBM computer scientists who developed it was to convince programmers, unwilling to waste precious computer time, to use a compiler at all. The emphasis was on efficiency, which kept the language close to machine code.

Sticking close to the machine, however, made for code that still resembled machine code, not in its syntax, but in its flow of control. Much use was made of "goto" instructions that compiled directly to primitive branch instructions.

Pascal

ALGOLbegan a number of ALGOL -like languages in the late 60's including C and Pascal , each of which introduced new features. Nicklaus Wirth designed Pascal , naming it after the 17th century mathematician.
Intended as a teaching language, Pascal emphasizes simplicity, security, and structure in its design. It was the language of the Advanced Placement Computer Science program through 1998. At that time, it was replaced with C++.

Simula

A high-level language developed in Sweden. As the name implies, it was designed for implementing simulations of objects and their behavior.

Objective Cand Eiffel

Other object-oriented languages

Smalltalk

Provided impetus for the object-oriented approach and associated developments such as Windows-based programming environments.

Algol

Based on Alonzo Church's lamda calculus, was the first language to support functional programming, or programming by combining functions. 

Prolog

Prolog (Programming in Logic) is a language centered around a small set of basic mechanisms, include pattern matching, tree-based data structuring and automatic backtracking. It is used extensively in AI.

Pearl

The name PEARL stands for Process and Experiment Automation Realtime Language and must not be mistaken for Perl, the Practical Extraction and Report Language.
PEARL is a higher programming language, which allows a comfortable, secure and almost processor independent programming of multitasking- and realtime problems and has been standardized since 1977 at various stages of its development, the last time 1998 as PEARL-90 (DIN 66253-2 1998, Berlin, Beuth-Verlag, 1998).
Besides the simple possibility to map process technical problems, an important principle at the development of PEARL was the easy learning by the programmer. Everyone who already knows a procedural programming language will get acquainted with PEARL in a very short time.    

Python

Python is an interpreted, interactive, object-oriented programming language. It is often compared to Perl, Scheme, and Java.
Python combines power with clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems. New built-in modules are easily written in in C or C++. Python is also usable as an extension language for applications that need a programmable interface.
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, and Amiga.

Visual Basic.Net

Visual Basic .NET is the next version of Visual Basic. Rather than simply adding some new features to Visual Basic 6.0, Microsoft has reengineered the product to make it easier to write distributed applications such as Web and enterprise n-tier systems. Visual Basic .NET has two new forms packages (Windows Forms and Web Forms); a new version of ADO for accessing disconnected data sources; and streamlined language, removing legacy keywords, improving type safety, and exposing low-level constructs that advanced developers require.

 

With Web Forms and ADO .NET, the developer can rapidly develop scalable Web sites; with inheritance, the language now truly supports object-oriented programming; Windows Forms natively supports accessibility and visual inheritance; and deploying your applications is now as simple as copying your executables and components from directory to directory.

 

Visual Basic .NET is fully integrated with the other Microsoft Visual Studio .NET languages. Not only can you develop application components in different programming languages, classes can now inherit from classes written in other languages using cross-language inheritance. With the unified debugger, you can debug multiple language applications, irrespective of whether they are running locally or on remote computers.
It incorporates object-oriented constructs, such as inheritance, structured exception handling, and parameterized constructors.  

 

The program requires either the Microsoft Windows 2000 or Windows XP operating systems.

Java

The roots of Java can be traced to an effort by Bill Joy, Sun Microsystems, in the 1980s to rewrite the Unix operating system. The effort switched to a project called Stealth. Stealth’s mission was to research the application of computers in the consumer electronics market. They needed to be centrally controlled and able to work on various systems. The eventual goal, attributed to James Gosling, was to build a large and distributed heterogeneous network of consumer electronic devices that could talk to each other.
*Gosling was given the task to identify or develop a language for the project. He first began working with C but soon discovered that it was not adequate for the task. A new language was developed with the stated attributes and that built on the strengths of other languages He named the language Oak because of a large oak tree outside his office. Sun then realized that a major market existed in the Internet and ported Java for applications there. It has now become a very powerful language for all applications ranging from applets to stand alone applications.
J++
J++ is a "Java" programming environment developed by Microsoft. A problem is that since it incorporates many Windows components it is not considered (by me and many others) true Java as developed and maintained by Sun Microsystems.

Logo

LOGO was developed by a team at MIT in the 1960s. It was originally designed to introduce children to programming concepts and to develop better thinking skills that could be transferred to other contests. It was supposed to be a language for the teaching of mathematical ideas to children through computer programming. IT was intended to be easy to learn, easy to use, easy to read, but also powerful and able to cope with complex problems. It
was then discovered that LOGO extended far beyond mathematical areas. The person who became the spokesperson for the language was Seymour Papert. The slogan used for LOGO was "A language for Learning".

Python

Python is an interpreted, interactive, object-oriented programming language. It is often compared Perl, Scheme, and Java.
Python combines power with clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems. New built-in modules are easily written in in C or C++. Python is also usable as an extension language for applications that need a programmable interface.
*The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, and Amiga.

Visual Basic.Net

Visual Basic .NET is the next version of Visual Basic. Rather than simply adding some new features to Visual Basic 6.0, Microsoft has reengineered the product to make it easier to write distributed applications such as Web and enterprise n-tier systems. Visual Basic .NET has two new forms packages (Windows Forms and Web Forms); a new version of ADO for accessing disconnected data sources; and streamlined language, removing legacy keywords, improving type safety, and exposing low-level constructs that advanced developers require.

 

With Web Forms and ADO .NET, the developer can rapidly develop scalable Web sites; with inheritance, the language now truly supports object-oriented programming; Windows Forms natively supports accessibility and visual inheritance; and deploying your applications is now as simple as copying your executables and components from directory to directory.

 

Visual Basic .NET is fully integrated with the other Microsoft Visual Studio .NET languages. Not only can you develop application components in different programming languages, classes can now inherit from classes written in other languages using cross-language inheritance. With the unified debugger, you can debug multiple language applications, irrespective of whether they are running locally or on remote computers.
It incorporates object-oriented constructs, such as inheritance, structured exception handling, and parameterized constructors.  

 

The program requires either the Microsoft Windows 2000 or Windows XP operating systems.