background preloader

Programming paradigm - Wikipedia, the free encyclopedia - Profile

Programming paradigm - Wikipedia, the free encyclopedia - Profile
A programming paradigm is a fundamental style of computer programming, a way of building the structure and elements of computer programs. Capablities and styles of various programming languages are defined by their supported programming paradigms; some programming languages are designed to follow only one paradigm, while others support multiple paradigms. There are six main programming paradigms: imperative, declarative, functional, object-oriented, logic and symbolic programming.[1][2][3] Overview[edit] Overview of the various programming paradigms[4]:5 In object-oriented programming, programmers can think of a program as a collection of interacting objects, while in functional programming a program can be thought of as a sequence of stateless function evaluations. Programming paradigms can also be compared with programming models which are abstractions of computer systems. History[edit] Machine code[edit] Procedural languages[edit] All these languages follow the procedural paradigm.

REXX Rexx is supplied with VM/SP on up, TSO/E Version 2 on up, OS/2 (1.3 on up), AmigaOS Version 2 on up, PC DOS (7.0 or 2000), and Windows NT 4.0 (Resource Kit: Regina). REXX scripts for OS/2 share the filename extension .cmd with other scripting languages, and the first line of the script specifies the interpreter to be used. A Rexx script or command is sometimes referred to as an EXEC in a nod to Rexx's role as a replacement for the older EXEC command language on CP/CMS and VM/370 and EXEC 2 command language on VM/SP. Features[edit] Rexx has the following characteristics and features: Rexx has just twenty-three, largely self-evident, instructions (such as call, parse, and select) with minimal punctuation and formatting requirements. Rexx's syntax looks similar to PL/I, but has fewer notations; this makes it harder to parse (by program) but easier to use, except for cases where PL/I habits may lead to surprises. History[edit] Several freeware versions of Rexx are available. Syntax[edit]

Programming language The earliest programming languages preceded the invention of the digital computer and were used to direct the behavior of machines such as Jacquard looms and player pianos.[1] Thousands of different programming languages have been created, mainly in the computer field, and many more still are being created every year. Many programming languages require computation to be specified in an imperative form (i.e., as a sequence of operations to perform), while other languages utilize other forms of program specification such as the declarative form (i.e. the desired result is specified, not how to achieve it). Definitions[edit] A programming language is a notation for writing programs, which are specifications of a computation or algorithm.[2] Some, but not all, authors restrict the term "programming language" to those languages that can express all possible algorithms.[2][3] Traits often considered important for what constitutes a programming language include: Function and target Abstractions

Logic programming Logic programming is a programming paradigm based on formal logic. Programs written in a logical programming language are sets of logical sentences, expressing facts and rules about some problem domain. Together with an inference algorithm, they form a program. Major logic programming languages include Prolog and Datalog. A form of logical sentences commonly found in logic programming, but not exclusively, is the Horn clause. An example is: p(X, Y) if q(X) and r(Y) Logical sentences can be understood purely declaratively. The programmer can use the declarative reading of logic programs to verify their correctness. History[edit] The use of mathematical logic to represent and execute computer programs is also a feature of the lambda calculus, developed by Alonzo Church in the 1930s. In 1997, the Association of Logic Programming bestowed to fifteen recognized researchers in logic programming the title Founders of Logic Programming to recognize them as pioneers in the field:[1] Prolog[edit]

Technological singularity The technological singularity is the hypothesis that accelerating progress in technologies will cause a runaway effect wherein artificial intelligence will exceed human intellectual capacity and control, thus radically changing civilization in an event called the singularity.[1] Because the capabilities of such an intelligence may be impossible for a human to comprehend, the technological singularity is an occurrence beyond which events may become unpredictable, unfavorable, or even unfathomable.[2] The first use of the term "singularity" in this context was by mathematician John von Neumann. Proponents of the singularity typically postulate an "intelligence explosion",[5][6] where superintelligences design successive generations of increasingly powerful minds, that might occur very quickly and might not stop until the agent's cognitive abilities greatly surpass that of any human. Basic concepts Superintelligence Non-AI singularity Intelligence explosion Exponential growth Plausibility

Парадигма программирования Паради́гма программи́рования — это совокупность идей и понятий, определяющих стиль написания компьютерных программ. Это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером[1]. Важно отметить, что парадигма программирования не определяется однозначно языком программирования; практически все современные языки программирования в той или иной мере допускают использование различных парадигм (мультипарадигмальное программирование). Также важно отметить, что существующие парадигмы[какие?] Приверженность определённого человека какой-то одной парадигме иногда носит настолько сильный характер, что споры о преимуществах и недостатках различных парадигм относятся в околокомпьютерных кругах к разряду так называемых «религиозных» войн — холиваров. История термина[править | править исходный текст] Термин «парадигма программирования» впервые применил в 1978 году Роберт Флойд в своей лекции[2] лауреата премии Тьюринга. Роганов Е.

List of programming languages The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones, in alphabetical order, except for dialects of BASIC and esoteric programming languages. Note: Dialects of BASIC have been moved to the separate List of BASIC dialects. Note: This page does not list esoteric programming languages. A[edit] B[edit] C[edit] D[edit] E[edit] F[edit] G[edit] H[edit] I[edit] J[edit] K[edit] L[edit] M[edit] N[edit] O[edit] P[edit] Q[edit] R[edit] S[edit] T[edit] U[edit] V[edit] W[edit] X[edit] Y[edit] Z[edit] See also[edit]

Computer programming Overview[edit] Within software engineering, programming (the implementation) is regarded as one phase in a software development process. There is an on-going debate on the extent to which the writing of programs is an art form, a craft, or an engineering discipline.[3] In general, good programming is considered to be the measured application of all three, with the goal of producing an efficient and evolvable software solution (the criteria for "efficient" and "evolvable" vary considerably). Another on-going debate is the extent to which the programming language used in writing computer programs affects the form that the final program takes. History[edit] Ada Lovelace created the first algorithm designed for processing by a computer and is usually recognized as history's first computer programmer. Ancient cultures had no conception of computing beyond simple arithmetic. Data and instructions were once stored on external punched cards, which were kept in order and arranged in program decks.

Prolog Prolog is a general purpose logic programming language associated with artificial intelligence and computational linguistics.[1][2][3] Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is declarative: the program logic is expressed in terms of relations, represented as facts and rules. A computation is initiated by running a query over these relations.[4] The language was first conceived by a group around Alain Colmerauer in Marseille, France, in the early 1970s and the first Prolog system was developed in 1972 by Colmerauer with Philippe Roussel.[5][6] Prolog was one of the first logic programming languages,[7] and remains the most popular among such languages today, with many free and commercial implementations available. Prolog is well-suited for specific tasks that benefit from rule-based logical queries such as databases searching, voice control systems, and template filling. §Syntax and semantics[edit] §Data types[edit] ? ? ? ?

Robotics Robotics is the branch of mechanical engineering, electrical engineering and computer science that deals with the design, construction, operation, and application of robots,[1] as well as computer systems for their control, sensory feedback, and information processing. These technologies deal with automated machines that can take the place of humans in dangerous environments or manufacturing processes, or resemble humans in appearance, behavior, and/or cognition. Many of today's robots are inspired by nature contributing to the field of bio-inspired robotics. The concept of creating machines that can operate autonomously dates back to classical times, but research into the functionality and potential uses of robots did not grow substantially until the 20th century.[2] Throughout history, robotics has been often seen to mimic human behavior, and often manage tasks in a similar fashion. Etymology[edit] History of robotics[edit] Robotic aspects[edit] Components[edit] Power source[edit]

Парадигма (философия) Паради́гма (от др.-греч. παράδειγμα, «пример, модель, образец» < παραδείκνυμι — «сравниваю») в философии науки — означает совокупность явных и неявных (и часто не осознаваемых) предпосылок, определяющих научные исследования и признанных на данном этапе развития науки, а также универсальный метод принятия эволюционных решений, гносеологическая модель эволюционной деятельности. Первоначально слово использовалось в лингвистике и риторике. Так, например, ЭСБЕ определяет этот термин следующим образом: «в грамматике слово, служащее образцом склонения или спряжения; в риторике — пример, взятый из истории и приведенный с целью сравнения». Словарь Merriam-Webster (в англ. wiki: Merriam-Webster) 1900 года дает аналогичное определение его использования только в контексте грамматики или как термин для иллюстрирующей притчи или басни. Это понятие, в современном смысле слова, введено американским физиком и историком науки Томасом Куном, который выделял различные этапы в развитии научной дисциплины: Т.

The History of C++ Programming Language - Authentic Society Notes on the difference between C an C++ You may hear from time to time that the C++ programming language is a superset of the C language. In C++, you can do almost everything you can do in C, with the exception of just a small number of things that may be considered specification details. Why was it named C++? Initially the C++ language was named "C with Classes" because you could still write C-like programs in C++ but you could also use what we call classes. On the other hand, the reason the C programming language is called C, is that it is a successor to the language called B. The History of C++ And so, with the help of the previous few paragraphs we can move on. In 1972, Ken Tompson and Dennis Ritchie created an improved version of the B language, and named it C. B got its start on a UNIX-operated system, by today's standards a prehistoric computer called DEC PDP-7. ANSI makes C a Standard The birth of C++ There had to be a solution.

Object-oriented programming Overview[edit] Rather than structure programs as code and data, an object-oriented system integrates the two using the concept of an "object". An object has state (data) and behavior (code). Objects correspond to things found in the real world. So for example, a graphics program will have objects such as circle, square, menu. An online shopping system will have objects such as shopping cart, customer, product. The goals of object-oriented programming are: Increased understanding.Ease of maintenance.Ease of evolution. The overall understanding of the system is increased because the semantic gap—the distance between the language spoken by developers and that spoken by users—is lessened. Object-orientation takes this to the next step. In addition to providing ease of maintenance, encapsulation and information hiding provide ease of evolution as well. History[edit] Fundamental features and concepts [edit] A survey by Deborah J. Benjamin C.

Declarative programming Common declarative languages include those of database query languages (e.g., SQL, XQuery), regular expressions, logic programming, functional programming, and configuration management systems. Definition[edit] Declarative programming is often defined as any style of programming that is not imperative. A number of other common definitions exist that attempt to give the term a definition other than simply contrasting it with imperative programming. These definitions overlap substantially. Subparadigms[edit] Declarative programming is an umbrella term that includes a number of better-known programming paradigms. Constraint programming[edit] Constraint programming is often used as a complement to other paradigms: functional, logical or even imperative programming. Domain-specific languages[edit] Many markup languages such as HTML, MXML, XAML, XSLT or other user-interface markup languages are often declarative. Functional programming[edit] Hybrid languages[edit] Logic programming[edit] Modeling[edit]