[ANN] U++ development system 0.1.5

M

Mirek Fidler

Ultimate++ is the complete C++ GPL licensed Windows/Linux
development system. It consists of set of libraries (GUI, SQL, web etc.)
and the integrated development environment (TheIDE).

The goal of this project is to invent new effective ways of creating
desktop applications, significantly reducing application's source size
(and this way development costs). Currently, we see more than 50% source
size reduction compared to established platforms.

Current development version is quite stable and useful, but so far lacks
most of documentation (that is our goal for this year). Anyway, you
should be able to install it and compile examples, or even recompile
development enviroment itself (sources are included).

See www.ntllib.org/upp

Mirek
 
J

jacob navia

----- Original Message -----
From: "Mirek Fidler" <[email protected]>
Newsgroups: comp.lang.c++
Sent: Sunday, February 08, 2004 10:13 PM
Subject: [ANN] U++ development system 0.1.5

Ultimate++ is the complete C++ GPL licensed Windows/Linux
development system. It consists of set of libraries (GUI, SQL, web etc.)
and the integrated development environment (TheIDE).

The goal of this project is to invent new effective ways of creating
desktop applications, significantly reducing application's source size
(and this way development costs). Currently, we see more than 50% source
size reduction compared to established platforms.

Current development version is quite stable and useful, but so far lacks
most of documentation (that is our goal for this year). Anyway, you
should be able to install it and compile examples, or even recompile
development enviroment itself (sources are included).

See www.ntllib.org/upp

Mirek

Hi Mirek

Downloaded your ultimate IDE, installed it. Then, loaded the
"animated hello" example.

Then, pressed "Build". After one minute of waiting the ide finished
(I am running an "old" machine: amd64 bits 2GHZ with 512 MB of
RAM, bought last november... )

Too slow. Well. doesn't matter. Then I pressed the "Debug" button
and I was confronted with gdb crashing.

Gdb crashes in
00408898 mov eax,dword ptr [ebx+40D0h]

ebx contains 773, an invalid address. I used the MSVC debugger
to find this out.

ebx is the first parameter since the statement right before makes
mov ebx,dword ptr [ebp+8]
I went to the calling function and I found:

00459CD8 sub esp,0Ch
00459CDB push eax
00459CDC call 00408890

Note that eax is pushed without being initialized.
That is why it crashes.
I scanned upwards and downwards there is no eax initialization...

There is a wrong code generation somewhere in the gdb code.
OK. No debugger, doesn't matter.

But well, the generated application runs and displays an animated
"hello" message, nothing else. It is a few hundred lines.

The application size is 8 665 752 bytes. 8MB for a "hello world".
This is the absolute record, produced by your ultimate IDE.
The object file size is 2 160 681 bytes.

In disbelief I wanted to write a small test program but I couldn't.

There are no more source files. You have to do "packages", and nowhere
is
explained what a package is, or how you build one.
There are everywhere strange symbols and concepts that are impossible
to figure out.
<ide-aux>
<temp-aux>
and a LONG etc.

How is the user supposed to figure out what to do to compile something
(there is no "help" or "documentation" button...) is a mystery to me.

I was surprised that the IDE itself was only 2.6MB, much less than the
hello
example. I found the solution when I looked at the executable itself.
The
Ide wasn't compiled with gcc but probably with MSVC, since the linker
version
is 7.1 and gcc always writes in the executables 2.56 as linker
version.
MSVC dot NET writes 7.1 if I remember correctly.

Ahhhh OK.

I wish you and your project good luck.

jacob
 
A

Amir Yantimirov

Mirek Fidler said:
Ultimate++ is the complete C++ GPL licensed Windows/Linux
development system. It consists of set of libraries (GUI, SQL, web etc.)
and the integrated development environment (TheIDE).

The goal of this project is to invent new effective ways of creating
desktop applications, significantly reducing application's source size
(and this way development costs). Currently, we see more than 50% source
size reduction compared to established platforms.

Current development version is quite stable and useful, but so far lacks
most of documentation (that is our goal for this year). Anyway, you
should be able to install it and compile examples, or even recompile
development enviroment itself (sources are included).

See www.ntllib.org/upp

Mirek

Hi,
recently I wrote article about some desired IDE features:
http://www174.pair.com/yamir/programming/sharplast.htm

It's obvious what Doc++ significally surpass my proposals
of class documentation but other ideas may be interesting.

Amir Yantimirov
 
M

Mirek Fidler

Then, pressed "Build". After one minute of waiting the ide finished
(I am running an "old" machine: amd64 bits 2GHZ with 512 MB of
RAM, bought last november... )

Too slow. Well. doesn't matter. Then I pressed the "Debug" button

It is slow for several reasons.

First, and most important, in first build, U++ builds all needed
libraries.

Then, GCC unfortunately is not the fastest compiler in the world.
and I was confronted with gdb crashing.

Gdb crashes in
00408898 mov eax,dword ptr [ebx+40D0h]

ebx contains 773, an invalid address. I used the MSVC debugger
to find this out.

So the crash was inside gdb ?
But well, the generated application runs and displays an animated
"hello" message, nothing else. It is a few hundred lines.

61 lines, actually.
The application size is 8 665 752 bytes. 8MB for a "hello world".
This is the absolute record, produced by your ultimate IDE.
The object file size is 2 160 681 bytes.

In debug mode, linked using MINGW ld. Release mode would be
significantly shorter; using our new LD replacement we are developing
right now, it should be even shorter.

Also, U++ in this moment preferes static linking. So minimal application
is quite long (about 700KB using MS compiler), but then it tends to grow
much slower. Consider what tools are already included in TheIDE - all in
2.5MB of code...
In disbelief I wanted to write a small test program but I couldn't.

There are no more source files. You have to do "packages", and nowhere
is
explained what a package is, or how you build one.

There is some preliminary explanation in Doc++ menu. Far from perfect,
but that is why this is version 0.1.5, not something like 0.99 or even
1.0...
I was surprised that the IDE itself was only 2.6MB, much less than the
hello
example. I found the solution when I looked at the executable itself.
The
Ide wasn't compiled with gcc but probably with MSVC, since the linker
version
is 7.1 and gcc always writes in the executables 2.56 as linker
version.
MSVC dot NET writes 7.1 if I remember correctly.

Yes, that is right. TheIDE is able to use GCC, MSVC or IntelC++
compilers. For general development we use MSVC - because it is faster,
and generates much smaller code. You can of course use Mingw to
recompile Ide too, but due to mingw LD it is twice as long...

Anyway, thank you for your input. And keep in mind that this is 0.1.5 -
thinks are not meant to be perfect so far!

Mirek
 
M

Mirek Fidler

recently I wrote article about some desired IDE features:

Yes, it seems that we both feels there is something really bad in
overloading sources with comments, "attributes" and other junk.

OTOH, I still believe that notion of source files is very important from
practical reasons. If nothing else, it keeps things simple... I vote for
plain source files, with ability to edit them as plain source files and
added support around (class browsing/documenting etc...).
It's obvious what Doc++ significally surpass my proposals
of class documentation but other ideas may be interesting.

It should and it will after next huge refactoring :) Frankly, right now
it is rather buggy and little bit impractical...

Mirek
 
M

Mirek Fidler

So the crash was inside gdb ?
Yes. gdb is not very stable under windows.

As on my system everything seems to run ok, maybe it could be related to
AMD64.... I do not mean that AMD64 is the problem, but debuging
registers etc. might behave slighty differently. Or, perhaps, are not
you runing WinXP64 ?

In any case, your observation could be valuable information for mingw
comunity. How about to try gdb without U++ and post results to mingw
team ?

Mirek
 
J

Jonathan Turkanis

Mirek Fidler said:
As on my system everything seems to run ok, maybe it could be related to
AMD64.... I do not mean that AMD64 is the problem, but debuging
registers etc. might behave slighty differently. Or, perhaps, are not
you runing WinXP64 ?

FWIW, I've had lots of problems with gdb MinGW crashing, with
perfectly good code that works on lots of other compiler/debuggers,
including gdb on Linux. Obviously you should try to track this down
since it happens with one of your example programs, but I think its
likely to be a gdb problem.

Jonathan
 
M

Mirek Fidler

FWIW, I've had lots of problems with gdb MinGW crashing, with
perfectly good code that works on lots of other compiler/debuggers,
including gdb on Linux. Obviously you should try to track this down
since it happens with one of your example programs, but I think its
likely to be a gdb problem.

Problem is that it does not crashes on my machine... :(

Other than that, I do not like version of gdb we are using too, as it
behaves very very slow...

Mirek
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,772
Messages
2,569,593
Members
45,111
Latest member
VetaMcRae
Top