132 lines
No EOL
3.2 KiB
Text
132 lines
No EOL
3.2 KiB
Text
{{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>
|
|
|
|
<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"> |