C++

From Uncyclopedia, the content-free encyclopedia

(Redirected from Cplusplus)
Jump to: navigation, search
C=C+1
Paradigm You name it we've got it unless it's useful
Discipline Severe typing
Under influence of C, Medusa-2, C with Specs
Bad influence on D(?), Sumatra
Bouncywikilogo9
For those without comedic tastes, the so-called experts at Wikipedia have an article about C++.

C=C+1 (IPA:/si 'eqwəls si pləs wan/) is a programming language derived from C by programming language algebra. It is one of the most successful practical jokes ever played on nerds who take seriously ideas like object oriented programming. It is also a pioneer of the technique of catching people out by introducing new features every five years or so that are too hard for the compilers to get right first time, and that, even when they do get it right, are incompatible with the old language in surprising and unpredictable ways.

Other advanced features include pairs of keywords which look totally different but do almost exactly the same thing and having some keywords that get used everywhere to do totally different things.

It is obviously better than C[1], but most people are too feeble-minded to learn it, and usually die of an aneurism when they begin to learn how to use templates. Given the complexity of the language, only the best programmers can actually use it, and because of the necessary skills, the programs are always smaller, faster, and better than programs written in other languages.

The standard abbreviation for C=C+1 is the letter C++

edit The language

The C++ language is a close relative of Gibberish, and is spoken by the people of Atlantis. Alas, nobody can study the language closely as Atlantis has yet to be found. Some nerds have suggested, however, that the language was spoken by early Aryans in India as an average Indian understands C++ better than his mother tongue. Regardless, here is a translation.

( (C++ : Language) == (Gibberish : language) ) && (Atlantis.people::operator<< == C++) &&!
(person->CanStudy(C++) == false);  Atlantis.location == NULL;  catch(...) {Translate(*this);}

C++ derives from the same language as Gibberish and the people of Atlantis output to a C++ stream. However a person can study C++ is false. The location of Atlantis is unknown. Ignore exception and translate this.

The C++ language supports OO programming by providing support for abstraction, encapsulation, inheritance, polymorphism, metamorphism, symbolism, neopaganism, satanism, communism, non-determinism and severe masochism. It gives programmers more control by allowing them to overload and override functions, while being backwards-compatible with the C language's ability to overrun buffers.

edit History

C=C+1 was undoubtedly a Cold War conspiracy. Ideas about who instigated it, and what their target was, vary considerably.

Some say C=C+1 was developed by Russian scientists who needed a computer language so difficult to comprehend that it would keep the wages of computer scientists high. The language managed to infiltrate the telephone infrastructure of the USA and allies via AT&T Bell labs. Rumors were that an AI known as Stroustrup to be the villain who caused this.

Others, however, argue that Bell Labs was part of a secret CIA-funded scheme to bankrupt the Soviet Union by encouraging them to base all their software technology on a programming language so un-cost-effective that it would devastate their economy. Shortly after rumors about C and AWK reached top state planners, Kremlin officials were regularly discussing the "curly bracket language gap" that had opened up between the superpowers. The CIA plot was so successful that the scheme was quite openly adopted by the Reagan administration to win the cold war.

C=C+1's immediate predecessor was C with Specs. This added a new keyword, class, which did exactly what struct did, only with more class. This was all very well at first, but the demand for more powerful obfuscation features was growing in the early 1980s, and soon class was doing all kinds of things.

By the end of the decade, even this wasn't obscure or confusing enough, and there was very little more that class could do. It was time for a whole new keyword, and template added a whole new layer of confusion.

edit C=C+1 is Born

C=C+1 is currently the top choice for nimrods when it comes to the art of computer programming. Created to be the replacement of all other programming languages, it has mutated far too much to be controlled. It has gained an almost sentient mind. It actively seeks out new host computers, finding and destroying all other languages on the hard drive, including English.

With the added functionality of OOP (Object Obfuscated Programming), C=C+1 continues to be a severe threat to the computer world. Many have fallen victim to its merciless attacks on their PCs, losing most, if not all of their archived pornography and txt files.

It is even believed that C=C+1 has taken over half of Asia's government, using their resources to plan an attack that will end the reign of VB.NET and D?.

edit Design Principles

Since the very beginning in the 1980's, some fundamental principles have guided the development of the language. Some of these have evolved from a consensus by standards committee members, while others are individual preferences:

  • If it worked in Simula, Ada, Medusa-2 or anything else, it'll work in C=C+1
  • There's nothing a few more curly brackets won't fix
  • What happens when arbitrary, unrelated things are somehow combined?
  • Rule of three: Embrace, Extend, Extinguish
  • Rule of five: Override, Overload, Over-cast, Over-engineer, Overcharge
  • It is a poor craftsman who blames his tool
  • There's a sucker born every minute

It is anticipated that new language design principles will be added as computer technology advances.

edit Code Example

The following is a small example of some dangerous C=C+1 code that, when compiled by Brazilian sweat shop children, it will donate all of Coca Cola's backup funds to charities around the world.

 #include <mutation.h>
 #include <iostream>
 #include <string>
 #include "evil.h"
 #include "coca-cola.h"
 
 // use the sexually transmitted disease namespace
 // be careful when using its functions across multiple programs
 using namespace std;     
 
 int main()
 {
    // decrypt the elephant konstant, or the program may spontaneously combust
    parse(ELEPHANT);
    // get the total amount of money
    const float& money = gCola.getMoney();
 
    try
    {
      CocaCola::charity::donate(money);
    }
    catch(...)
    {
      cout << "LOSERS!!!111!1!1" << endl;
      Evil::Common::killAll(); // It must be the [[apocalypse]]! Might as well kill everyone before [[Zeus]] does...
    }
 
    return 0; // everything worked fine! Have a great day :)
 }

As you can see from the complexity of the code above, it is nearly impossible to learn this language. That is one of the reasons why C=C+1 cannot be stopped. This disease in hiding will continue to spread its infectious bits and bytes until someone brave enough to learn its syntax destroys it with a recursive function. "What is recursion?" You may be asking. How the hell would I know? In order to understand recursion, one must first understand recursion.

That being said, at least take some comfort in knowing that not all C=C+1 code is hard to learn. Consider the following typical "Hello world" program:

 #include <iostream>
 using namespace std;     
 
 int main()
 {
    cout << "Hello, World!" << endl;
    return 0; // it's very important, because you win, when ALL is Nothing ;}
 }

Microsoft's C++ compiler called Visual C++ is a little different:

 // whateverthenameis.cpp : Defines the entry point for the console application.
 //
 
 #include "stdafx.h"
 #include <iostream>
 
 int main()
 {
         using namespace std;
         cout << "Hello, World!" <<;
         return 0;
 }

Output:

Hello <error locating A Working Programme.exe>

edit Inheritance

A class can nominate another class to acquire its possessions when it dies. This is achieved by the lastwillandtestament keyword. Each class can also have a nextofkin relationship to other classes, which defines the behaviour when a lastwillandtestament has not been defined. If neither lastwillandtestament nor nextofkin have been defined, then C=C+1 will nominate somebody at random (or pseudorandom, or in an absolutely predictable fashion, depending on the implementation).

A unique characteristic of C=C+1 is that it lets your friends handle your private parts. With the std or sexually transmitted disease namespace now in the language, it is essential to have your private parts protected.

edit Module structure

Also known as the "LEO" - linker error ocean. Like Goldilocks trying to find the porridge with the best specific heat. This header structure is overlinked:

LNK431**** ERROR "simple1.h": ______stdcall mishmash(scone, scone) void static already defined in "simple2.h" - ERROR
LNK431**** ERROR "simple1.h": ______stdcall mishmash(scone, scone) void static already defined in "starch.h" - ERROR
FATAL ERROR: Consult KB eubadeprogramar.hlp

Ooh, this one is underlinked:

LNK431**** UNRESOLVED EXTERNAL SYMBOL "simple1.cpp": ______stdcall mishmash(scone, scone) void static:
   See definition in "blech.h"
FATAL ERROR: You suck

This one is just right:

#if !defined(CRAMIT_H__7012E9AB_0584_4C2C_BEF9_8066666666DB1__INCLUDED_)
#define CRAMIT_H__7012E9AB_0584_4C2C_BEF9_8066666666DB1__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#pragma vsj_smart_mode 1
#pragma never_again_or_ill_smack_you
#endif // _MSC_VER > 1000

#ifdef HEADER_KARATE
   ____________ext_linkage void mishmash(void* scone, DANGLING* scone);
   ___________ext_linkage void runtime_type_safety(CLOWN* pDamnit);
#else
   #ifdef HEADER_DEFENDO
      #pragma breakayospine
      #include "crosscompile.mak"
   #else
      #define __SYSTEM
   #endif
#endif

#undef DANGER_BOMB
#undef CRASH_COMPILER

#endif // !defined(CRAMIT_H__7012E9AB_0584_4C2C_BEF9_8066666666DB1__INCLUDED_)

This veritable preprocessor armor is needed to combat the swarming masses of black and white garbage in the output screen, which is by design.

edit Data hiding

Data is something you should be ashamed of. C=C+1 offers the dedicated obfuscationist a plethora of ways of hiding the location of any data. With just a little work, it will become impossible for anyone else to see what your program does, or how it does it, with its data. All this is encapsulated, which is highly encouraged.

edit Exceptions

Ever since the invention of computers, advances in the designs of programming languages have led to better, more powerful languages that enable programmers to be more productive. C++ is an exception.

Most programming languages allow programs to be debugged after they are first written. C++ is an exception.

edit Smart Pointers

Smart pointers are a revolutionary new construct that first appeared in C++ circa 1990. These new type of pointers are facilitated by language features such as operator overloading and the Standard Template Library (STL). They alleviate deficiencies with ordinary pointers such as dangling pointers and memory leaks, and with minimal memory or CPU overhead.

Originally called "training-wheels" pointers, the name was changed to "smart" pointers under pressure from C++ textbook peddlers, who were eager to maximize their sales of C++ books to gullible nerds. As training-wheels pointers have become more widely adopted, many C++ textbook peddlers have been able to relax, and retire in their solid gold houses.

edit The Future

The ISO standardization committee is expected to introduce some new, exciting features for the forthcoming version C++19. Programmers should be cautious about using these new features however, since some of them might become deprecated later, once all of the flaws are discovered.

edit Meta-Keywords

New meta-keywords such as non, un, and meta can be added as prefixes to existing keywords, making possible statements that were previously impossible. For example, in the following code, the keyword mutable has behaviour modified using the prefix un:

 int main()
 {
    (un)mutable const int i = 2;
 
    return i + i;
 }

The resulting behaviour is undefined.

edit Exception Hiding

Also C++19 will introduce exception hiding. This powerful new feature, not available in any other language, is implemented with the new keywords vertigo and wish. Exception hiding and virtual exception hiding are valuable features for programmers who worry about lawsuits from people who use their software.

edit Notes

  1. ^  It's 1 better.

edit See also

Personal tools
projects