This blog is about IT, programming, software, development, making money online, surfing internet...
Showing posts with label Object-oriented programming. Show all posts
Showing posts with label Object-oriented programming. Show all posts
Sunday, October 2, 2011
BUILDING C # (C-Sharp)
BUILDING C #
Java developers have successfully settled many problems associated with portability in an environment of Internet, but not all. One of them - interlingual interoperability (cross-language interoperability) software and hardware products from different suppliers, or multi-programming (mixed-language programming). If this problem programs written in different languages, could work successfully with each other. Such interaction is necessary for large systems of distributed software (software), as well as programming software components as a valuable component that can be used in a wide range of computer languages and operating environments.
In addition, Java is not achieved full integration of the platform Windows. Although Java-program can be executed in the environment Windows (if vstanolennya virtual machine Java), Java and Windows is not tightly bound environments. And since Windows - this is the most widely used operating system in the world, the lack of direct support for Windows - a serious lack of Java.
To meet these needs, Microsoft has developed a language C #, C # was created in the late 1990s and became part of the joint. NET-into the Microsoft. She first saw light as an alpha version in mid-2000. The main architect of C # was Heylsberh Anders (Anders Hejlsberg) - one of the leading experts in the field of programming languages that has received worldwide recognition. Suffice it to say that in 1980 he was the author of a successful product Turbo Pascal, elegant implementation of which set the standard for all future compilers.
Fig. 1. The development of programming languages.
C # directly associated with C, C + + and Java. This is no accident. These three languages - the most popular and favorite programming language in the world.Moreover, almost all professional programmers today know C and C + +, and most know Java. Because C # is built on a solid, meaningful foundation, the transition from these "fundamental" as to "add" occurs without much effort on the part of programmers. As Anders Heylsberh not going to invent a new language, he focused on the introduction of improvements.
Pramovoyu C # language is C. From C C # language syntax inherited a lot of keywords and operators. In addition, C # is built on the improved object model defined in C + +.
C # and Java are related by the somewhat more complicated. As mentioned above, Java is also a descendant of C and C + +. It is also common with her like syntax and object model. Like Java C # is designed to create portable code.However, C # - not a descendant of Java. Rather, C # and Java can be considered cousins with a common ancestor, but have received different sets of parents' genes. "
INTERNET AND APPEARANCE LANGUAGE JAVA
INTERNET AND APPEARANCE LANGUAGE JAVA
The next level of progress on the steps of programming languages has become a language Java, which initially called Oak (translated from the English. "Oak").Work on its development started in 1991 by Sun Microsystems. The main driving force behind the development of Java, James Gosling was (James Gosling).
Java - a structural object-oriented programming language syntax and principles which "kind" of C + +. His innovative aspects of Java must not so much progress in the art of programming (though it took place), but changes in the computer environment. Even before the advent of Internet, most programs were written, kompilyuvalysya and intended for use with a processor and running a particular operating system. Despite the fact that programmers have always sought to make their programs so that they can be used repeatedly, the ability to easily migrate application from one environment to another was not yet achieved, besides the problem of portability constantly vikladalysya, accomplished much more pressing problems. But with the advent of global network Internet, which were linked different types of processors and operating systems, the old problem of portability has declared itself in full voice. To fix it required a new programming language, and it was Java
Interestingly, although the single most important aspect of Java (and the reason for the rapid recognition) can create cross-platform on it (compatible with multiple operating environments), portable code, the original impetus for the emergence of Java was not the Internet, and persistent demand for an independent fromplatform language that could be used in the process of creating software for embedded controllers. In 1993 it became clear that the problem of Cross-platform portability, which clearly proved in the creation code in embedded controllers, were also relevant when trying to write code for the Internet. For Internet - a great computing environment in which "lives" lots of different types of computers. And it turned out that the same methods of solving the problem of portability in a small scale can be successfully applied to a much larger, ie the Internet in Java portability is achieved by converting the source code into intermediate code, called byte-code), ie machine- independent code generated by Java-compiler.Byte-code runs a virtual machine Java (Java Virtual Machine - JVM) - a special operating system. So, Java-program could work in any environment where the available JVM. And since the JVM is relatively simple to implement, it quickly became available for many environments.
Using the Java-bytecode programs radically distinguishes them from the C and C + + programs. If the C / C + + program to perform in another system, it must be recompiled to machine code corresponding to that environment. So, to create C / C + + program, designed to perform in different environments, you must have several different executable (machine) versions of this program. It was impractical and expensive. Conversely, the use for Java-language programs of the intermediate was an elegant and cost-effective solution. That this decision was adapted for the language C #.
Java - a structural object-oriented programming language syntax and principles which "kind" of C + +. His innovative aspects of Java must not so much progress in the art of programming (though it took place), but changes in the computer environment. Even before the advent of Internet, most programs were written, kompilyuvalysya and intended for use with a processor and running a particular operating system. Despite the fact that programmers have always sought to make their programs so that they can be used repeatedly, the ability to easily migrate application from one environment to another was not yet achieved, besides the problem of portability constantly vikladalysya, accomplished much more pressing problems. But with the advent of global network Internet, which were linked different types of processors and operating systems, the old problem of portability has declared itself in full voice. To fix it required a new programming language, and it was Java
Interestingly, although the single most important aspect of Java (and the reason for the rapid recognition) can create cross-platform on it (compatible with multiple operating environments), portable code, the original impetus for the emergence of Java was not the Internet, and persistent demand for an independent fromplatform language that could be used in the process of creating software for embedded controllers. In 1993 it became clear that the problem of Cross-platform portability, which clearly proved in the creation code in embedded controllers, were also relevant when trying to write code for the Internet. For Internet - a great computing environment in which "lives" lots of different types of computers. And it turned out that the same methods of solving the problem of portability in a small scale can be successfully applied to a much larger, ie the Internet in Java portability is achieved by converting the source code into intermediate code, called byte-code), ie machine- independent code generated by Java-compiler.Byte-code runs a virtual machine Java (Java Virtual Machine - JVM) - a special operating system. So, Java-program could work in any environment where the available JVM. And since the JVM is relatively simple to implement, it quickly became available for many environments.
Using the Java-bytecode programs radically distinguishes them from the C and C + + programs. If the C / C + + program to perform in another system, it must be recompiled to machine code corresponding to that environment. So, to create C / C + + program, designed to perform in different environments, you must have several different executable (machine) versions of this program. It was impractical and expensive. Conversely, the use for Java-language programs of the intermediate was an elegant and cost-effective solution. That this decision was adapted for the language C #.
CREATING OOP and C + +
CREATING OOP and C + +
By the late 1970s the size of projects began to approach critical, above which method of structured programming and C language "gave up". So began to show new approaches to programming, allowing <solve this problem. One of them is called object-oriented programming (OOP). Using OOP, a programmer could handle much larger programs than before. But the problem was that C, the most popular at the time it does not support the PLO. The desire to work with object-oriented version of C language and eventually led to the creation of C + +.Language C + + was developed by Björn Straustrupom (Bjarne Stroustrup) in the company of Bell Laboratories (New Jersey), a year is 1979 and. Initially, the creator of a new language called it "C with classes", but in 1983 the name was changed to C + +. C + + includes all elements of the language C. Thus, C can be considered the foundation on which built C + +. Most additions are made to Straustrup C, were designed to support object-oriented programming. In fact, C + + - an object-oriented language version of MS creating C + + through C Straustrup ensure a smooth transition of many programmers for the PLO. Instead of having to learn a completely new language, C-programmer was enough just to learn new tools to take advantage of object-oriented techniques.During the 1980s, C + + and intensively developed at the beginning of the 1990s was already hotovp for public use. The growth of its popularity was of the explosive nature and by the end of this decade it has become the most used programming language. Nowadays, language C + + still has the undoubted advantage in developing high-performance system-level programs.
Object-oriented programming
Object-oriented paradigm has given class hierarchy. Object-oriented programming metaphor B. Straustrupa, author of C + + - one of the most popular languages for object-oriented programming - a highly intellectual synonymous with good programming. Indeed, new programming paradigms appear less frequently, not more than one per decade. The fact that object-oriented paradigm has been used successfully for 20 years, itself is an important confirmation of its viability.
The algorithms are implemented in procedural programming, too specific. Any modification - this is a new algorithm and thus the number of procedures and functions that are in use, excessive increases. Modular programming algorithms are grouped into modules, while inkapsulyuyuchy data structures. It now remains to take the next step - to build a hierarchy of modules or classes.
Such hierarchies may be two. The first of them - to be part of something. For example, the line is part of polyhedra, ridge - part of the face, top - part of the rib.Another hierarchy - to be a generalization or specification. For example, oval and polygon are specifying a plane figure, the circle - specifying an oval, quadrangle - specifying the polygon, quadrilateral further specification can serve as a parallelogram, rectangle, rhombus, square. The fact that a square, rhombus, rectangle is a parallelogram allows them full access to all software made for a parallelogram, a parallelogram, in turn, is a full quadrangle, and so on. This principle, known as reusable - again - Used became one of the most important achievements of object-oriented paradigm. Again, using already existing software in more concrete terms, we appends only the part concerning the characteristics of existing concrete. This principle was named programming by difference or posting programs.
Finally, object-oriented paradigm brings to the logical completion of the principle of modeling the real world, or rather the part, which serves as an abstraction program. With this approach, the program consists of objects that correspond to real objects or concepts. Implementation of the program is reduced to the interaction of objects, which serves as an abstraction of the real interaction prototypes. All this has provided an object-oriented approach is unquestionable leadership in developing programs.
Today the family of languages object-oriented programming three most prominent representative: C + +, Java and C # (C Sharp read). C + +, and today remains a recognized leader in the development of large and complex software systems.Java and C # have grown up with C + +. They have their scope of application in distributed programming and will be studied by us later.
Subscribe to:
Posts (Atom)

