Borrowing from the management literature, Kaplan and Haenlein classify artificial intelligence into three different types of AI systems: analytical, human-inspired, and humanized artificial intelligence. Analytical AI has only characteristics consistent with cognitive intelligence generating cognitive representation of the world and using learning based on past experience to inform future decisions. Human-inspired AI has elements from cognitive as well as emotional intelligence, understanding, in addition to cognitive elements, also human emotions considering them in their decision making. Humanized AI shows characteristics of all types of competencies (i.e., cognitive, emotional, and social intelligence), able to be self-conscious and self-aware in interactions with others.
Humanoid robots were built by Yan Shi, Hero of Alexandria, and Al-Jazari. Sentient machines became popular in fiction during the 19th and 20th centuries with the stories of "Frankenstein" and "Rossum's Universal Robots".
Formal logic was developed by ancient Greek philosophers and mathematicians. This study of logic produced the idea of a computer in the 19th and 20th centuries. Mathematician Alan Turing's theory of computation said that any mathematical problem could be solved by processing 1's and 0's. Advances in neurology, information theory, and cybernetics convinced a small group of researchers that an electronic brain was possible.
AI research really started with a conference at Dartmouth College in 1956. It was a month-long brainstorming session attended by many people with interests in AI. At the conference they wrote programs that were amazing at the time, beating people at checkers or solving word problems. The Department of Defense started giving a lot of money to AI research and labs were created all over the world.
Unfortunately, researchers really underestimated just how hard some problems were. The tools they had used still did not give computers things like emotions or common sense. Mathematician James Lighthill wrote a report on AI saying that "in no part of the field have discoveries made so far produced the major impact that was then promised". The U.S and British governments wanted to fund more productive projects. Funding for AI research was cut, starting an "AI winter" where little research was done.
AI research revived in the 1980s because of the popularity of expert systems, which simulated the knowledge of a human expert. By 1985, 1 billion dollars were spent on AI. New, faster computers convinced U.S. and British governments to start funding AI research again. However, the market for Lisp machines collapsed in 1987, and funding was pulled again, starting an even longer AI winter.
AI revived again in the 90s and early 2000s with its use in data mining and medical diagnosis. This was possible because of faster computers and focusing on solving more specific problems. In 1997, Deep Blue became the first computer program to beat chess world champion Garry Kasparov. Faster computers, advances in deep learning, and access to more data have made AI popular throughout the world. In 2011 IBM Watson beat the top two Jeopardy! players Brad Rutter and Ken Jennings, and in 2016 Google's AlphaGo beat top Go player Lee Sedol 4 out of 5 times.
What is Artificial Intelligence (A.I)?
Programmer
A computer programmer is a person who makes computer programs using a programming language. Programmers are also called software developers, coders, or hackers.
A programmer's main jobs are writing program source code, testing if it works, and debugging (fixing) the program if there are problems. Programmers often use software tools such as text editors and IDEs (Integrated Development Environments) to help them work.
Computer programming is a profession that can be done from a computer anywhere in the world. This is called "telecommuting" - doing work on the Internet instead of in an office.
Some programmers are famous because their software is used by many people. One example is Linus Torvalds, who created an important part of the Linux operating system.
Programming can be done in many different languages and can look very different but do the same thing. An example of this is the Hello world program.
Programming language
A programming language is a type of written language that tells computers what to do. Examples are: Python, Ruby, Java, JavaScript, C, C++, and C#. HTML is a markup language, in a technical sense not a programming language, since a program can't be made with it, while it still does tell the computer, i.e. web browser, what information to display. Neither is CSS, these languages are used to make web pages, they can be used to make static web pages, while often one or more programming languages are used additionally to make a dynamic web page. Neither are notebook environments programming languages (while often used by programmers), such one of the more popular ones, Jupyter, that is made for many programming languages, such as Julia, Python, and R (most often users choose to use only one programming language with it, one of those three officially supported and the project named after, or some other language). Programming languages are used to write all computer programs and computer software. A programming language is like a set of instructions that the computer follows to do something.
A programmer writes text in the source code of a programming language to make programs. Usually, the programming language uses real words for some of the commands (e.g. "if... then... else...", "and", "or"), so that the language is easier for a human to understand. Like any normal language, many programming languages use punctuation. Many programs are then compiled, which means that the computer changes, or translates, the source code into another language (such as assembly language or machine language) that a computer can read, but which is much harder for a person to read.
Computer programs must be written very carefully. If a programmer makes mistakes, or a program tries to do something the programmer did not design it to do, then the program might then stop working, which is called "crashing". When a program has a problem because of how the code was written, this is called a "bug". A very small mistake can cause a very big problem.
There are many types of programming languages. Most programming languages do not follow one type alone, so it is difficult to assign a type for each language. The examples of each type are given in each section below because they are the best well-known examples of that type.
High-level programming languages require less knowledge about the hardware compared to low-level programming languages. This is because high-level programming languages abstract away the hardware the program is running on. Many high-level languages require an interpreter to run the source code on the hardware in real time. On the other hand, low-level languages usually convert the whole source code to machine code before running, because the source code is so close to the hardware that it is easy to do so.
"Declarative" programming languages describe a "problem" but they usually do not say how the problem should be solved. The problem description uses logic, and "solving" the problem often looks like automatically proving a system of logical axioms. Examples for such programming languages are Prolog, XSLT, LISP and SQL.
"Imperative" programming languages describe a system of state changes. At the start, the program is in a certain "state", and the computer is given steps to follow, in order to perform an action. Following the steps causes the program to "change state".
In general, declarative programming languages are safer and shorter. Imperative programming languages are more common, because they are easier to use.