BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps
Goto page 1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> C++ Builder (Non-Technical)
View previous topic :: View next topic  
Author Message
Matthew Mead
Guest





PostPosted: Mon Nov 22, 2004 9:29 pm    Post subject: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote



Last week, I gave a presentation on BCB6 to about 80 students at the
college where I teach. I do this about once or twice per year and the
response is always "Wow! I want this! It could have saved me months of
programming on my last project! ... etc." This is because most of them
have only attempted to create Windows programs the "old-fashioned" way,
by using (fighting) MFC or the even older-fashioned "one big switch
statement" using MSVC 6.0.

This year, they are using MS VS.NET 2003 and are wondering if it is as
good as BCB6 at creating RAD GUI applications. After the presentation,
one student went back to his computer and tried to build a simple GUI
program using VS.NET. His conclusion (after a brief session) was that by
using WinForms, you get everything that BCB6 has to offer for RAD GUI
development. I tried a WinForms application about a year ago and was not
impressed. It felt like VB circa 1996. I tried it again last night for a
trivial "Hello World" (one button on a form) and was unable to use
std::string from the STL. I Googled on some variation of "using the STL
with WinForms in VS.NET" and found a link explaining that this was not
possible.

http://www.gotdotnet.com/community/messageboard/Thread.aspx?id=275252

If this is indeed the case, it's a show-stopper for our students that
use the STL for much of their work.

So, my question (finally) to others that may have used BCB6 and VS.NET
with WinForms is: "What are your feelings about using VS.NET and
WinForms as a replacement for BCB6 for developing Win32 desktop GUIs?"
I'm not looking to bash MS or necessarily promote Borland, but I would
like to hear about things that BCB6 can do that WinForms with VS.NET
cannot do and vice-versa in the context of C++ programming. Note that
I'm also not worried about the future of BCB6 and the "Letter" that is
supposedly coming on December 15.

--
Matthew Mead
Project JEDI - www.delphi-jedi.org
Integrate Java and Delphi - www.pacifier.com/~mmead/jni/delphi

"IE is to web browsing as Notepad is to text editing."

Back to top
Harold Howe [TeamB]
Guest





PostPosted: Mon Nov 22, 2004 9:41 pm    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote




Quote:
This year, they are using MS VS.NET 2003 and are wondering if it is as
good as BCB6 at creating RAD GUI applications.
....
So, my question (finally) to others that may have used BCB6 and VS.NET
with WinForms is: "What are your feelings about using VS.NET and
WinForms as a replacement for BCB6 for developing Win32 desktop GUIs?"

You didn't mention a programming language. From a RAD standpoint, vs.net
+ winforms + C# is almost as good as BCB + VCL. However, if you start
developing an app with vs.net, you will start to see that the phrase
"almost as good as" can be replaced with "takes a backseat to". winforms
is just not as polished as the VCL.

In a simple hello world app, winforms and BCB seem almost identical in
term of RAD. But if you develop a real application, the differences will
make themselves apparent. You will notice that you have to write code to
accomplish tasks in winforms that didn't require any code in BCB.

If you want to use C++ as your language of choice, vs.net 2003 is sort
of an ugly duckling. The C++ compiler is good, but writing managed code
requires the use of numerous and cryptic language extensions. Learn to
love the underscore key.

H^2

Back to top
Duane Hebert
Guest





PostPosted: Mon Nov 22, 2004 9:56 pm    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote



"Harold Howe [TeamB]" <hhowe (AT) bcbdev (DOT) com> wrote

Quote:


You didn't mention a programming language. From a RAD standpoint, vs.net
+ winforms + C# is almost as good as BCB + VCL. However, if you start
developing an app with vs.net, you will start to see that the phrase
"almost as good as" can be replaced with "takes a backseat to". winforms
is just not as polished as the VCL.

Well he asked about STL so I assume he means non managed C++.
From my POV, msvc 7.1 is a very good c++ compiler but AFAICS
winforms requires managed extensions.



Back to top
Remy Lebeau (TeamB)
Guest





PostPosted: Mon Nov 22, 2004 9:59 pm    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote


"Harold Howe [TeamB]" <hhowe (AT) bcbdev (DOT) com> wrote


Quote:
The C++ compiler is good, but writing managed code requires
the use of numerous and cryptic language extensions.

Extensions that are no longer relavant, either. The whole Managed C++
Extensions are being done away with in the next C++CLI standard, opting for
something more integrated with the C++ language directly instead. At least,
that is what I got from what I saw in the presentations at BorCon.


Gambit



Back to top
Jeff Overcash (TeamB)
Guest





PostPosted: Mon Nov 22, 2004 10:11 pm    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote


Matthew Mead <mmead (AT) nospam (DOT) com> wrote:
Quote:
So, my question (finally) to others that may have used BCB6 and VS.NET
with WinForms is: "What are your feelings about using VS.NET and
WinForms as a replacement for BCB6 for developing Win32 desktop GUIs?"

That's a non starter. VS.NET using WinForms can not produce Win32
app, only .NET ones. So in this case its hands down BCB6 as
VS.NET can't do it.

Back to top
Matthew Mead
Guest





PostPosted: Mon Nov 22, 2004 11:45 pm    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote

In article <41a25d1d$1 (AT) newsgroups (DOT) borland.com>, [email]hhowe (AT) bcbdev (DOT) com[/email] says...

Quote:
You didn't mention a programming language. From a RAD standpoint, vs.net

I should have said that I was interested in a C++-only solution.

I would prefer no extensions (although even BCB has extensions that only
BCB will understand.) Being able to use C++ "as it was meant to be",
STL, heavy pointer manipulation, etc. The thing that immediately turned
me off from the "WinForms Project" I build last night was that the STL
was unavailable. I just can't believe this is the case. I think I read
on the web that there is something coming along like STL.NET or
something? That doesn't give me a good feeling.


Quote:
"almost as good as" can be replaced with "takes a backseat to". winforms
is just not as polished as the VCL.

This was immediately obvious to myself, since I expect a lot from a RAD
GUI tool like BCB or Delphi. IMO, the RAD capabilities of the WinForms
stuff are weak compared to BCB for non-trivial GUI applications. I think
the newbie may have a hard time understanding why BCB's capabilities are
a lot further along than WinForms.


Quote:
If you want to use C++ as your language of choice, vs.net 2003 is sort
of an ugly duckling. The C++ compiler is good, but writing managed code
requires the use of numerous and cryptic language extensions. Learn to

As Remy stated in this thread, it seems that the extensions in VS.NET
are no longer relevant. This is another thing that has always irked me
about MS: Changing things too often. Whether it was poor design or lack
of foresight or what, I don't know, but I don't want to learn something
new only to relearn something else shortly thereafter. We need RAD GUI
today, with all of the features/functionality of BCB6. If the "new"
VS.NET C++ tools are going to be the future, I'd just as soon not bother
with today's WinForms and wait for the next iteration of VS.NET., or
better yet, the next iteration of BCB :)

--
Matthew Mead
Project JEDI - www.delphi-jedi.org
Integrate Java and Delphi - www.pacifier.com/~mmead/jni/delphi


Back to top
Harold Howe [TeamB]
Guest





PostPosted: Tue Nov 23, 2004 12:11 am    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote


Quote:
As Remy stated in this thread, it seems that the extensions in VS.NET
are no longer relevant.

The extensions in vs.net 2003 are replaced with different extensions in
vs.net 2005. Still plenty of extensions. I suppose the old ones will
continue to work, but I don't know for sure.

H^2

Back to top
Andre Kaufmann
Guest





PostPosted: Tue Nov 23, 2004 5:19 am    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote

"Matthew Mead" <me (AT) nospam (DOT) com> wrote

Quote:
In article <41a25d1d$1 (AT) newsgroups (DOT) borland.com>, [email]hhowe (AT) bcbdev (DOT) com[/email] says...

You didn't mention a programming language. From a RAD standpoint, vs.net

I should have said that I was interested in a C++-only solution.

I would prefer no extensions (although even BCB has extensions that only
BCB will understand.) Being able to use C++ "as it was meant to be",
STL, heavy pointer manipulation, etc. The thing that immediately turned
me off from the "WinForms Project" I build last night was that the STL
was unavailable. I just can't believe this is the case. I think I read
on the web that there is something coming along like STL.NET or
something? That doesn't give me a good feeling.

I think you are comparing apples with oranges. E.g. you complained about that
you canīt use std::string directly. Since WinForms are completely based on
Unicode it would need (non visible) permanent conversion of the short
character string and you would surely loose information if you read unicode
strings.

The second point is that you are comparing native memory (STL) with
garbage collected memory (managed / WinForms).
Since both are very different itīs clear that there canīt be such a tight
integration of C++ as itīs there in BCB.
Though it can be done much better than it has be done with managed C++.
Herb Sutter has IHMO done a fair good job with C++/CLI and STL.NET.
So forget about managed C++.

Well, perhaps thereīs an even better integration which will be in
a new BCB version - but i doubt that it can be done that easy and simple
in C++ as it has been done in Delphi.

Quote:
This was immediately obvious to myself, since I expect a lot from a RAD
GUI tool like BCB or Delphi. IMO, the RAD capabilities of the WinForms
stuff are weak compared to BCB for non-trivial GUI applications. I think
the newbie may have a hard time understanding why BCB's capabilities are
a lot further along than WinForms.

Huh ? Delphi can do STL ? No - but Delphi can do WinForms too.
Have you had a look at it - how easy itīs to convert a VCL application
to a VCL.NET one ? If Delphi would have STL support i would
favor it over C++ for RAD.
And you should compare Delphi with C# not with C++, which by the way
the new Delphi compiler can compile and mix without any problems.


Quote:
As Remy stated in this thread, it seems that the extensions in VS.NET
are no longer relevant. This is another thing that has always irked me
about MS: Changing things too often. Whether it was poor design or lack

Poor design.
Hm. What has MS changed so often regarding C++ ? In fact there has been
nothing changed that much about the framework (MFC) in the last 10 years.
It should have been done more about it, donīt know why - but
isnīt native RAD C++ protected by software patents ?


Quote:
of foresight or what, I don't know, but I don't want to learn something
new only to relearn something else shortly thereafter. We need RAD GUI
today, with all of the features/functionality of BCB6. If the "new"

I donīt need C++ RAD, but what i need is a tight integration of my C++
code into RAD applications and i hope iīll get the RAD power of
Delphi / C# combined with the backend power of C++ (C++/CLI).
If C++ will be changed in that way that it can compile (nearly) as fast as
the other languages i will surely prefer C++ for RAD *g*.

Quote:
VS.NET C++ tools are going to be the future, I'd just as soon not bother
with today's WinForms and wait for the next iteration of VS.NET., or
better yet, the next iteration of BCB Smile

BCB has fair good RAD capabilities and the C++ team has done
a fair good job in integrating C++ into the VCL framework.
But regarding the IDE VC or CBuilderX have a much better project
management.

Andre



Back to top
Russell Hind
Guest





PostPosted: Tue Nov 23, 2004 10:40 am    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote

Harold Howe [TeamB] wrote:
Quote:


If you want to use C++ as your language of choice, vs.net 2003 is sort
of an ugly duckling. The C++ compiler is good, but writing managed code
requires the use of numerous and cryptic language extensions. Learn to
love the underscore key.


I've created a fairly complex app doing robotics control, data
acquisition with an RAD gui along with a couple of OpenGL 3D views in
the GUI and had it compiling in both BCB and VS.Net using Managed C++.

VS.Net isn't as polished as VCL as you say, but doesn't play nicely at
all with C++ in its current form. Not sure how much C++/CLI will help
with this.

Biggest problem I had was getting standard C++ classes to be able to
call back in to managed C++ classes e.g. forms.

We use std::list<boost::function> for events. In VCL you can just get a
member-function pointer and this pointer stored using boost::bind in a
boost::function for a callback.

You can't do this in managed C++ as I haven't found a way to get what is
effectively a c function pointer to a member-function of a managed
classs. This meant a lot of our current code just wouldn't work.

I have managed to get it working but requried quite a bit of extra work
to provide wrappers around all basic vcl/.net controls that took the
library events and turned them in to standard C++ function calls. That
way all code I wrote was written in standard C++ and the forms created
through RAD in VCL or .Net were basically resources used to lay out the
GUI and access the controls.

It was a lot of work and now I have the basics in place, I can develop
code that runs in both .Net and VCL but the bottom line is that VCL
plays much more nicely with C++ then .Net does, even with the
constructor differences etc of object pascal from C++.

But the compiler is a big improvement so that will be a major driving
factor for us to move to VS.Net unless Borland's open letter promises a
much improved compiler in the open letter (if they plan to continue VCL
development at all). Also, there are some very important areas of the
VS.Net IDE which are far superior to BCB6 IDE (project manager and in
VS.Net 2005 the debugger).

Cheers

Russell

Back to top
Hendrik Schober
Guest





PostPosted: Tue Nov 23, 2004 10:50 am    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote

Harold Howe [TeamB] <hhowe (AT) bcbdev (DOT) com> wrote:
Quote:
As Remy stated in this thread, it seems that the extensions in VS.NET
are no longer relevant.

The extensions in vs.net 2003 are replaced with different extensions in
vs.net 2005. Still plenty of extensions. I suppose the old ones will
continue to work, but I don't know for sure.

Nevertheless, AFAIK you can freely mix
and mingle std C++ with MC++ in VC2005.
Also, no underscores anymore. :)

Quote:
H^2


Schobi

--
[email]SpamTrap (AT) gmx (DOT) de[/email] is never read
I'm Schobi at suespammers dot org

"The presence of those seeking the truth is infinitely
to be prefered to those thinking they've found it."
Terry Pratchett



Back to top
Matthew Mead
Guest





PostPosted: Tue Nov 23, 2004 1:01 pm    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote

In article <41a2c89f (AT) newsgroups (DOT) borland.com>,
##andre_no_spam_.kaufmann_ (AT) _x_t-online (DOT) de## says...

Quote:
I think you are comparing apples with oranges. E.g. you complained about that
you canīt use std::string directly. Since WinForms are completely based on
Unicode it would need (non visible) permanent conversion of the short

I wasn't aware of the Unicode issues. One reason I want to "mix" the two
is that we have lots of standard C++ code that implements classic data
structures like red-black trees, graphs, hash tables, etc. We want to
simply use the code as-is but be able to put a GUI on top of it. This is
a no-brainer with BCB as I can easily put a GUI on top of the "back-
end" code.


Quote:
Herb Sutter has IHMO done a fair good job with C++/CLI and STL.NET.

I've read an article recently about this and it did sound promising.


Quote:
So forget about managed C++.

That is one of my concerns: Do I bother to learn the whole managed C++
technology or wait for the "new and improved" way? This is the sort of
"change" that I was referring to below. Especially if managed C++ might
be deprecated.


Quote:
Huh ? Delphi can do STL ? No - but Delphi can do WinForms too.

I mentioned Delphi in the context of a RAD tool for GUI development. I
didn't mean to imply that the language capabilities were on par with
C++. (Although, some people may say it's better because it's simpler.
<g>)


Quote:
Have you had a look at it - how easy itīs to convert a VCL application
to a VCL.NET one ? If Delphi would have STL support i would
favor it over C++ for RAD.

When Delphi 2005 arrives later this week, I will see how easy it is! <g>


Quote:
Poor design.
Hm. What has MS changed so often regarding C++ ?

MS hasn't changed anything with respect to C++ (except for their own
extensions, which is not unique to MS.)


Quote:
In fact there has been
nothing changed that much about the framework (MFC) in the last 10 years.

This is actually a change that I would have welcomed. Comparing MFC to
the VCL is not fair to MS. Fortunately, I only had to work with MFC on a
few projects. Unfortunately, I had already had experience working with
the VCL, so by comparison, MFC really looked inferior.


Quote:
I donīt need C++ RAD, but what i need is a tight integration of my C++
code into RAD applications and i hope iīll get the RAD power of
Delphi / C# combined with the backend power of C++ (C++/CLI).

This kind of sums up what I was talking about in that I have lots of C++
that I would simply like to "plug in" to a RAD application. Not all of
the development requires RAD, just the front-end. Although, I think some
people equate RAD with GUI. (When I think RAD, I think GUI.)


Quote:
BCB has fair good RAD capabilities and the C++ team has done
a fair good job in integrating C++ into the VCL framework.
But regarding the IDE VC or CBuilderX have a much better project
management.

We build all of our "back-end" code using the VC IDE. It has an
excellent debugger and project manager. For the front-end, I definitely
prefer BCB. This might explain why I'm not as vocal as other BCB users
regarding the future of BCB, since I don't do all of my work in BCB.
However, it would be really great to have a single tool that does both
very well.

Incidentally, before BCB (circa 1995), I had tons of C/C++ code written
with Borland C++ (ver. 3.1, I think). It took about 6 months to develop
the C++ DOS command-line app. I needed to put a GUI on it and run it
under Windows. I chose to put all of the C/C++ code in a DLL and create
the GUI with Delphi 1. I spent about a day to get the DOS .exe into a
Windows DLL using MSVC++ and about a week to get the Delphi GUI up and
running with the DLL. That was a turning point in the way that I looked
at programming languages/environments. I no longer felt that I must code
*everything* in a single language/environment. I have worked with many
developers since then who believe that *everything* in a project must be
coded with exactly one tool and one language. Bad times.

--
Matthew Mead
Project JEDI - www.delphi-jedi.org
Integrate Java and Delphi - www.pacifier.com/~mmead/jni/delphi

Back to top
Hendrik Schober
Guest





PostPosted: Tue Nov 23, 2004 1:20 pm    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote

Matthew Mead <me (AT) nospam (DOT) com> wrote:
Quote:
In article <41a2c89f (AT) newsgroups (DOT) borland.com>,
##andre_no_spam_.kaufmann_ (AT) _x_t-online (DOT) de## says...

I think you are comparing apples with oranges. E.g. you complained about that
you canīt use std::string directly. Since WinForms are completely based on
Unicode it would need (non visible) permanent conversion of the short

I wasn't aware of the Unicode issues. One reason I want to "mix" the two
is that we have lots of standard C++ code that implements classic data
structures like red-black trees, graphs, hash tables, etc. We want to
simply use the code as-is but be able to put a GUI on top of it. This is
a no-brainer with BCB as I can easily put a GUI on top of the "back-
end" code.

How about 'std::basic_string<TCHAR>'?

Quote:
[...]


Schobi

--
[email]SpamTrap (AT) gmx (DOT) de[/email] is never read
I'm Schobi at suespammers dot org

"The presence of those seeking the truth is infinitely
to be prefered to those thinking they've found it."
Terry Pratchett



Back to top
Peted
Guest





PostPosted: Tue Nov 23, 2004 2:19 pm    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote

On Tue, 23 Nov 2004 10:40:22 +0000, Russell Hind <no-one (AT) no-where (DOT) com>
wrote:

Quote:
I've created a fairly complex app doing robotics control, data
acquisition with an RAD gui along with a couple of OpenGL 3D views in
the GUI and had it compiling in both BCB and VS.Net using Managed C++.


If you could point me to some info on how to do opengl in managed c++
..net, that would be appreciated

thanks

Back to top
Mike Margerum
Guest





PostPosted: Tue Nov 23, 2004 3:33 pm    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote

I'm pretty sure .net 2.0 will allow you to much more easily use the STL
in conjunction with managed code.

Duane Hebert wrote:

Quote:
"Harold Howe [TeamB]" <hhowe (AT) bcbdev (DOT) com> wrote



You didn't mention a programming language. From a RAD standpoint, vs.net
+ winforms + C# is almost as good as BCB + VCL. However, if you start
developing an app with vs.net, you will start to see that the phrase
"almost as good as" can be replaced with "takes a backseat to". winforms
is just not as polished as the VCL.


Well he asked about STL so I assume he means non managed C++.
From my POV, msvc 7.1 is a very good c++ compiler but AFAICS
winforms requires managed extensions.



Back to top
Russell Hind
Guest





PostPosted: Tue Nov 23, 2004 5:32 pm    Post subject: Re: Opinions: BCB6 vs. VS.NET WinForms for RAD GUI apps Reply with quote

Peted wrote:
Quote:

If you could point me to some info on how to do opengl in managed c++
.net, that would be appreciated


I used plain old win32 opengl stuff. Created a panel in .Net, then got
its window handle and used that. This is because I already have my own
opengl classes written for win32 and that all still works in .Net and
managed C++.

Cheers

Russell

Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> C++ Builder (Non-Technical) All times are GMT
Goto page 1, 2, 3, 4, 5  Next
Page 1 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.