As an IT manager hearing about the new .NET buzzwords and such, I am
wondering is there really any benefit from moving to .NET. I mean, I hear
all the buzzwords and marketing hype about web services and such (which
seems like that's what .NET is focused on), but I'm not hearing any hard
facts or things that would make a big difference to our compay.
Can anyone omit the marketing hype and tell me how any company would
*REALLY* benefit
if they were to jump on this band wagon?
--Steve Wilson
The new Visual Studio is much better too. Working with VB6 forms is a nightmare compared to how easy and wonderful it is to do
thing with Win Forms in .NET. I don't even do much of VB forms at all, and I can see how much better it is.
-mike
"Steve Wilson" <swi...@aol.com> wrote in message news:RKe48.106131$TC1.7...@bin5.nnrp.aus1.giganews.com...
For me, the most important things are the basic language features:
Inheritance, inheritance, inheritance, constructors, namespaces,
method overloading, nested classes, shared members.
Inheritance (including visual inheritance): improves code reusability
a lot! => time saving
Constructors: forces initialization of members - you'll never forget
to call your own Init method. => less bugs => time saving
Namespaces: much better structure - much better than the flat
2-dimensional COM model (ProgID: Project.Class) => better way to map
application design to program structure => better overview. Moreover:
shorter class names because they don't have to be unique in the whole
DLL/assembly but only within the namespace.
Method overloading: shortens method names. You don't have to sit there
to think about different names (Sub CalculateByByteArray; Sub
CalculateByString; Sub CalculateByAnyOtherTypeOfArguments) => time
saving (ok, not very much)
Nested classes: improve application structure: put a class where it
belongs => better overview
Shared Members: make globals superfluous (in most cases I think)
Additionally: you don't have to subclass (and get GPF's in the IDE)
for your own forms anymore. Simply override the message loop.
IDE: "Go to defintion" works for classes now. Well, *I* find it nice
:-)
That's what occured to me spontaneously.
Armin
"Steve Wilson" <swi...@aol.com> wrote in message
news:RKe48.106131$TC1.7...@bin5.nnrp.aus1.giganews.com...
How would you characterize the type of applications you're company is
creating? What benefits you would recieve from .NET depends on how you are
using your current toolset. Regarding web services, etc., I think marketing
is much more focused on that aspect of .NET than .NET is itself. In other
words, there is a ton of functionality available to .NET applications that
has nothing to do with web development.
In theory, there's basically nothing you can do in .NET that you can't
do with VB6 or Access and some API calls. In practice .NET applications can
be far more capable with far less work.
I don't think anyone will be able to give you the answer you're looking
for without writing a book :-) Maybe someone in your organization has
downloaded the .NET Framework?
As a VB6 developer, some of the things I look forward to with .NET:
Implementation Inheritance - This means:
a. Much less code tedium. Sure, you can shoe-horn this
into VB6 (I know, I've done it), but it's a chore and a
maintenance nightmare.
b. Extending Framework or third-party components and
controls, then just add or override the features you need.
Visual Inheritance - Create a base form or control and add
all the controls, fields, properties and methods that several
forms will share.
Control Docking and Anchoring - No more tedious and error-
prone resizing code.
ADO.NET - I could go on for a while here...Basically, if
you're using a disconnected data model now, ADO.NET will make
your life a lot easier. If you're a control freak (like me)
ADO.NET is a god-send. Ultimate control over how and when
data gets updated is too easy.
Data-binding - This is much improved over previous
implementations. Data-binding uses reflection, which means that
you can bind your controls to just about any class or collection.
Error Handling - Way to much to get into, but suffice it to say
that I might actually enjoy writing error handling routines in
.NET :-)
Event Handling - This also is improved over previous
implementations. In brief, its a lot more flexible.
Menus - VB6 doesn't allow you to create menus at runtime.
.NET does.
ErrorProvider component - A slick, easy and non-intrusive way to
show users what controls on a form have errors.
Garbage Collection - Goodbye circular references!
User Controls - No more tedious stock property declarations
or ReadProperty, WriteProperty routines.
Remoting - A great deal more flexible and extensible
than DCOM.
Serialization - Use your own objects as data containers in
a distributed application. VB6 classes aren't distributed
application friendly.
Mult-Threading - Keep the user happy while your application
does intensive work behind the scenes on another thread.
NT Services - If you're brave, very brave, there are ways
to make your VB6 app into a service. In .NET, service
applications do not require bravery.
COM+ Applications - Configure your COM+ components in code
with attributes and take advantage of object pooling
The Framework - The .NET Framework classes seem to include
everything but the proverbial kitchen sink. You'll be
resorting to API calls a _lot_ less often.
I keep thinking of more things, but alas, I have tedious
VB6 code to write ;-)
Regards,
Dan
"Steve Wilson" <swi...@aol.com> wrote in message
news:RKe48.106131$TC1.7...@bin5.nnrp.aus1.giganews.com...
> -multiple languages support
By this do you mean being able to program in multiple languages? Obviously
you can't in VB6 alone but VS6 obviously had multiple languages.
> -will probably work on multiple OS
VB6 applications can work on a variety of Windows platforms.
I'm just trying to understand what you mean.
Jim
Urs
"Daniel Pratt" <dprREMOVE...@hotmail.com> schrieb im Newsbeitrag
news:uXS4kNcpBHA.2348@tkmsftngp03...
Okay, much better support for web development.
> > -multiple languages support
> By this do you mean being able to program in multiple languages?
> Obviously you can't in VB6 alone but VS6 obviously had multiple
> languages.
VS6 had 4 different IDEs (J++/InterDev, VB, FoxPro, and VC++); VS.NET has
one. VS.NET has much better support for multi-language projects than VS6,
where the only practical way to do multi-language projects was via COM.
> > -will probably work on multiple OS
> VB6 applications can work on a variety of Windows platforms.
>
> I'm just trying to understand what you mean.
There are various projects underway to port some or all of the .NET
framework to non-Windows platforms. If successful, some subset of .NET
applications will work on Linux (via Mono or Portable.NET) and FreeBSD (via
the implementation Corel's doing under contract for MS), for example. I
wouldn't be at all surprised if MS eventually (either on their own or by
further contracting work to Corel) built a Mac OS X version from the FreeBSD
version.
--
Dave Rothgery
david_r...@stratagene.com
I haven't heard whether or not this is going to happen but one would think
that with all of the MS products running on Max OSes that a Max version of
.NET can't be too far behind.
Considering that BSD and Mac OS X is basically UNIX at the core, that's a
good thing in deed!
Cal
More than that, Mac OS X is basically BSD Unix (specifically, a heavily
tweaked variant of an older version of FreeBSD) at the core, which is why
porting from FreeBSD to OS X shouldn't be all that difficult, as ports go.
--
Dave Rothgery
david_r...@stratagene.com
Colin
"Steve Wilson" <swi...@aol.com> wrote in message
news:RKe48.106131$TC1.7...@bin5.nnrp.aus1.giganews.com...
Shared members are globals. I think the importance here is that they don't
have to be in a separate module anymore. That is, no more separate ClassTree
and ModTree files.
Other than that, I agree with you.
--
Jonathan Allen
.Net Wish List Site: http://jonathan.cloverlink.com/
"Armin Zingler" <armin.zing...@gmx.de> wrote in message
news:uhYg2LcpBHA.2012@tkmsftngp04...
The important thing is not that you can program in multiple languages. The
important thing is you can use components from multiple languages.
VB 6 cannot use J++ or C++ components without COM wrappers, which are
difficult to write in those languages.
--
Jonathan Allen
.Net Wish List Site: http://jonathan.cloverlink.com/
"David Rothgery" <david_r...@stratagene.com> wrote in message
news:O3PKqmcpBHA.2372@tkmsftngp04...
jerry
"David Rothgery" <david_r...@stratagene.com> wrote in message
news:OuR5v0cpBHA.1608@tkmsftngp04...
> Do you know any of your development staff that wouldn't jump ship for the
> opportunity to work with .net !
Anyone who knows what Class_Terminate is good for, obviously.
--
Joe Foster <mailto:jlfoster%40znet.com> "Regged" again? <http://www.xenu.net/>
WARNING: I cannot be held responsible for the above They're coming to
because my cats have apparently learned to type. take me away, ha ha!
I think a Mac OS X version of .NET would do very well.
Mac users don't have the same Microsoft-is-Eeevil mentality that most Unix
advocates seem to; they often use Microsoft software every day.
As for other versions of Unix; it's unlikely. Linux seems to be destroying
the non-Sun commercial Unix market, and fans of both Solaris and Linux are
generally less than positive about anything coming from (or even inspired
by) Microsoft.
--
Dave Rothgery
david_r...@stratagene.com
But then again, I base my needs on what delivers rapid development solutions
that meet client requirements, not the features that OO zealots claim are
necessary for a true development language. That's the difference between
school teachings and real world experience.
I "do" like Web forms and ADO.net. They are very cool and useful.
Iguana
"Armin Zingler" <armin.zing...@gmx.de> wrote in message
news:uhYg2LcpBHA.2012@tkmsftngp04...
Well, goto www.Go-Mono.com.
Then read this:
http://www.go-mono.com/rationale.html
Seems like they are getting it. Someone will port it to Solaris. Actually, I heard about someone porting it to Java, so it'd run
everywhere Java runs...
Microsoft will just make it better an better. Java is made by Sun, a smaller *computer* company than Dell. .NET is done by
Microsoft, the largest *software* company in the world.
-mike
>
> --
> Dave Rothgery
> david_r...@stratagene.com
>
>
I've been there.
I wish Miguel de Izca and Ximian the best of luck with their efforts.
Heck, given what I've seen of their other stuff (though since I don't
use Linux, it's been mostly secondhand), I have a great deal of
confidence that it'll mature to useful state. What I don't have
confidence in is .NET ever being more than a niche player on Linux or
Solaris.
--
Dave Rothgery
Picking nits since 1976
drot...@alum.wpi.edu
http://drothgery.editthispage.com
Most UNIX programmers I know use C++. I don't know if they consider Java to
be evil or just a toy, but they seem to avoid it for the most part.
--
Jonathan Allen
.Net Wish List Site: http://jonathan.cloverlink.com/
"JerryK" <jer...@insteptech.com> wrote in message
news:OqZE4wepBHA.1852@tkmsftngp07...
The big three are C, C++ and Java. Most everything else seems to be scoffed
at. There is even a pretty large battle between C and C++ but that is a
whole different story! ;-)
Cal
I am no OO freak, but I recognise when life is being made easy for me.
"Write once, Use many" code available in forms and classes - I'll have some
of that.
"Iguana" <more...@mattisoft.com> wrote in message
news:khm48.86191$Ee7.5...@e3500-atl1.usenetserver.com...
I agree, that's why I take advantage of that in VB6. :-)
Iguana
"Martin Robins" <martin...@ntlworld.com> wrote in message
news:OEw0ItlpBHA.2244@tkmsftngp02...
Developers love the technology so they're going to answer you by talking
about the technical advantages of .NET such as inheritance, decent error
handling and so on. These are all reasons why *developers* want to move to
.NET. Any developer who has any passion for his/her work is going to want
to jump to the latest, greatest technology.
From a corporate IT perspective you might want to consider the following:
Microsoft will only continue to support VS 6 for a finite length of time and
that support will gradually diminish as time goes by. I've used every
version of Visual Basic that Microsoft has released and this has always been
true.
The majority of VS6 Developers (as you'll see from the responses to your
post) will want to move to .NET which will; a) jeopardise your ability to
retain development staff to work in VS6 and b) reduce the quantity and
quality of developers available who want to maintain/develop software using
VS6.
Microsoft development tools (and in particular, Visual Basic) have a vast
support community beyond that which Microsoft itself supplies. This is one
of the great advantages when developing software using these tools - there's
almost always going to be someone out there to help. As .NET becomes more
and more widespread, this community will begin to focus on .NET rather than
its predecessors and support for VS6 products will gradually diminish.
You don't need to jump on the bandwagon immediately and start converting
existing applications to .NET. Depending on the life expectancy of your
existing applications you can plan to redevelop them in time using .NET
technology. In other words, a planned migration over a period of a few
years. For new projects you would be advised to give some serious
consideration to using .NET from the outset although I'd wait until at least
the first sevice pack for .NET has been released before comitting to any
firm delivery deadlines for .NET projects.
Probably your first step would be to consider how .NET will affect your
developers and start thinking about training courses and reading material
that will help them make the transition.
In short, I would say that moving to .NET whilst inevitable, need not be
immediate. Start planning the migration now and in a year or so you'll be
able to make the transition in a controlled fashion and on your own terms.
- Adam Tompkins
> Inheritance is one of the best bits.
>
> I am no OO freak, but I recognise when life is being made easy for me.
> "Write once, Use many" code available in forms and classes - I'll have some
> of that.
Tell us, how exactly does having to remember to Dispose some objects,
but not others, make your life easy?
--
Joe Foster <mailto:jlfoster%40znet.com> Sign the Check! <http://www.xenu.net/>
I just want what makes a language more productive. If you don't know how
inheritance and the other things can save time and give a much better
overview (that saves time again), you probably haven't used it so far or
haven't understood what it is. I'm the last one who pushes OOP just to
have OOP! I simply need it - BTW, a knowledge that comes from the real
word. I was very disappointed when VB5 came out and there was _still_
no inheritance (that I've been waiting for since I've been using
inheritance in pascal (before using VB3)).
> I "do" like Web forms and ADO.net. They are very cool and useful.
I don't need Web forms. ADO.Net is slow. Additionally, I wrote that I'm
referring to the basis language features. ADO.Net is not a part of the VB
language itself, it's just a component that can be used in other languages
as well. So it's not an item to evaluate a language.
Armin
--
Jim
Jimco Add-ins
Freeware add-ins and utilities for Microsoft FrontPage
http://www.jimcoaddins.com
"Armin Zingler" <armin.zing...@gmx.de> wrote in message
news:#fK2Mn9pBHA.2492@tkmsftngp07...
"Joe "Nuke Me Xemu" Foster" <j...@bftsi0.UUCP> wrote in message news:#6Bi6a6pBHA.2220@tkmsftngp02...
By creating base classes and then inheriting, I can cut out 75% of the code
duplication that has always taken up my programming time.
For example: I am sick of copying code and then having to edit it because I
am browsing a different table etc., I want to write new code. By creating a
base form that handles all of the user interface and database connections, I
can quickly create inherited forms that will browse different tables with
minimal fuss. In VB6, this meant copying an existing form and then editing
to suit.
Perhaps I am an OO freak and do not realise it, but as I said before, it is
definitely one of the best bits and it was enough to convince me to learn
about the framework and change my entire way of thinking.
If you prefer VB6 .....
"Joe "Nuke Me Xemu" Foster" <j...@bftsi0.UUCP> wrote in message
news:#6Bi6a6pBHA.2220@tkmsftngp02...
> Perhaps I am missing something, but I have never achieved class inheritance
> in VB6.
Take a look at what _Refactoring: Improving the Design of Existing
Code_, by Martin Fowler, says about inheritance. Formal mechanisms to
trivially "Replace Inheritance with Delegation" and "Replace Delegation
with Inheritance" are fully described in three sparse pages each! This
is a job for an add-in, not for a completely new language.
> By creating base classes and then inheriting, I can cut out 75% of the code
> duplication that has always taken up my programming time.
Have you ever heard of these obscure things called "modules" and "class
modules"...?
> For example: I am sick of copying code and then having to edit it because I
> am browsing a different table etc., I want to write new code. By creating a
> base form that handles all of the user interface and database connections, I
> can quickly create inherited forms that will browse different tables with
> minimal fuss. In VB6, this meant copying an existing form and then editing
> to suit.
Surely you mean just moving the controls around and "binding" them to
the new data fields, right? By "binding", I don't necessarily mean
databinding to data controls, but using the Tag property, like so:
' classic vb
const custpatt = "customer.*"
myrs.open "blah blah blah-blah blah...
for each c in controls
if not (c.tag like custpatt) then
' skip this control
elseif typeof c is textbox then
c.text = myrs.fields(mid$(c.tag, len(custpatt)) & vbnullstring
elseif typeof c is ' etc etc etc
endif
next
Such code can also be tucked into a module or reusable component.
Effective code-reuse does *not* require VB.NET, no matter what some
"gurus" seem to be trying to tell you.
> Perhaps I am an OO freak and do not realise it, but as I said before, it is
> definitely one of the best bits and it was enough to convince me to learn
> about the framework and change my entire way of thinking.
>
> If you prefer VB6 .....
Then it's tough noogies, since I doubt Microsoft is going to actually
fix things like the glitches people are already reporting with using
VB6 on Windows XP!
--
Joe Foster <mailto:jlfoster%40znet.com> Wanna buy a Bridge? <http://xenu.net/>
> Well, it is pretty easy for most professional programmers to know when
> they need to dispose, but hey, maybe someone will write an
> add-in to help you, Joe.
I *like* using and writing classes that are smart enough to clean up
after themselves! If I had wanted fclose() and free(), I'd still be
using C, dimwit.
--
Joe Foster <mailto:jlfoster%40znet.com> Sacrament R2-45 <http://www.xenu.net/>
Personally, I'm glad to be kissing COM goodbye, and the CLR is awesome, not
to mention the benefit of coding to the .NET Framework. All in all, an
immense improvement IMHO.
--
Jim
Jimco Add-ins
Freeware add-ins and utilities for Microsoft FrontPage
http://www.jimcoaddins.com
"Joe "Nuke Me Xemu" Foster" <j...@bftsi0.UUCP> wrote in message
news:erz#7OGqBHA.2324@tkmsftngp03...
> It's hard to make a case of interfaces being as robust as true inheritance.
Here's one attempt. Never fear, lately he's been drinking deep
the bitter-almond koolaid along with most everybody else...
URL:http://users.skynet.be/wvdd2/General_techniques/Inheritance/inheritance.html
> With that said, I don't think interitance is the best new thing in VB.NET.
> In my opinion, it's overrated and will likely be overused by VB6 coders.
Just wait for the backlash, as people misuse inheritance and then
blame it for their shoddy code. I'm already seeing pleas for help
due to various "interesting" multithreading issues from which they
have been relatively insulated, until Microshaft shoved them down
their throats...
> Personally, I'm glad to be kissing COM goodbye, and the CLR is awesome, not
> to mention the benefit of coding to the .NET Framework. All in all, an
> immense improvement IMHO.
As I've already said a number of times, we may not have much choice,
if we want to continue using and developing for Microsoft platforms.
--
Joe Foster <mailto:jlfoster%40znet.com> Sacrament R2-45 <http://www.xenu.net/>
>I'm already seeing pleas for help
>due to various "interesting" multithreading issues from which they
>have been relatively insulated, until Microshaft shoved them down
>their throats...
VB programmers have been asking for threads since VB4. And no one is shoving
them down anyone's throats, writing single-threaded applications using vb.net is
perfectly doable.
--
Zane Thomas (za...@mabry.com)
www.mabry.com
www.pixeldustindustries.com
VB.NET is an awesome language. The more you learn about it, the more
exciting it gets. I can't wait until the CLR is shipped with the OS. :)
--
Jim
Jimco Add-ins
Freeware add-ins and utilities for Microsoft FrontPage
http://www.jimcoaddins.com
"Zane Thomas [.NET MVP]" <za...@mabry.com> wrote in message
news:3c6b2afd....@news.microsoft.com...
> On Mon, 28 Jan 2002 20:31:42 -0800, "Joe \"Nuke Me Xemu\" Foster"
> <j...@bftsi0.UUCP> wrote:
>
> >I'm already seeing pleas for help
> >due to various "interesting" multithreading issues from which they
> >have been relatively insulated, until Microshaft shoved them down
> >their throats...
>
> VB programmers have been asking for threads since VB4.
And we've had multithreading since VB5 SP2. Or have you never heard
of this obscure project type called an "ActiveX EXE"? Tell us, did
you somehow get the /only/ copies of VB5 and VB6 which don't have a
"Threading Model" group box in the Project/Properties... dialog, or
does your ScienoSitter filter out each and every example on the 'net
showing how to build asynchronous methods in Classic VB?
> And no one is shoving
> them down anyone's throats,
So nobody uses Classic VB to develop multithreaded components? For
a perfect example of Zane's general level of honesty, see:
URL:http://groups.google.com/groups?selm=%23mq5QPPUBHA.1384%40tkmsftngp03
> writing single-threaded applications using vb.net is
> perfectly doable.
It's just "only a little" harder now, just like most everything else
in B#, right?
--
Joe Foster <mailto:jlfoster%40znet.com> L. Ron Dullard <http://www.xenu.net/>