The origins of Java

In 1990, Patrick Naughton, a disgruntled software engineer working for Sun Microsystems (the company was acquired and merged into the Oracle Corporation in 2010), was considering leaving Sun Microsystems for a rival company and detailed in a letter to Sun...

Object-oriented technology in context

The idea of viewing software (and, indeed, of designing and writing software) in terms of objects is not a new one. The idea started in the mid-1960s with the language Simula, a language designed for performing simulations (for example, using computer graphics)....

What is procedural programming?

Before object-orientation the predominant method for structuring programs was procedural programming. Procedural programming is so called because the program code gives a step-by-step procedure (a set of instructions that accomplish a task, i.e. an algorithm) for...

What is object-oriented programming

Object-oriented programming is concerned with constructing computer systems out of interacting units of software, called objects. Objects know nothing of how other objects work, but they can interact (when a program is executing) by sending messages to each other and...

Computational and computable problems

A computational problem is a problem that is expressed sufficiently precisely that it is possible to attempt to build an algorithm to solve it. However, this doesn't mean that the attempt needs to be successful. However, when there is an algorithm that solves every...

The Halting Problem

The Halting Problem is the problem of deciding whether a computer program will finish or go on forever. It is an example of a decision problem, a problem where you have a yes or no and it’s one of the key results in the theory of computation. It’s easy to formulate...

Computational complexity

Developed in the 70's, computational complexity is a subbranch of the theory of computation. The latter was established by Alan Turing. Computational complexity attempts to discover whether a particular algorithm or computer program is going to be efficient or...

The Turing Machine

The Turing Machine is a model of computation which is reflected in every sort of computer we use today: the computer in my iPhone, the computers in a large scientific establishment, the computers that are attached to the hull of a ship which measure temperature for...

What is computational thinking?

The reason that we think computer science is about computers is pretty much the same reason that the Egyptians thought geometry was about surveying instruments: when some field is just getting started and you don't really understand it very well, it's very easy to...

What is the Java programming language?

Java was created at Sun Microsystems as a general-purpose programming language similar to C and C++, It is object-oriented and platform-independent. It was originally designed in 1995 for use in consumer electronics. Modern usage include things like writing...

Articles Computing & IT

The origins of Java

In 1990, Patrick Naughton, a disgruntled software engineer working for Sun Microsystems (the company was acquired and merged into the Oracle Corporation in 2010), was considering leaving Sun Microsystems for a rival company and detailed in a letter to Sun...

Object-oriented technology in context

The idea of viewing software (and, indeed, of designing and writing software) in terms of objects is not a new one. The idea started in the mid-1960s with the language Simula, a language designed for performing simulations (for example, using computer graphics)....

What is procedural programming?

Before object-orientation the predominant method for structuring programs was procedural programming. Procedural programming is so called because the program code gives a step-by-step procedure (a set of instructions that accomplish a task, i.e. an algorithm) for...

What is object-oriented programming

Object-oriented programming is concerned with constructing computer systems out of interacting units of software, called objects. Objects know nothing of how other objects work, but they can interact (when a program is executing) by sending messages to each other and...

Computational and computable problems

A computational problem is a problem that is expressed sufficiently precisely that it is possible to attempt to build an algorithm to solve it. However, this doesn't mean that the attempt needs to be successful. However, when there is an algorithm that solves every...

The Halting Problem

The Halting Problem is the problem of deciding whether a computer program will finish or go on forever. It is an example of a decision problem, a problem where you have a yes or no and it’s one of the key results in the theory of computation. It’s easy to formulate...

Computational complexity

Developed in the 70's, computational complexity is a subbranch of the theory of computation. The latter was established by Alan Turing. Computational complexity attempts to discover whether a particular algorithm or computer program is going to be efficient or...

The Turing Machine

The Turing Machine is a model of computation which is reflected in every sort of computer we use today: the computer in my iPhone, the computers in a large scientific establishment, the computers that are attached to the hull of a ship which measure temperature for...

What is computational thinking?

The reason that we think computer science is about computers is pretty much the same reason that the Egyptians thought geometry was about surveying instruments: when some field is just getting started and you don't really understand it very well, it's very easy to...

What is the Java programming language?

Java was created at Sun Microsystems as a general-purpose programming language similar to C and C++, It is object-oriented and platform-independent. It was originally designed in 1995 for use in consumer electronics. Modern usage include things like writing...

Articles Computing & IT

The origins of Java

In 1990, Patrick Naughton, a disgruntled software engineer working for Sun Microsystems (the company was acquired and merged into the Oracle Corporation in 2010), was considering leaving Sun Microsystems for a rival company and detailed in a letter to Sun...

Object-oriented technology in context

The idea of viewing software (and, indeed, of designing and writing software) in terms of objects is not a new one. The idea started in the mid-1960s with the language Simula, a language designed for performing simulations (for example, using computer graphics)....

What is procedural programming?

Before object-orientation the predominant method for structuring programs was procedural programming. Procedural programming is so called because the program code gives a step-by-step procedure (a set of instructions that accomplish a task, i.e. an algorithm) for...

What is object-oriented programming

Object-oriented programming is concerned with constructing computer systems out of interacting units of software, called objects. Objects know nothing of how other objects work, but they can interact (when a program is executing) by sending messages to each other and...

Computational and computable problems

A computational problem is a problem that is expressed sufficiently precisely that it is possible to attempt to build an algorithm to solve it. However, this doesn't mean that the attempt needs to be successful. However, when there is an algorithm that solves every...

The Halting Problem

The Halting Problem is the problem of deciding whether a computer program will finish or go on forever. It is an example of a decision problem, a problem where you have a yes or no and it’s one of the key results in the theory of computation. It’s easy to formulate...

Computational complexity

Developed in the 70's, computational complexity is a subbranch of the theory of computation. The latter was established by Alan Turing. Computational complexity attempts to discover whether a particular algorithm or computer program is going to be efficient or...

The Turing Machine

The Turing Machine is a model of computation which is reflected in every sort of computer we use today: the computer in my iPhone, the computers in a large scientific establishment, the computers that are attached to the hull of a ship which measure temperature for...

What is computational thinking?

The reason that we think computer science is about computers is pretty much the same reason that the Egyptians thought geometry was about surveying instruments: when some field is just getting started and you don't really understand it very well, it's very easy to...

What is the Java programming language?

Java was created at Sun Microsystems as a general-purpose programming language similar to C and C++, It is object-oriented and platform-independent. It was originally designed in 1995 for use in consumer electronics. Modern usage include things like writing...