{{stub}}{{language|Ultimate++
|exec=machine
|site=https://www.ultimatepp.org/www$uppweb$overview$en-us.html/
|safety=both
|gc=no
|parampass=both
|checking=both
|express=explicit
|strength=strong
|compat=both
|tags=upp
|bnf=https://www.ultimatepp.org/www$uppweb$overview$en-us.html
}}{{codepad}}{{allows|Network access}}{{allows|Database access
}}{{allows|Concurrency}}{{provides|Run time polymorphism}}{{provides|Compile time polymorphism}}{{allows|Windowing UI}}{{allows|Graphics}}{{allows|OpenGL}}{{allows|Dynamic linking}}{{provides|File access}}{{allows|File system access}}{{provides|Objects}}{{allows|Signal handling}}{{provides|Mutable state}}


'''Ultimate++''' is a rapid application development framework created by the '''U++ Team''' that combines [[C]] and [[C++]] into its own unique language.  Ultimate++ goes by the names of U++ and Upp and the authored by the '''Miroslav (Mirek) Fidler'''.  The purpose of Ultimate++ is to reduce code complexity.  

The Ultimate++ is easy to install and self-contained inside a integrated development environment simply called '''TheIDE'''.  The framework installs on all the major operating systems and even minor ones.  

https://www.ultimatepp.org/www$uppweb$overview$en-us.html

==Language==
This example is a hello world using the Upp namespace.

<pre>
#include <Core/Core.h>
#include <iostream>

using namespace Upp;


CONSOLE_APP_MAIN
{
	// Upp allows you to write C and C++ in the same namespace
	const Vector<String>& cmdline = CommandLine();
	printf("Hello World\n");                       // C
	std::cout << "and Hello World" << std::endl;   // C++
	for(int i = 0; i < cmdline.GetCount(); i++) {
	}
}
</pre>

{{out}}

<pre>
Hello World
and Hello World
<--- Finished in (0:00.20), exitcode: 0 --->
</pre>

<big>'''A+B B-A'''</big> &nbsp; 

<pre>
#include <Core/Core.h>
#include <stdio.h>
#include <iostream>

using namespace Upp;

CONSOLE_APP_MAIN
{
	int a, b;
	a = 2, b = 7;
	printf("%d + %d = %d\n\n",a,b, a + b);
	std::cout << b << " - " << a << " = " << b - a << std::endl;
	std::cout << std::endl;
	const Vector<String>& cmdline = CommandLine();
	for(int i = 0; i < cmdline.GetCount(); i++) {
	}
}
</pre>

{{out}}

<pre>
2 + 7 = 9

7 - 2 = 5

<--- Finished in (0:00.07), exitcode: 0 --->
</pre> 


<big>'''Conditional loop'''</big>

<pre>
#include <Core/Core.h>
#include <stdio.h>
#include <iostream>

using namespace Upp;

CONSOLE_APP_MAIN
{
	int a, b, i;
	i = 0, a = 2, b = 7;
	while(a < (b + 1)){
		i = i + a;
		printf("a = %d and i = %d\n",a,i);
		printf("%d + %d = %d\n\n",a,b, a + b);
		std::cout << b << " - " << a << " = " << b - a << std::endl;
		std::cout << std::endl;
		a = a + 1;

	}
	const Vector<String>& cmdline = CommandLine();
	for(int i = 0; i < cmdline.GetCount(); i++) {
	}
}
</pre>



==Versions==
* '''U++ 2015.1'''
* '''U++ 2017.1rc1'''
* '''U++ 2018.1.rc1'''
* '''U++ theide.app'''
* '''U++ 2019 MacOS'''
* '''U++ 2019.1rc3 mingw'''
* '''U++ 2019 win'''
* '''U++ 2019.1.rc6 x11'''
* '''U++ 2020.2rc2 posix'''
* '''U++ 2020.2rc1 win'''

{{language programming paradigm|procedural}}
{{language programming paradigm|imperative}}
{{language programming paradigm|object-oriented}}
{{language programming paradigm|functional}}
{{language programming paradigm|general-purpose}}
<br clear="both">