Comments on: Developers slam Microsoft's Visual Basic plan
More than 100 of the software giant's most influential developers urge the company to continue support for Visual Basic in its "classic" form.
More than 100 of the software giant's most influential developers urge the company to continue support for Visual Basic in its "classic" form.
December 29, 2009 2:04 PM PST
December 29, 2009 1:35 PM PST
December 29, 2009 12:57 PM PST
Add headlines from CNET News to your homepage or feedreader.
More feeds available in our RSS feed index.
Related quotes
I started experimenting with VB 2.0 and for the kind of applications I needed to write, I gave up Borland C++ (3 pages of code to display a window) because I could be so much more efficient. VB 3.0 came along and made that all the better. I became so busy with VB I didn?t have time to worry about much else. The honest problem here though is that if you use a hammer, it is true that every problem can look like a nail.
This argument has been going on since about 1993 guys. VB is a great tool for certain tasks. No, you won?t write a driver or an OS, but you can write great DB apps and do incredible backend things on the web and if that is what you do, use it.
The problem with migration from 6.0 to .Net? The tool changed so much that the way of working changed. All the nice things were gone to make one?s life easier. The language itself is not that big of a deal, one just gets used to working a certain way.
Why couldn't VB6 continue to be upgraded and maintained by a group of developers in the fashion of open source software. That is, unless MS would not allow it and legally nobody but MS could touch VB6.
I think there is room in this world for the the high-minded OOPS crowd and the non-OOPS crowd. Basically, if the end result is to produce applications or web sites that work the same, regardless of language, OOPS or not, who cares how sophisticated the programming language? Results matter more than the methods as long as they work and are secure.
The real issue is a forced migration to a set of programming
practices that are focused in intranet and internet development.
You are smoking something in your pipe if you think the C# and
VB.Net languages were designed for intensive desktop apps. To
call them the future is wishing, hoping, and praying that
Microsoft will bolster the capabilities of these languages.
The future of programming concepts, designs, and
methodoligies have NEVER come from any corporation or group
of corporations. They come the fresh and un-fettered minds of
developers seeking, discovering, re-engineering and re-
discovering concepts and putting them to practical use.
The n-tiered approach is a good one, and excellent for
networked applications. But is it the only one? Is the n-tierd
approach some sort of panacea? More importantly is the n-
tiered approach as dictated by Microsoft the only choice?
The fact is the idea (conception) of methodologies is what has to
be maintained and implemented by developers. I use C++, C,
Java, Javascript, Fortran, VB6.0, C#, RPG, COBOL and a myriad of
other languages. Each has its strengths, and I do like .NET for
what its strenghts. But I have also found .NET to be a downright
nightmare for desktop applications. Oh you can do it. I have
several applications that are pure C#. And I love the how easy it
is to create windows services, networked applications, and the
thread-pool support. But i have written so many different types
of applications i find my self hitting a wall with it and my choices
are C++ or VB6.0
I don't know what the final and true answer will be. But I do
believe that VB6.0 needs to stay. VB.NET is simply not a
replacement for it. The only reason i feel this way (with
complete honesty), is that it is far easier, and quicker to develop
a working prototype application in VB6.0 than C++. But that is
truly only limited by the investment in time, to produce IDE
interfaces to automate C++ code generation. But that is the
sticky widget. VB6 saves time, and the final products work.
For those of us who have time to go completely C++, this won't
be much of a problem. Maybe all of this off-shore outsourcing
will give many of the developers time to do this. For those of us
working, the backlogs and demands are still there.
.NET will evolve, and bring along with it a whole set of RAD
developed applications to solve real-world problems. But that is
just a single branch in the evolution of software, and .NET will
not be travelling along those other branches. It may jump from
time to time, but we have yet to see what we can truly do yet.
Bottom-line, maybe its time to get down and dirty, and re-
invent ourselves.
Visual BASIC, which is not a visual programming system (note 1) and it is not actually BASIC (note 2). It seems to date back to the DOS days and a RAD tool named Ruby (no connection to the Programming language from Japan) which was based on one of the DoD Ironman specifications.
VB appears to Microsoft's answer to a RAD product called Realizer. Even VB 6 pales in comparison to Realizer even though Realizer was discontinued after Version 3.0 in the 90's.
Where VB really excels is in the IDE. Probably well over half of the in-house apps are basic data entry forms with a little custom coding that act as front-end applications to databases or specialized hardware.
On the flip side, it appears that Microsoft has several concurent variants of VB at any given time, each with annoying quirks. VB, VBA, VBscript, VBS-DTS, VBCCV, VB.net, and so on. The interesting point is that most of these variants of VB are functional subsets of VB. This does not improve the quality of the programming, it makes it more difficult.
Another place where VB excels is in its ability to access almost any library function on the system. This makes it easy for more advanced developers to make the most of the systems without having to mess with some of the arcane memory management stuff as you do in C++. You can also download malware VBA source, mod it slightly and and mass email it ....
Of course VB is a Microsoft product and even if the language specification is public, the name, the compiler, and apis are Microsoft's intellectual property.
VB is not platform agnostic. There have been VB work alikes like BASICScript, Envelop, and Phoenix
and that were available on other systems, but VB code had to be greatly modified to work on them.
Languages like Perl and Python on the other hand, have a bit higher learning curve, but a program written in these languages run well on Windows, unix, linux, MacOS, MVS, Palmos, Epoc, and about any other OS with an available perl interpreter.
VB compiles to an intermediate code that requires a Windows specific runtime library, and any other Windows application libraries that the application calls. while it is true that there is an open source clone of the VB5 runtime, it is of little practical use without the access to comparable application dlls. The same will likely be true of Mono apps. An app written in Mono will often need to be modified and recompiled to run in a Windows environment, due to dependency issues and vice-versa.
Since I have no doubt that someone will care to know, or assume elsewise, I have degree in Computer Science, and have been programming for over 25 years. I have worked with several OS over the years on micro minis and mainframe computers,
in several programming languages (including 7 versions of MS Basic, 5 versions of VB or VBscript, and 3 VB clones)
------------------------------------------
_ note 1: Visual in the CS world refers to programming by diagramming the logic in a graphic environment. Microsfts Visual products have drag and drop forms editors, but the actual program logic must still be coded in a text-based form.
Examples of visual progrmming systems are Prograph, HPVee, Sanscript, SGI-Explorer, and Labview.
__ note 2: While part of VB is very BASIC-Like, it appears to be closer to Pascal in some aspects. To anyone familiar with older incarnations of BASIC,
this is not a BAD thing, as writing event-driven programs in older version of BASIC can get really hairy.
Funny enough, in ASP.NET MS tries to force programming style of Windows desktop programming to Web programing. Quite opposite :)
They want as usual to make Web programming with their tools incompatible with other OS and browsers to knock they down.
There are many reasons it's an uphill battle to introduce a new closed source development environment, in particular on a platform like Linux where powerful open source alternatives exist. Open source products (like MySQL or Qt) have support as long as anyone cares to do it, which usually is as long as anyone is interested enough to pay for it - never lets you down. It might become obsolete, but migration is never forced upon you.
Visual Basic (Traditional VB) is not just a programming language. It usually imply the whole IDE. I never try to build a VB program in Notepad and DOS cmd line (is it possible ? don't know) and I know very few will do that. There are large portion of VB developers are not CS background and they know how to use the IDE and syntax, but that's all they know. So once the IDE change a lots, they will feel the pain. Unfortunately, this time is not just the IDE, the OOP concept is new to many of them.
I'm really shock that M$ dare to take this risk but it did happen. I can only guess the reasons:
1. Web base app is the king and VB is not good on this kind of app.
2. MS need to provide a unified IDE and language syntax to build both GUI and web base app. VB is certainly not a good choice, change is a must.
3. MS found Java is very productive in many aspects and is a good candidate as the next generation language. So copy it and name it C#, .NET.
4. But how about VB....and its developers ? MS certainly won't say VB will be obsolete so they make a "transition product" called VB.NET. But in fact move focus to C#.
5. Worry about VB->Java ? Never mind, if they cannot self-upgrade to be a C# developer, they will feel even harder to be a Java programmer. So, abandon them and no hurt to M$.
Those "IDE programmers" will disappear soon. Yonger people will replace them with fresh new OOP concept skill.
Frankly, though, the learning curve is small, provided a programmer knows more than one language, preferably some of different types, and understanding OOP concepts.
The issue I see, coming only a year out of college, is in the way VB6 and VB.net are taught. Take a C++ class, you get taught OOP. Java is entirely OOP, so you have to learn a minimum of OOP to use it. I haven't actually tried C# yet, but I've be perfectly read any C# code I've seen, so I imagine I could learn it quickly, and I'll bet you get OOP when that is taught as well.
The problem is not that VB6 or VB.net are weak languages incapable of advanced functions. The problem is that these don't seem to be taught. If I had relied on only what I was taught, I would think VB6 was completely incapable of OOP. I never would have realized I could create classes or that VB6 did have a crude form of polymorphism. That's only an example of all the things I would have missed had I not expanded my understanding of the language.
And now that I've moved to VB.net, I love it. And one of the reasons I love it is that I know with everything based on the same libraries, I can move to C# with a relative amount of ease because the *only* thing I'm really learning is some new syntax. I already know C++, so it's even easier.
The more languages you already know, the more adaptable you are because you truly understand *programming* concepts, not *VB* concepts or *C++* concepts and so on. All these languages have their strengths and weaknesses; I have a fondness for VB.net because the code simply looks cleaner (to me, anyway), but if it does go, I can adapt. I know enough Java to move away from MS if I need to.
So, I can buy the migration issue, but the whole issue of programmers not being able to learn VB.net? I have to wonder if these *programmers* were really programmers at all. Maybe they were just VBers, limited to a tiny fraction of the universe of coding.
I personally really liked vb but now that I have been using vb.net for a few years, I love vb.net!
If they keep VB around, some people will never move on to better and greater things like VB.NET!
I know you have VB6 applications that you need to support but I have been able to either convert apps over to VB.NET or have VB 6 work with VB.NET (via interop and shelling) with no problem!
So, stop you complaining and learn .NET already.
Some of you, it seems, are in favour of .NET and some aren't. Some look forward to the revolution in open source systems such a Linux, and others are happy to sit back and let Microsoft rule their lives. It's a matter of personal choice!
As far as VB6 is concerned, I actually teach it in college. We do a .NET course as well which is, surprisingly, not very popular.
In preparation for Microsofts decision not to support VB6, I bought RealBasic 5.5 for home use to see if I could prepare a new course.
Real Software promptly 'did a Microsoft' and introduced RB 2005 and dropped all support for verion 5.5.
They are all as bad as one another! At the end of the day, software companies are out to make money. They do this by forcing new upgrades and 'technologies' onto the unsuspecting public - just as printer manufacturers charge almost as much for new cartridges as they did for the printer.
As a matter of interest, if you 'program' in the Windows environment, you should remember that you are really only scripting and calling pre-written routines held in the Windows DLL's. These DLL's are, in the main, written in 'C'. In Windows, you are constantly at the mercy of Microsoft.
The benefit of cross-platform languages is that you CAN get out of the trap.
If you REALLY want to program, go back to a command line language such as 'C'. Maybe then, YOU will be helping to write Windows 2010!
'nuff said ...
"At the end of the day, software companies are out to make money."
Thats obvious every company it does not matter if its a software company or a car company wants you to buy a new one. Besides it costs money to keep resources that are old, and you can improve programs if you dont wean developers who dont understand codding. I have been a programmer for 10+ years and i have seen alot of programs that just dont work, or have to work a certain way, written in a myrid of languages. I mean by your assumption it means that everyone should use linux because they are evil. So maybe i should not shop at Home Depot because they have a unfair advantage over the competition. Newsflash: Microsoft is not a monoply a monoply is when one company has complete control over the industry.
While microsoft is big they by far not a monopoly if the above was true then Linux would not exist.
People choose to buy something, you can buy computers with no operating systems, how about MAC one could argue that they are even bigger of a monopolists then microsoft because on Mac you have to license to build hardware for PC platforms thats not true you can build clones and sell them. Mac you have to buy MAC parts, thier is not intermediary plus if you want to build parts for MACS you have to get a license. PC platform cant remember the last time a chineese company needed authorization to build a simple card.
The computer industry as with any technology is a advancing industry and has to go foward, microsoft does not have infinite resources, Besides this is exactly like the x64 driver issue, they saw it comming, its not like this is the first year .NET has been out. Its been out since 2000 its over 6 years old, time to move on.
Besides .net provides better code security, and developers want to blame someone they should either blame themselves because they dont bother to write "secure code" or end users because they are pissed off that thier computer gets infected because they do not want to burdened by running as a base users.
Besides, how much more portable is JAVA bytecode, you still have to have the VM. Java spec will be updated with new features and thier code will have to ported to a new version. Its called the software lifecycle if anyone has any idea on software development then they should look into it. Eventually the application has to die, or things like Encyrption and Security never get implemented.
I mean most "big" players are very accomadating and porting code for small shops is not that expensive, if it makes you money then you have to look at two things. How do i keep it up to date so that my users can use it with minimal interference with thier bussiness or system processes. Besides MS has a lot of partnering programs that are made for small shops that include extremly generous discounts on MSDN to partner support for marketing.
So give me a break
[QUOTE]
As a matter of interest, if you 'program' in the Windows environment, you should remember that you are really only scripting and calling pre-written routines held in the Windows DLL's. These DLL's are, in the main, written in 'C'. In Windows, you are constantly at the mercy of Microsoft. The benefit of cross-platform languages is that you CAN get out of the trap. If you REALLY want to program, go back to a command line language such as 'C'. Maybe then, YOU will be helping to write Windows 2010! 'nuff said ...
[/QUOTE]
thats just not true because then the same could be said that you are scripting in linux. Java is not compiled 100% it has to be interpeted so by your definition JAVA is a scripting language. Because the Java Byte code is usless with out the Interpeter, same with PHP and in some cases C++.
Some programs dont even use windows DLL's that are written in VC++. they use the std c++ concepts, But you should use whats in the box why reienvent the wheel when someone has done it better, chances of me or you trying to write a software algorithim for encyrption probably is not possible while providers like RSA and MD5 exist and work on multiple platforms. And when you start to think of it this "linux" will be the next microsoft, then it becomes untrue for what it setout to become. ITs bussines nothing personel.
(Alan i am not just commenting to you so dont take this as a offensive post)
- Enter open source
- by vandarlust August 3, 2006 3:44 AM PDT
- Guys!
- Like this Reply to this comment
-
Showing 2 of 2 pages (97 Comments)We had VB6, an easy to use RAD tool. We were happy. But Microsoft decided to roll out a beast called .NET. VB.NET is in way anything close to VB6. C# is neither your cup of tea. Present investment by organizations in VB6 is going astray. Millions of Dollars are wasted. Microsoft does not give a care. Yet! I repeat Yet! fools are sticking to Microsoft Technology.
I thankfully never had to keep up the pace with Microsoft as I chose a different platform, Open Source Platform. Yes. I am happy as I do not have to learn a technology/language and then forget it after every 1 year.
I work in PHP, Python & C. They are going to stay for a longer time than VB, VB.NET and C#. I did not choose Java as Java was simply too tough and it was not as powerful as C / C++. If I have to learn a tough language, the language better be rich and powerful. Java simply does not scale up to that expectation. I have said bye bye to Microsoft 5 years back and I am happy in my nappy. No new versions of .NET or Visual Studio bothers me. I am not living in DLL dungeon. I am not a slave of Microsoft. I am free. I am an open source programmer. Belive me World still and will like to have programmers who write arcane codes in vi editor. Because they are the pioneers, they are the first ones to enter the uncharted waters.
No one can deny the need of a C programmer no matter how much object oriented and safe C# or Java might be. Real programmers still use C. Real programmers still play with Python. We dont get ditched by a two bit multinational.