Browse Definitions by Topic

Programming Language

Programming language, or computer programming language, is a formal set of signs constructed for creating software and coding software applications. A programming language defines a set of lexical, syntactic and semantic rules that determines the appearance of the program and the actions that the executor (usually a computer) will perform while under its control.

High-Level Language (HLL) is a programming language like C++, Perl, or PHP that allows programmers to write programs in special coding standards, which later on must be translated into a set of machine commands. The process is called compilation and all the high level programming languages are the compiled ones.

Low-Level Language is a set of machine codes, which can be directly executed by the hardware.  

How low Level PL works:

The computer code written in the source programming language is transformed into the target language via a compiler.

A compiler is a type of translator for computing devices.

Most compilers translate the program from a high-level programming language into machine code, which can be directly executed by the processor. Typically, this code is also oriented to execution in a specific operating system (OS) environment, because it uses the capabilities of the OS.

Examples of programming languages

There are more than a hundred popular languages.

Some well-known examples are:

C is a compiled general-purpose programming language developed in 1969-1973 by Bell Labs employee Dennis Ritchie. It was originally developed for the implementation of the UNIX operating system, but was later transferred to many other platforms. According to the design of the language, its structure is closely matched to typical machine instructions, so it is used in projects for which the assembler language was inherent, including both in operating systems and in various software  applications for a variety of devices - from supercomputers to embedded systems. The C programming language had a significant impact on the software development industry, and its syntax became the basis for programming languages such as C ++, C #, Java and Objective-C.

C ++ is a compiled, statically typed general-purpose programming language. It is widely used for software development, being one of the most popular programming languages. Its scope includes the creation of operating systems, a variety of applications, device drivers, apps for embedded systems, high-performance servers, and entertainment apps (games). There are many implementations of the C ++ language, both free and commercial for various platforms.

Objective-C is a compiled object-oriented programming language used by Apple, built on the C language and the Smalltalk paradigms. The Objective-C compiler is available on most major platforms. The language is used primarily for Mac OS X (Cocoa) and GNUstep - implementations of the object-oriented OpenStep interface. Also the language is used for iOS (Cocoa Touch).

Swift is an open multi-paradigm (supporting both object-oriented and functional programming)  general-purpose programming language. Created by Apple primarily for iOS app development on macOS. Swift works with Cocoa and Cocoa Touch frameworks and is compatible with Apple's core code base written in Objective-C. Swift was conceived as an easier to read and error-proof programming language than the previous Objective-C.

The development of programming languages leads to formation of language families. Each branch of languages, belonged to the same family has slightly different features and functionality, demonstrating at the same time, the same general approach and lots of similarities in programming principles and semantics standards.

Find out more about the category lists of families here:

https://en.wikipedia.org/wiki/Category:Programming_language_families
Additional Terms
Agile Software Development
- an approach to software development focused on the use of iterative development. This involves the dynamic formation of requirements, and ensures their implementation, by constant interaction and transparency within organised groups of various specialists. There are several methods related to the class of agile development methodologies, in particular extreme programming, DSDM, Scrum, FDD. The main ideas People and interaction are more important than processes and tools; A working product is more important than exhaustive documentation; Cooperation with the customer is more important than agreeing on the terms of the contract; Readiness for change is more important than following the original plan. Most agile methodologies are aimed at minimizing risks by bringing development to a series of short cycles called iterations, which usually last two to three weeks. Each iteration looks like a software project in miniature and includes all the tasks necessary to produce a mini-increase in functionality: planning, requirements analysis, design, programming, testing and documentation. Although a single iteration is usually not enough to release a new version of the product, it is supposed that a flexible software project is ready for potential release at the end of each iteration. At this point, the team reassesses the development priorities. Agile methods emphasize direct face-to-face communication. Most agile teams are located in the same office. As a minimum, the team includes "product owners" (the customer or his or her authorized representative who defines the product requirements, which role can be performed by the project manager, business analyst or client). The team should also include testers, interface designers, technical writers and managers. The general concept of the Agile approach is fixed in the <a href="/agile-software-development/">Agile Manifesto</a>. The main metric of agile methods is the working product. Preferring direct communication, agile-methods reduce the amount of written documentation in comparison with other methods. Agile implementation leads to the flexibility of the developed software and provide the customer with the valuable, working program in the shortest period of time. It helps to test the business model on the real market and provide the solution as a skeleton working version, adding more and more features and beauty during the next sprints.
>>
Algorithm
is a sequence of instructions designed to perform specific actions. The algorithm, written in the machine language, with the help of computer facilities, is used to provide solutions to problems. In math and computer science, this is a clear specification of how to solve a class of tasks. This can perform data processing, calculations, and automated reasoning duties. Here are some examples: Search engines - these use special algorithms to collect the information in the internet and display to the user relevant results for a specific query from their search index. In programming, algorithms are commonly written as functions, which perform as small programs that can be used by a larger entity. For example, an image displaying application may include a library of special functions, each using a custom algorithm to render different file formats. The image editing program can contain algorithms designed to process and edit image data. Examples of such, include resizing, sharpening, cropping, blurring, color enhancement, and red-eye reduction. There are many ways to perform an operation in a software program. Developers often try to create the most efficient algorithm, by which programmers can ensure that their programs run fast and use minimal system resources. Of course not all algorithms are perfect for the first time. As a result, programmers improve existing algorithms and incorporate them into future software updates. When you see a new version of an "optimized" or "faster performance" software program, it means the new version includes more polished algorithms. Different definitions of an algorithm contain the following series of general requirements: Discreteness - an algorithm should represent the problem solving process as the sequential execution of some simple steps. At the same time, its each step requires a finite length of time. Determinateness. At each moment of time the next step of the work is uniquely determined by the state of the system. Clearness - an algorithm should include only those commands that are accessible to the executor and are included in its command system. Completeness - in the narrower sense of an algorithm as a mathematical function, with properly specified initial data, the algorithm must complete the work and produce the result in a certain number of steps. Massiveness (universality) - an algorithm should be applicable to different sets of initial data. Effectiveness - completion of an algorithm by certain results.
>>
API
(application programming interface) is a set of ready-made classes, procedures, functions, structures and constants provided by the application (library, service) or operating system for use in external software products. Programmers use this when writing all kinds of apps, in order to implement data exchange with external software in the most efficient manner. API as a way of app integration API defines the functionality that the program provides. If the program is treated as a control unit, then the API is a set of "knobs" that are available to the user and which he or she can tweak. Software components interact with each other through the API. In this case, components usually form a hierarchy - high-level components use APIs of low-level, and those in turn use APIs of lower-levels. API of operating systems. Problems related to API diversity. Almost all operating systems (UNIX, Windows, OS X, etc.) have an API, with which programmers can create applications for this operating system. The main API of operating systems is a number of system calls. In the software industry, common standard APIs for basic functionality have an important role, since they ensure that all programs that use the common API will work equally well, or at least in the usual way. In case of the GUI API, this means that the programs will have a similar user interface, which facilitates the process of mastering new software products. On the other hand, the differences in the APIs of different operating systems make it very difficult to transfer apps between platforms. However, there are various methods for circumventing this complexity - writing "intermediate" APIs (wxWidgets API API, GTK, etc.), writing libraries that display system calls of one OS to calls of another OS (runtime environments like Wine, cygwin and etc.), the introduction of coding standards in programming languages (for example, the standard C language library), writing of interpreted languages implemented on different platforms (perl, python, php, Java, etc.).
>>
Additional Terms of Programming
See more words
Networking Hardwear
Networking hardware is a set of devices necessary for the operation of a computer network, for example: a router, a switch, a hub, a patch panel, etc.&nbsp;&nbsp; Active networking hardware is equipment containing electronic circuits receiving power from an electrical network or other sources and performing the functions of amplification, signal transformation, and others. &nbsp;This means such equipment is able to process the signal by special algorithms. In the networks there is a package data transfer, each data package also contains technical information about its source, purpose, the integrity of information, etc, allowing to deliver the package to its destination. Active networking hardware includes the following types of devices: Network adapter - a card that is installed in the computer and provides its connection to the LAN; Repeater - a device, usually with two ports, designed to repeat the signal in order to increase the length of the network segment; Hub (active hub, multiport repeater) - a device with 4-32 ports, used to connect users to the network; Bridge - a device with 2 ports, usually used to combine several LAN (local area network) workgroups, allows you to filter network traffic by analyzing network (MAC) addresses; Switch - a device with several (4-32) ports, used to combine several LAN working groups (otherwise called multiport bridge); Router (router) - used to combine several &nbsp;LAN workgroups, allows you to filter network traffic by analyzing network (IP) addresses; Retranslator - to create an advanced wireless network with a larger coverage area and is an alternative to a wired network. By default, the device operates in the signal amplification mode and acts as a relay station that catches the signal from the base network router or access point and transfers it to previously unavailable sites. Media converter - a device, usually with two ports, used to convert the data transfer medium (coaxial-twisted pair, twisted-pair optical fibre); A network transceiver is a device, usually with two ports, commonly used to convert the data format. A transceiver can be mentioned as a Medium Access Unit (MAU) in Ethernet network terminology. Additionally to this set of devices, to become a part of the network, a computer must have a network interface card (NIC). Mentioned above networking hardware can be called a set of computer networking devices or network equipment. &nbsp;
>>
API
(application programming interface) is a set of ready-made classes, procedures, functions, structures and constants provided by the application (library, service) or operating system for use in external software products. Programmers use this when writing all kinds of apps, in order to implement data exchange with external software in the most efficient manner. API as a way of app integration API defines the functionality that the program provides. If the program is treated as a control unit, then the API is a set of "knobs" that are available to the user and which he or she can tweak. Software components interact with each other through the API. In this case, components usually form a hierarchy - high-level components use APIs of low-level, and those in turn use APIs of lower-levels. API of operating systems. Problems related to API diversity. Almost all operating systems (UNIX, Windows, OS X, etc.) have an API, with which programmers can create applications for this operating system. The main API of operating systems is a number of system calls. In the software industry, common standard APIs for basic functionality have an important role, since they ensure that all programs that use the common API will work equally well, or at least in the usual way. In case of the GUI API, this means that the programs will have a similar user interface, which facilitates the process of mastering new software products. On the other hand, the differences in the APIs of different operating systems make it very difficult to transfer apps between platforms. However, there are various methods for circumventing this complexity - writing "intermediate" APIs (wxWidgets API API, GTK, etc.), writing libraries that display system calls of one OS to calls of another OS (runtime environments like Wine, cygwin and etc.), the introduction of coding standards in programming languages (for example, the standard C language library), writing of interpreted languages implemented on different platforms (perl, python, php, Java, etc.).
>>
Material Design
- the design of software and applications for Android operating systems. First introduced at the Google I/O conference on June 25, 2014. Initially, within the company, it was invented under the codename "quantum paper.&rdquo; The main metaphor of material design is flat paper, located in three-dimensional space. The idea of this design can be seen in applications that open and collapse like cards, using the effects of shadows. According to the idea of Google's designers, apps should not have sharp corners; cards should switch smoothly and almost imperceptibly. Material design in Applications The material design is used fully in the operating systems Android Lollipop, Android Marshmallow, Android Nougat, Android Oreo and also in some apps of previous versions. Why apps need a material design It serves two purposes: the standardisation of numerous products of the company; the unification of app user interfaces for Android. After the dominance of &ldquo;skeuomorphism,&rdquo; the web and the interfaces tilted toward a radical flattening, but it turned out to be just one more extreme. In order to be understandable and international, the objects of the interface should have an analogue, a metaphor in the real world. Such a metaphor was paper. Thin, flat, but located in three-dimensional space and having shadows, speed of movement, and acceleration. 4 principles of Material Design Material Design is based on four basic principles: Tactile surfaces. The interface is composed of tangible layers of so-called "digital paper". These layers are located at different heights and cast shadows on each other, which helps users to better understand the anatomy of the interface and the principle of interaction with it. Polygraphic design. If we count the layers as pieces of "digital paper", then, as regards "digital ink" (all that is depicted on "digital paper"), an approach is taken from traditional graphic design: for example, magazine and poster. Meaningful animation. In the real world, objects do not arise from nowhere and do not disappear into anywhere. Therefore, in Material Design, we always think about how to use the animation in layers and in "digital ink" to give users hints about the interface. Adaptive design. It's about how we apply the previous three concepts on different devices with different resolutions and screen sizes. The material design is one of the modern trends in the visualisation of mobile applications whose popularity is growing day by day.
>>
View all IT-related terms
Results for "DEV"
Logo Magora LTD
close
Get in touch
Do you agree to the personal data processing?


Logo Magora LTD
close
Thank you very much.

Your registration to the webinar on the 27th of September at 2 p.m. BST was successfuly completed.
We will send you a reminder on the day before the event.
Magora team
Registration for a webinar

"Let Smart Bots Speed up your Business"
Date: 27.09.2018 Time: 2 p.m. BST
Do you agree to the personal data processing?