C++ is a general-purpose programming language, developed by Bjarne Stroustrup as an extension of the C language, or "C with Classes". It has imperative, object-oriented and generic programming features, while providing facilities for low-level memory manipulation, it is always implemented as a compiled language, many vendors provide C++ compilers, including the Free Software Foundation, Intel, IBM, so it is available on many platforms. C++ was designed with a bias toward system programming and embedded, resource-constrained software and large systems, with performance and flexibility of use as its design highlights. C++ has been found useful in many other contexts, with key strengths being software infrastructure and resource-constrained applications, including desktop applications and performance-critical applications. C++ is standardized by the International Organization for Standardization, with the latest standard version ratified and published by ISO in December 2017 as ISO/IEC 14882:2017.
The C++ programming language was standardized in 1998 as ISO/IEC 14882:1998, amended by the C++03, C++11 and C++14 standards. The current C++ 17 standard supersedes these with an enlarged standard library. Before the initial standardization in 1998, C++ was developed by Danish computer scientist Bjarne Stroustrup at Bell Labs since 1979 as an extension of the C language. C++20 is the next planned standard, keeping with the current trend of a new version every three years. In 1979, Bjarne Stroustrup, a Danish computer scientist, began work on "C with Classes", the predecessor to C++; the motivation for creating a new language originated from Stroustrup's experience in programming for his Ph. D. thesis. Stroustrup found that Simula had features that were helpful for large software development, but the language was too slow for practical use, while BCPL was fast but too low-level to be suitable for large software development; when Stroustrup started working in AT&T Bell Labs, he had the problem of analyzing the UNIX kernel with respect to distributed computing.
Remembering his Ph. D. experience, Stroustrup set out to enhance the C language with Simula-like features. C was chosen because it was general-purpose, fast and used; as well as C and Simula's influences, other languages influenced C++, including ALGOL 68, Ada, CLU and ML. Stroustrup's "C with Classes" added features to the C compiler, including classes, derived classes, strong typing and default arguments. In 1983, "C with Classes" was renamed to "C++", adding new features that included virtual functions, function name and operator overloading, constants, type-safe free-store memory allocation, improved type checking, BCPL style single-line comments with two forward slashes. Furthermore, it included the development of a standalone compiler for Cfront. In 1985, the first edition of The C++ Programming Language was released, which became the definitive reference for the language, as there was not yet an official standard; the first commercial implementation of C++ was released in October of the same year.
In 1989, C++ 2.0 was released, followed by the updated second edition of The C++ Programming Language in 1991. New features in 2.0 included multiple inheritance, abstract classes, static member functions, const member functions, protected members. In 1990, The Annotated C++ Reference Manual was published; this work became the basis for the future standard. Feature additions included templates, namespaces, new casts, a boolean type. After the 2.0 update, C++ evolved slowly until, in 2011, the C++11 standard was released, adding numerous new features, enlarging the standard library further, providing more facilities to C++ programmers. After a minor C++14 update released in December 2014, various new additions were introduced in C++17, further changes planned for 2020; as of 2017, C++ remains the third most popular programming language, behind Java and C. On January 3, 2018, Stroustrup was announced as the 2018 winner of the Charles Stark Draper Prize for Engineering, "for conceptualizing and developing the C++ programming language".
According to Stroustrup: "the name signifies the evolutionary nature of the changes from C". This name is credited to Rick Mascitti and was first used in December 1983; when Mascitti was questioned informally in 1992 about the naming, he indicated that it was given in a tongue-in-cheek spirit. The name comes from C's ++ operator and a common naming convention of using "+" to indicate an enhanced computer program. During C++'s development period, the language had been referred to as "new C" and "C with Classes" before acquiring its final name. Throughout C++'s life, its development and evolution has been guided by a set of principles: It must be driven by actual problems and its features should be useful in real world programs; every feature should be implementable. Programmers should be free to pick their own programming style, that style should be supported by C++. Allowing a useful feature is more important than preventing every possible misuse of C++, it should provide facilities for organising programs into separate, well-defined parts, provide facilities for combining separately developed parts.
No implicit violations of the type system (but allow explicit violations.
Microsoft Windows is a group of several graphical operating system families, all of which are developed and sold by Microsoft. Each family caters to a certain sector of the computing industry. Active Windows families include Windows Embedded. Defunct Windows families include Windows Mobile and Windows Phone. Microsoft introduced an operating environment named Windows on November 20, 1985, as a graphical operating system shell for MS-DOS in response to the growing interest in graphical user interfaces. Microsoft Windows came to dominate the world's personal computer market with over 90% market share, overtaking Mac OS, introduced in 1984. Apple came to see Windows as an unfair encroachment on their innovation in GUI development as implemented on products such as the Lisa and Macintosh. On PCs, Windows is still the most popular operating system. However, in 2014, Microsoft admitted losing the majority of the overall operating system market to Android, because of the massive growth in sales of Android smartphones.
In 2014, the number of Windows devices sold was less than 25 %. This comparison however may not be relevant, as the two operating systems traditionally target different platforms. Still, numbers for server use of Windows show one third market share, similar to that for end user use; as of October 2018, the most recent version of Windows for PCs, tablets and embedded devices is Windows 10. The most recent versions for server computers is Windows Server 2019. A specialized version of Windows runs on the Xbox One video game console. Microsoft, the developer of Windows, has registered several trademarks, each of which denote a family of Windows operating systems that target a specific sector of the computing industry; as of 2014, the following Windows families are being developed: Windows NT: Started as a family of operating systems with Windows NT 3.1, an operating system for server computers and workstations. It now consists of three operating system subfamilies that are released at the same time and share the same kernel: Windows: The operating system for mainstream personal computers and smartphones.
The latest version is Windows 10. The main competitor of this family is macOS by Apple for personal computers and Android for mobile devices. Windows Server: The operating system for server computers; the latest version is Windows Server 2019. Unlike its client sibling, it has adopted a strong naming scheme; the main competitor of this family is Linux. Windows PE: A lightweight version of its Windows sibling, meant to operate as a live operating system, used for installing Windows on bare-metal computers, recovery or troubleshooting purposes; the latest version is Windows PE 10. Windows IoT: Initially, Microsoft developed Windows CE as a general-purpose operating system for every device, too resource-limited to be called a full-fledged computer. However, Windows CE was renamed Windows Embedded Compact and was folded under Windows Compact trademark which consists of Windows Embedded Industry, Windows Embedded Professional, Windows Embedded Standard, Windows Embedded Handheld and Windows Embedded Automotive.
The following Windows families are no longer being developed: Windows 9x: An operating system that targeted consumers market. Discontinued because of suboptimal performance. Microsoft now caters to the consumer market with Windows NT. Windows Mobile: The predecessor to Windows Phone, it was a mobile phone operating system; the first version was called Pocket PC 2000. The last version is Windows Mobile 6.5. Windows Phone: An operating system sold only to manufacturers of smartphones; the first version was Windows Phone 7, followed by Windows Phone 8, the last version Windows Phone 8.1. It was succeeded by Windows 10 Mobile; the term Windows collectively describes any or all of several generations of Microsoft operating system products. These products are categorized as follows: The history of Windows dates back to 1981, when Microsoft started work on a program called "Interface Manager", it was announced in November 1983 under the name "Windows", but Windows 1.0 was not released until November 1985.
Windows 1.0 was to achieved little popularity. Windows 1.0 is not a complete operating system. The shell of Windows 1.0 is a program known as the MS-DOS Executive. Components included Calculator, Cardfile, Clipboard viewer, Control Panel, Paint, Reversi and Write. Windows 1.0 does not allow overlapping windows. Instead all windows are tiled. Only modal dialog boxes may appear over other windows. Microsoft sold as included Windows Development libraries with the C development environment, which included numerous windows samples. Windows 2.0 was released in December 1987, was more popular than its predecessor. It features several improvements to the user memory management. Windows 2.03 changed the OS from tiled windows to overlapping windows. The result of this change led to Apple Computer filing a suit against Microsoft alleging infringement on Apple's copyrights. Windows 2.0
Visual Basic is a third-generation event-driven programming language from Microsoft for its Component Object Model programming model first released in 1991 and declared legacy during 2008. Microsoft intended Visual Basic to be easy to learn and use. Visual Basic was derived from BASIC and enables the rapid application development of graphical user interface applications, access to databases using Data Access Objects, Remote Data Objects, or ActiveX Data Objects, creation of ActiveX controls and objects. A programmer can create an application using the components provided by the Visual Basic program itself. Over time the community of programmers developed third-party components. Programs written in Visual Basic can use the Windows API, which requires external function declarations; the final release was version 6 in 1998. On April 8, 2008, Microsoft stopped supporting Visual Basic 6.0 IDE. The Microsoft Visual Basic team still maintains compatibility for Visual Basic 6.0 applications on Windows Vista, Windows Server 2008 including R2, Windows 7, Windows 8, Windows 8.1, Windows Server 2012, Windows 10, Windows Server 2016, Windows Server 2019 through its "It Just Works" program.
In 2014, some software developers still preferred Visual Basic 6.0 over Visual Basic. NET. In 2014 some developers lobbied for a new version of the VB6 programming environment. In 2016, Visual Basic 6.0 won the technical impact award at The 19th Annual D. I. C. E. Awards. A dialect of Visual Basic, Visual Basic for Applications, is used as a macro or scripting language within several Microsoft applications, including Microsoft Office. Like the BASIC programming language, Visual Basic was designed for an easy learning curve. Programmers can create both complex GUI applications. Programming in VB is a combination of visually arranging components or controls on a form, specifying attributes and actions for those components, writing additional lines of code for more functionality. Since VB defines default attributes and actions for the components, a programmer can develop a simple program without writing much code. Programs built with earlier versions suffered performance problems, but faster computers and native code compilation has made this less of an issue.
Though VB programs can be compiled into native code executables from version 5 on, they still require the presence of around 1 MB of runtime libraries. Core runtime libraries are included by default in Windows 2000 and but extended runtime components still have to be installed. Earlier versions of Windows, require. Forms are created using drag-and-drop techniques. A tool is used to place controls on the form. Controls have attributes and event handlers associated with them. Default values may be changed by the programmer. Many attribute values can be modified during run time based on user actions or changes in the environment, providing a dynamic application. For example, code can be inserted into the form resize event handler to reposition a control so that it remains centered on the form, expands to fill up the form, etc. By inserting code into the event handler for a keypress in a text box, the program can automatically translate the case of the text being entered, or prevent certain characters from being inserted.
Visual Basic can create executables, ActiveX controls, or DLL files, but is used to develop Windows applications and to interface database systems. Dialog boxes with less functionality can be used to provide pop-up capabilities. Controls provide the basic functionality of the application, while programmers can insert additional logic within the appropriate event handlers. For example, a drop-down combination box automatically displays a list; when the user selects an element, an event handler is called that executes code that the programmer created to perform the action for that list item. Alternatively, a Visual Basic component can have no user interface, instead provide ActiveX objects to other programs via Component Object Model; this allows for an add-in module. The runtime recovers unused memory using reference counting, which depends on variables passing out of scope or being set to Nothing, avoiding the problem of memory leaks that are possible in other languages. There is a large library of utility objects, the language provides basic support for object-oriented programming.
Unlike many other programming languages, Visual Basic is not case-sensitive—though it transforms keywords into a standard case configuration and forces the case of variable names to conform to the case of the entry in the symbol table. String comparisons are case sensitive by default; the Visual Basic compiler is shared with other Visual Studio languages. By default the restrictions in the IDE do not allow creation of some targets and threading models, but over the years, developers have bypassed these restrictions. Visual Basic builds upon the characteristics of BASIC. There are no line numbers as in earlier BASIC, code is grouped into subroutines or methods: Sub... End Sub. Code Statements have no terminating character other than a line ending. Versions since at least VB 3.0 allowed that statements can be implicitly multi-line with concatenation of strings or explicitly using the underscore character at the end of lines. Code comments are done with a single apostrophe character.' This is a comment Looping statement blocks begin and end with keywords: Do...
Loop, While... End While, For... Next. Multiple variable assignment is not
The at sign, @, is read aloud as "at" or "at symbol":. It is used as an accounting and invoice abbreviation meaning "at a rate of", but it is now most used in email addresses and social media platform "handles"; the term "alphasand" is sometimes used to refer to "@" in East Asia. Although not included on the keyboard of the earliest commercially successful typewriters, it was on at least one 1889 model and the successful Underwood models from the "Underwood No. 5" in 1900 onward. It started to be used in email addresses in the 1970s, is now universally included on computer keyboards; the absence of a single English word for the symbol has prompted some writers to use the French arobase or Spanish and Portuguese arroba, or to coin new words such as ampersat and strudel, but none of these has achieved wide use. In unicode, the at sign is encoded as & commat; the earliest yet discovered. Held today in the Vatican Apostolic Library, it features the @ symbol in place of the capital letter alpha "Α" in the word Amen.
Why it was used in this context is still a mystery. In terms of the commercial character of the at sign, there are several theories pending verification. One theory is that the symbol developed as a mercantile shorthand symbol of "each at," the symbol resembling a lowercase "a" inside a lowercase "e," to distinguish it from the different "at" or "per." For example, the cost of "12 apples @ $1" would be $12, whereas the cost of "12 apples at $1" would be $1, a crucial and necessary distinction. Another theory is. One reason for the abbreviation saving space and ink. Since thousands of pages of biblical manuscripts were copied onto expensive papyrus or hides, the words at, toward, by and about repeated millions of times throughout the pages, a considerable amount of resources could be spared this way. A theory concerning this graph puts forward the idea that the form derives from the Latin word ad, using the older form of lowercase d: ∂ used in handwritten German well into the 20th century and known to mathematicians and engineering students as the partial derivative symbol.
It has been theorized that it was an abbreviation of the Greek preposition ανά, meaning at the rate of or per. Another theory is that it derives from the Norman French "à" meaning "at" in the "each" sense, i.e. "2 widgets à £5.50 = £11.00", comes the accountancy shorthand notation in English commercial vouchers and ledgers to the 1990s, when the email usage overtook the accountancy usage. It is used like this in Modern French, Swedish or Czech; the compromise between @ and à in French handwriting is found in street market signs. Whatever the origin of the @ symbol, the history of its usage is more well-known: it has long been used in Spanish and Portuguese as an abbreviation of arroba, a unit of weight equivalent to 25 pounds, derived from the Arabic expression of "the quarter". An Italian academic, Giorgio Stabile, claims to have traced the @ symbol to the 16th century, in a mercantile document sent by Florentine Francesco Lapi from Seville to Rome on May 4, 1536; the document is in particular the price of an @ of wine in Peru.
In Italian, the symbol was interpreted to mean amphora. The word arroba means both the at-symbol and a unit of weight. In Italian, the symbol represents one amphora, a unit of weight and volume based upon the capacity of the standard amphora jar; until now the first historical document containing a symbol resembling a @ as a commercial one is the Spanish "Taula de Ariza", a registry to denote a wheat shipment from Castile to Aragon in 1448. In contemporary English usage, @ is a commercial symbol, called at site or at rate meaning at and at the rate of, it has been used in financial documents or grocers' price tags, is not used in standard typography. In 2012, "@" was registered as a trademark with the German Patent and Trade Mark Office. A cancellation request was filed in 2013, the cancellation was confirmed by the German Federal Patent Court in 2017. A common contemporary use of @ is in email addresses, as in email@example.com. BBN Technologies' Ray Tomlinson is credited with introducing this usage in 1971.
This idea of the symbol representing located at in the form user@host is seen in other tools and protocols. On web pages, organizations obscure email addresses of their members or employees by omitting the @; this practice, known as address munging, makes the email addresses less vulnerable to spam programs that scan the internet for them. On some social media platforms and forums, usernames are in the form @johndoe. On online forums without threaded discussions, @ is used to denote a reply. In some cases, @ is used for "attention" in email message