Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Types of programming languages




Programming languages

By evaluative type.

By complexity.

By field of study.

Every field of science has its own problems and needs efficient algorithms. Related problems in one field are often studied together. Some example classes are search algorithms, sorting algorithms, merge algorithms, numerical algorithms, graph algorithms, string algorithms, computational geometric algorithms, combinatorial algorithms, medical algorithms, machine learning, cryptography, data compression algorithms and parsing techniques.

 

Algorithms can be classified by the amount of time they need to complete compared to their input size. There is a wide variety: some algorithms complete in linear time relative to input size, some do so in an exponential amount of time or even worse, and some never halt. Additionally, some problems may have multiple algorithms of differing complexity, while other problems might have no algorithms or no known efficient algorithms.

 

To maintain balance while integrating machines into society, one may classify algorithms by the types of evaluation they perform. Wallach & Allen (2008) classified decision-making algorithms into three evaluative types: Bottom-up algorithms make judgments unpredictable to their programmers (e.g. evolving software). All others (top-down) were divided into deontological (which can be relied upon to implement programmed rules) vs. consequentialist (which can be relied upon to maximize a programmed measure).

 

A programming language is a type of written language that tells computers what to do. Programming languages are used to make 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 source code text in the programming language to create programs. Usually the programming language uses real words for some of the commands, so that the language is easier for a human to read. Many programming languages use punctuation just like a normal language.

 

 

· Declarative vs. Imperative programming

Declarative programming languages describe a "problem" but they usually do not say how the problem should be solved. The problem description uses logic, "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".

 

· Functional vs. Procedural

Functional programming looks at programming like a function in mathematics. The program receives input, some information, and uses this information to create output. It will not have a state in between, and it will also not change things that are not related to the computation.

Procedural programs are a set of steps or state changes.

 

· Stack based

Stack based languages look at the some of the program's memory like a stack of cards. There are very few things that can be done with a stack. A data item can be put on the top of the stack. This operation is generally called "push". A data item can be removed from the top of the stack. This is called a "pop". You can look at the item at the top of the stack without removing it. This is called a "peek".

 

· Object-oriented

Object-oriented programming languages place data and functions that change data into a single unit. This unit is called an " object ". Objects can interact with each other, but one object can not change another object's data. This is usually called encapsulation or information hiding.

 

· Flow-oriented

Flow oriented programming sees programming as connecting different components. These components send messages back and forth. A single component can be part of different "programs", without the need to be changed internally.

 




Поделиться с друзьями:


Дата добавления: 2014-12-16; Просмотров: 682; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.