|
|
Home » Community » Coffee corner » Which is the biggest drawback of U++ "unpopuliarity"?
|
Re: Which is the biggest drawback of U++ "unpopuliarity"? [message #5922 is a reply to message #2851] |
Wed, 25 October 2006 14:01   |
cioannou
Messages: 45 Registered: January 2006 Location: Greece
|
Member |
|
|
This is the second time I try to use Upp and try to drop other tools.
Before reading my opinion please bear in mind:
(http://www.artima.com/cppsource/cpp0x.html)
In an article of Bjarn Stroustrup I read the following sentence which I strongly believe that is absolutely correct.
In my opinion, C++ has become too "expert friendly"
IMHO the most important drawbacks are:
1) Documentation (I am trying to find where "FindFile" is documented and all filesystem related functions).
2)I am not a C++ expert and took me half an hour forum searching to understand how to trap and handle events coming from my "form".
3)Upp Looks "closed" and proprietary.
4)Controls are not very nice looking (e.g. treeview looks terrible, no gradient toolbars) Modern applications should look like this(Sample Powerbuilder application):

http://kodigo.sourceforge.net/images/Screenshots/screenshot4 .png
5)Everybody likes to write code fast and easy, that's why VB,Powerbuilder and similar tools have loyal friends. Except from the C++ gurus/professionals every other mortal soul hates pointers and strange syntax. So the closer you get to VB or Powerbuilder the more friends you'll get.
6) Comments in examples. Not everyone is a C++ guru.
Suggestions:
1) Better docs
2) A simple but nice looking upp example (with comments in the code) that demonstrates all controls, event handling, database connections, filesystem access, common dialogs (fileopen, browseforfolder, fontselect), external library integration (e.g. Boost), imagebuttons, toolbar, statusbar,resizeable controls.
And please avoid the <expr>?<foo>:<bar> confusing C++ shortcuts.
3)Take a look in Powerbuilder, I think it's the friendliest and RADest tool I've ever seen.
|
|
|
Re: Which is the biggest drawback of U++ "unpopuliarity"? [message #5927 is a reply to message #5922] |
Wed, 25 October 2006 14:25   |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
Quote: |
In my opinion, C++ has become too "expert friendly"
|
BTW, I am thinking about makeing Bjarne aware about our efforts, maybe he could like what we are trying to achieve (well, most likely not (no STL), but we can try 
Any ideas how to do that right?
Mirek
P.S.:
As for the comments, I think it is still the same story, documentation comes first. But I think quite a lot effort was spend there, so current status is much better (and will gradually continue to improve).
As for the look, current goal is to achieve host platform defined look and feel with skinning option - 80% of that is now achieved (minus GTK themes). Anyway, looking at the screenshot, its look is unstandard for XP. I think we should start with standard and move to advanced later (which in the end can be achieved by skinning).
Mirek
|
|
|
Re: Which is the biggest drawback of U++ "unpopuliarity"? [message #5931 is a reply to message #5927] |
Wed, 25 October 2006 14:43   |
cioannou
Messages: 45 Registered: January 2006 Location: Greece
|
Member |
|
|
luzr wrote on Wed, 25 October 2006 15:25 |
As for the comments, I think it is still the same story, documentation comes first. But I think quite a lot effort was spend there, so current status is much better (and will gradually continue to improve).
As for the look, current goal is to achieve host platform defined look and feel with skinning option - 80% of that is now achieved (minus GTK themes). Anyway, looking at the screenshot, its look is unstandard for XP. I think we should start with standard and move to advanced later (which in the end can be achieved by skinning).
Mirek
|
Maybe you're right but since January (The last time I visited Upp) I didn't notice any major changes.
What do you mean by "unstandard"?
Besides the docs, I believe that my suggestion No2 would be helpful enough and faster to do compared to analytical docs.
[Updated on: Wed, 25 October 2006 14:45] Report message to a moderator
|
|
|
Re: Which is the biggest drawback of U++ "unpopuliarity"? [message #5934 is a reply to message #5931] |
Wed, 25 October 2006 14:56   |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
cioannou wrote on Wed, 25 October 2006 08:43 |
Maybe you're right but since January (The last time I visited Upp) I didn't notice any major changes.
|
Have you downloaded dev version? (Note: Right now, there are not gradients in toolbar yet. But rest is more or less used from XP theming engine).
Quote: |
What do you mean by "unstandard"?
|
E.g. unless you have different theme installed (which U++ now can use too).
Quote: |
Besides the docs, I believe that my suggestion No2 would be helpful enough and faster to do compared to analytical docs.
|
You might be right. I agree that all examples are written for C++ programmers. And even for them, initial learning curve is steep.
In fact, I believe there is something like "being ready" factor in U++ now: We have designed it because we were sick of other solutions. So when you are aged C++ programmer sick of problems, chances are hight you will understand U++ quick, because it primarily tries to find solution of problems almost every programmer has... (but is unaware of them before creating a couple of applications). (That of course does not mean that U++ is problem-less, but most of problems now are about lacking features, not core idea - I believe that one is sound for solving problems U++ was designed to solve).
Anyway, back to the comment. Besides lack of time, I think another problem is that core U++ developers are not quite surewhat to comment and what not. For me, all examples are too simple and understandable, I am really not sure what should be commented and what not.
Also, I am not sure we should try to teach U++ users how to program in C++...
Mirek
|
|
|
|
Re: Which is the biggest drawback of U++ "unpopuliarity"? [message #5942 is a reply to message #5934] |
Wed, 25 October 2006 15:48   |
cioannou
Messages: 45 Registered: January 2006 Location: Greece
|
Member |
|
|
Quote: |
Anyway, back to the comment. Besides lack of time, I think another problem is that core U++ developers are not quite surewhat to comment and what not. For me, all examples are too simple and understandable, I am really not sure what should be commented and what not.
Also, I am not sure we should try to teach U++ users how to program in C++...
|
Can't tell you what to comment exactly, but I guess that whatever is UPP related and since we're talking about examples code almost everything needs a comment.
U++ users are supposed to have read one or two "C++ for Dummies" or "Teach yourself C++" books.
btw, IMHO this is the biggest problem in C++, the most difficult part in this language is to get from beginner to intermediate by writing real-world useful programs.There is absolutely no book/guide/tutorial that would get you from simple "cout << 'Hello World'" subjects to real-world GUI programming without having to really master templates, vectors, pointers that point to pointers that point to functions etc. If we're talking about users, all this is crap, especially for business application developers. All they need is a full featured IDE/RAD tool, ready made functionality (e.g. data editing made easy) and a bunch of commands and controls to work with. (Reminder: VB, Powerbuilder, Delphi etc.)
|
|
|
Re: Which is the biggest drawback of U++ "unpopuliarity"? [message #5946 is a reply to message #5922] |
Wed, 25 October 2006 18:11   |
yeohhs
Messages: 75 Registered: November 2005 Location: Malaysia
|
Member |
|
|
cioannou wrote on Wed, 25 October 2006 20:01 |
2) A simple but nice looking upp example (with comments in the code) that demonstrates all controls, event handling, database connections, filesystem access, common dialogs (fileopen, browseforfolder, fontselect), external library integration (e.g. Boost), imagebuttons, toolbar, statusbar,resizeable controls.
And please avoid the <expr>?<foo>:<bar> confusing C++ shortcuts.
|
I'm working on something like this now. I had known about Ultimate++ since 2005 but had not committed to learning it until several days ago.
After having used MFC, FLTK, FOX GUI and wxWidgets for the past few years I can say that Ultimate++ certainly could do better than all of them. I see it has huge potential.
The example I'm working on now is a simple "dialog-based" U++ application with splash screen, menu, shortcut keys, toolbar, status bar, about dialog, user-created dialog, auto-save config and Topic++ help for the program, etc. This version aims to show how the simple program features are implemented in U++. I want to keep this project simple but close to real world applications.
Once this is done, I will re-use the same application but focus on other aspects of Ultimate++ like database, web, etc. This way, I think will be easy for newbies to learn U++.
I'll post a zip of the first app when it is ready.
Best Regards,
Yeoh
|
|
|
|
|
Re: Which is the biggest drawback of U++ "unpopuliarity"? [message #5959 is a reply to message #5946] |
Thu, 26 October 2006 01:07   |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
Quote: |
The example I'm working on now is a simple "dialog-based" U++ application with splash screen, menu, shortcut keys, toolbar, status bar, about dialog, user-created dialog, auto-save config and Topic++ help for the program, etc. This version aims to show how the simple program features are implemented in U++. I want to keep this project simple but close to real world applications.
|
It would be nice to make it an article too, similiar to that one of Matt Ezell on Codeproject (good for U++ PR). It would be excellent to get all main C++ related sites "populated" with some U++ articles....
Mirek
|
|
|
|
|
|
|
Re: Which is the biggest drawback of U++ "unpopuliarity"? [message #6001 is a reply to message #5992] |
Fri, 27 October 2006 10:39   |
richardt
Messages: 8 Registered: March 2006 Location: Germany
|
Promising Member |
|
|
luzr wrote on Thu, 26 October 2006 19:36 |
Quote: |
I think that a few simple examples would lead to an enormous increase in interest and more cross fertilisation in the Ü++ dB forum.
|
BTW, there is now quite complete SQLApp in examples. Do you find it helpful?
MIrek
|
My comment was based on the 605 release, maybe I should have looked at the DEV releases . Ok. Ive now installed 609 and found the rather nice example that you refer to. I get errors when I try to compile it, what am I doing wrong?:
----- CtrlLib ( GUI GCC32 DEBUG SHARED DEBUG_FULL BLITZ LINUX ) (1 / 12)
----- SqlCtrl ( GUI GCC32 DEBUG SHARED DEBUG_FULL BLITZ LINUX ) (2 / 12)
BLITZ: SqlCtrl.cpp SqlArray.cpp SqlDetail.cpp SqlDlg.cpp SqlConsole.cpp SqlObjectTree.cpp
/home/richard/upp/uppsrc/SqlCtrl/SqlConsole.cpp:255: error: declaration of ‘typedef class SqlConsole SqlCon
sole::CLASSNAME’
/home/richard/upp/uppsrc/SqlCtrl/SqlConsole.cpp:196: error: conflicts with previous declaration ‘typedef cl
ass SqlConsole SqlConsole::CLASSNAME’
/home/richard/upp/uppsrc/SqlCtrl/SqlConsole.cpp: In member function ‘void SqlConsole::ListPrintRow()’:
/home/richard/upp/uppsrc/SqlCtrl/SqlConsole.cpp:533: error: ‘DocReport’ was not declared in this scope
/home/richard/upp/uppsrc/SqlCtrl/SqlConsole.cpp:533: error: expected `;' before ‘report’
/home/richard/upp/uppsrc/SqlCtrl/SqlConsole.cpp:534: error: ‘report’ was not declared in this scope
/home/richard/upp/uppsrc/SqlCtrl/SqlConsole.cpp: In member function ‘void SqlConsole::ListPrintList()’:
/home/richard/upp/uppsrc/SqlCtrl/SqlConsole.cpp:551: error: ‘DocReport’ was not declared in this scope
/home/richard/upp/uppsrc/SqlCtrl/SqlConsole.cpp:551: error: expected `;' before ‘report’
/home/richard/upp/uppsrc/SqlCtrl/SqlConsole.cpp:552: error: ‘report’ was not declared in this scope
/home/richard/upp/uppsrc/Oracle/Oracle8.h: At global scope:
/home/richard/upp/uppsrc/Oracle/Oracle8.h:63: error: ‘OCI8Connection’ was not declared in this scope
/home/richard/upp/uppsrc/Oracle/Oracle8.h:63: error: template argument 1 is invalid
/home/richard/upp/uppsrc/SqlCtrl/SqlObjectTree.cpp: In member function ‘void SqlObjectTree::OpenTableColumn
s(int, const SqlObjectTree::Item&)’:
/home/richard/upp/uppsrc/SqlCtrl/SqlObjectTree.cpp:358: error: call of overloaded ‘Add(int&, const Image&,
SqlObjectTree::Item, String&)’ is ambiguous
/home/richard/upp/uppsrc/CtrlLib/TreeCtrl.h:137: note: candidates are: int TreeCtrl::Add(int, const Image&,
Value, bool)
/home/richard/upp/uppsrc/CtrlLib/TreeCtrl.h:138: note: int TreeCtrl::Add(int, const Image&,
Value, Value, bool)
/home/richard/upp/uppsrc/SqlCtrl/SqlObjectTree.cpp:364: error: call of overloaded ‘Add(int&, const Nuller&,
SqlObjectTree::Item, String&)’ is ambiguous
/home/richard/upp/uppsrc/CtrlLib/TreeCtrl.h:137: note: candidates are: int TreeCtrl::Add(int, const Image&,
Value, bool)
/home/richard/upp/uppsrc/CtrlLib/TreeCtrl.h:138: note: int TreeCtrl::Add(int, const Image&,
Value, Value, bool)
/home/richard/upp/uppsrc/SqlCtrl/SqlObjectTree.cpp:368: error: call of overloaded ‘Add(int&, const Nuller&,
SqlObjectTree::Item, String)’ is ambiguous
/home/richard/upp/uppsrc/CtrlLib/TreeCtrl.h:137: note: candidates are: int TreeCtrl::Add(int, const Image&,
Value, bool)
/home/richard/upp/uppsrc/CtrlLib/TreeCtrl.h:138: note: int TreeCtrl::Add(int, const Image&,
Value, Value, bool)
SqlCtrl: 6 file(s) built in (0:03.65), 608 msecs / file, duration = 3663 msecs
There were errors. (0:03.69)
Thanks in advance for your help.
Richard
|
|
|
Re: Which is the biggest drawback of U++ "unpopuliarity"? [message #6002 is a reply to message #307] |
Fri, 27 October 2006 11:23   |
yeohhs
Messages: 75 Registered: November 2005 Location: Malaysia
|
Member |
|
|
I'm also unable to compile the SQLApp example.
Here is the error message.
Quote: |
----- SQLApp ( GUI MAIN MSC8 WIN32 MSC ) (13 / 13)
query.cpp
C:\upp\uppsrc\CtrlLib/EditCtrl.h(130) : error C2248: 'Ctrl::operator =' : cannot access private member
declared in class 'Ctrl'
C:\upp\uppsrc\CtrlCore/CtrlCore.h(234) : see declaration of 'Ctrl::operator ='
C:\upp\uppsrc\CtrlCore/CtrlCore.h(172) : see declaration of 'Ctrl'
This diagnostic occurred in the compiler generated function 'EditField &EditField::operator =(
EditField &)'
|
Thanks for any help.
Best Regards.
Yeoh
|
|
|
|
Re: Which is the biggest drawback of U++ "unpopuliarity"? [message #7376 is a reply to message #307] |
Mon, 25 December 2006 04:12   |
agent86
Messages: 11 Registered: December 2006 Location: San Francisco
|
Promising Member |
|
|
I just got to using U++ a week ago. My first impression was that it was strange. I was a stranger in a strange land. The very first screen asked me about copying some items to my local directory. I had no idea how to answer that. The next screen was equally unfamiliar. I needed to pick something called an assembly or a package or something. Whatever they are...
I was expecting a 3-piece window with a welcome screen etc. I didn't get the comformtable feeling of VC++ or eclipse or MinGWStudio or Code::Blocks or wxHatch or Anjuta or DevC++ or Kdevelop or....
U++ and TheIDE was strange. I had to expend a fair amount of energy to investigate. I had to investigat to see if I wanted to learn more. If MinGWStudio were not dead (dying?), I might have just stuck with that. I believe that the work I have done with U++ and TheIDE has been and will be very beneficial.
Forgive the military analogy, but I feel that with the other IDSs I was flying biplanes in the 1920s. After a week with TheIDE I feel like someone sat me in the cockpit of a supersonic fighter/bomber. I am in an unknown and maybe a little scary environment but have more weapons at my disposal than I can begin to appreciate at my current learning level. Slightly overwhelmed...
So I needed to get past the "What the heck is a package and a nest and an assembly and why doesn't U++ talk about projects?" stage. I'm doing ok so far.
So the short answer is that the immediate impression of U++ is that it is "very different". There is a learning curve just to see what it does.
As for the look and feel of the widgets, they seem great to me. I don't want much more than they look reasonable and work the way one would expect. Users should not be supprised about how they work. (EG. in Java Swing, if you tab across a dialog box and highlight the desired button and hit Return, you don't get the selected button action. You get the default button. Space bar gets the highlighted button. Not intuitive. I hate it.)
Anyway, I develop on both Linux and Windows. I like that my apps can be based on the same code set. I have been using wxWidgets and am ready to switch, but I am not sure yet...cause I need to read some documentation. Maybe I haven't found it yet, but a simple overview of the widgets and how they fit together would help. What constitutes an application, the typical flow, etc.
Thanks for reading, Sometimes I get carried away.
|
|
|
Re: Which is the biggest drawback of U++ "unpopuliarity"? [message #7377 is a reply to message #7376] |
Mon, 25 December 2006 08:01   |
fallingdutch
Messages: 258 Registered: July 2006
|
Experienced Member |
|
|
nice little story ... enjoyed reading it 
A list of all Widgets:
http://www.ultimatepp.org/src$CtrlLib$index$en-us.html
Documentation:
hit ctrl+Enter in TheIDE will open Topic++ and show you the latest documentation.
within Linux i prefer not to copy the sources to my home dir because with a update you won't get the newest code.
A Project can consist of one or more Packages.
A Package is Part of a Assembly, which can contain other Assemblys to be able to compile. (right click on an Assably and select edit and you will see the Package nests, a line with all Assamblies used to get Packages compiled. output dir is the part where the compiled and linked files will be. Common files is - afaik - not used very much if at all.
Hope i could help some,
Bas
[Update: ] i don't know wich version you use, but 612-dev1 is worth it to be downloaded ... 612-dev2 is not so clean but the most current
[Updated on: Mon, 25 December 2006 08:02] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Sat Apr 26 03:24:39 CEST 2025
Total time taken to generate the page: 0.01267 seconds
|
|
|