Microsoft thumbed their nose at the petition to support VB6. What now?
I know this thread has probably been done before, but not in real seriousness ... I searched
I really like VB6 but sometimes it is a little awkward to do things that are (seemingly) easy in other languages, it is inherently slow unless you carefully think through your code to make it as fast as possible, and it requires a runtime DLL (doesn't everything these days...)
Here's what I'm thinking:
Keep using VB6 - it's efficient to develop in and its code can be optimized to reach relatively high speeds
Go to VB.NET - but it's object oriented, I hate objects, also I hate to have to distribute the .NET framework
Go to C++ - don't like the forced complexity of the language, also the lack of strict typing (I think thats what it is)
Go to ASM... (only kidding )
Find another (BASIC or alternative language) compiler
I downloaded the free REALBasic 5.5 or whatever that they are offering to VB programmers, but it doesn't look like it has anything like the power of VB6. Its only real plus seems to be cross-platform compatibility.
Also I came across PowerBASIC... it seems very much like Visual Basic but with more low-level functionality, which can only be a good thing.
I have no reason to move from VB6 at the moment but I would like to find a language that has the VB style of RAD, but a lot of low-level stuff also that can make the compiled applications faster, without requiring the complexity of C or C++. Also no dependency on COM, ActiveX etc.
Don't get me wrong, I know VB6 isn't going to die suddenly just because MS isn't supporting it anymore, but there are other similiar languages out there that I don't know about (hopefully) and would like to try.
PowerBASIC sounds most interesting for me at the moment, does anyone have any knowledge of what it is like compared to VB? And does anyone know of any other languages like that (not necessarily BASIC)?
Of course I'm happy to continue coding in VB6 but something tells me that it isn't the best way to get the most out of the computer.
Maybe I should have posted in this in General Developer or some other forum, but the only language I'm any good at is Classic VB and I'd like to compare other languages with it.
If you're down here, either you skipped or thanks for reading my longish post
I just wanted to say that I did breifly try RealBasic 5.0, and did not like it at all. I bought it from a local retail store and was pretty pissed at myself for not buying through the realsoftware.com website. If you buy it from the website you can get your money back if you don't like it.
That being said, I'll probably try RealBasic 2005 when it's released because the developers wrote the entire IDE in the RealBasic language. I'm sure that kind of work shows how powerful the language is and helped to fix a lot of the nuance problems I had with the IDE.
I'm in the same boat as you. I have everything I need with VB6 and ActiveX controls.
Well I haven't really tried it, just given the IDE a once-over and read some of the VB->RB porting documentation on their website. It seems to have some nice coding features that VB doesn't have, such as the ability to make subs and functions with the same name... (yay )... but on the whole it didn't give me the impression of a powerful language at all. In fact its IDE makes it seem like a simple scripting language, which I'm sure isn't really the case.
I like the boat we're in but I'm sure there are ones that can sail through deeper waters
My old computer fell down the stairs, I lost loadsa of data
I got a new one, XP (my old one was ME) from insurance
I installed VB6 Enterprise, and, to many people horror lol, Useful controls werent theier (as in not on the system) like Winsock, MAPI ect!
I searched Microsoft and MSDN with no luck, then I resorted to googling. I found all the OCX files on a little girls MSN Messenger Fan site (under "required MSN files")!!!!!!!!!!!!!!!!!!!
How ironic.
Also, whilst downloaing an SDK for a microsoft Technology, windaz firewall popped up.
"Microsoft Windows Firewall is Blocking This Program: Microsoft Installer"
Only because you don't understand them and have never used them. What makes you think C++ would be any less OOP?
Honestly you VB6 clingers make me laugh you really do.
What makes you think I don't understand them and have never used them?
I'm not a "VB6 clinger", as I said in my first post, I'm looking for other languages to try. I dislike .NET because it I dislike burying functions away within objects, instead of making them visible at the top level. After all computer programs are just code that has to be executed; wrapping code in objects may make it more logical to understand but it also makes it less efficient to run.
I dislike .NET because it I dislike burying functions away within objects, instead of making them visible at the top level. After all computer programs are just code that has to be executed; wrapping code in objects may make it more logical to understand but it also makes it less efficient to run.
Your comment shows that you just dont understand the concept behind OOP.
Keep Smiling - even if its hard
Frankie Says Relax, wossname Says Yeah!
wossname:--Currently I'm wearing a gimp suit and a parachute. C# - Base64Blog
Living underneath a train bridge in Chicago, bumming cigarettes from the mutilated bodies of "friends" of the Mafia and stealing sandwiches from little kids who just got lost on their way to school. Life was tough, but it was better than working for a sleazy corporation that only worked entirely in .NET technologies. Spawns of Satan, that's what they are! Who needs them? Not me! I live a free life now! Living off nature, or what would be the equivalent of the natural life cycle here in the good old Windy City.
Oh, hey, a Cheeto! I better chase after it before the other clingers get to it.
[*]Go to VB.NET - but it's object oriented, I hate objects, also I hate to have to distribute the .NET framework
You won't have to distribute it for long - it's going to be everywhere anyway...
And the framework is the whole reason to embrace the product - it's going to be spread into everything MS makes - like SQL stored procedures - it's the whole point!
Oh - this is Chit Chat - why am I being serious - slap, slap!
*** Read the sticky in the DB forum about how to get your question answered quickly!! ***
Please remember to rate posts! Rate any post you find helpful - even in old threads! Use the link to the left - "Rate this Post".
If MS is an important part of your resume, life, needs, addiction - then go with .Net
Basically I'm wondering what the best language would be for developing for future operating systems. I guess atm this means Windows Longhorn but in the future the most popular OS might be made by a different company. MS doesn't have to rule the world of computers. So by that token .NET doesn't have to rule programming.
Oh and BTW, this thread was moved to chit chat. So it was serious.... originally...
I guess atm this means Windows Longhorn but in the future the most popular OS might be made by a different company. MS doesn't have to rule the world of computers.
God consults with the C programmer on every major issue.
The C programmer can walk on water.
He programs on a P120 with 8 Meg RAM w/ Mach32. He can program a graphical spreadsheet in about 2 days.
The C programmer tends to put "()" after every major verb when they talk or write: "are you going() to see() NIN tomorrow? I'll try() to get() tickets!"
The VB Programmer
The VB programmer does lunch with God every day.
He is an olypic class swimmer.
He programs on a 486dx/2 66 with 8 Meg RAM w/ SVGA and can program a good text based spread sheet in a little over a week.
The Turbo Pascal Programmer
The Turbo Pascal programmer occasionally has a word with God.
He can swim pretty well.
He programs on a 486dx 33 with 4Meg RAM and can program a complicated scientific calculator in a week and a half.
The TP Programmer tends to put "begin" and "end" before every major topic: "begin That new game is awesome, man! end"
The Fortran Programmer
The Fortran programmer sometimes catches a glimpse of God.
He manages to keep himself afloat in shallow water.
He programs on a DEC VAX with a VT100 (he's too manly for a GUI). A Fortran programmer cand do a passable calculation device in a few weeks.
Nobody really know how Fortran programmers talk because there are so few of them these days.
The QBASIC Programmer
The QBASIC programmer knows who God is.
He has trouble avoiding drowning in his own bathtub.
QBASIC programmer works on a 486sx 25 with 4 Meg RAM. He can write a program that accepts two numbers and adds them together in just under 4 weeks.
The LOGO Progammer
About the only thing a Logo programmer knows about GOD is that the word is short enough for him to sound out, but he has trouble spelling it.
He wets himself with a squirt gun.
He programs on an Apple IIc, and can do a program that puts a box on the screen that some may argue looks like a calculator in about 8 weeks (with help from his teacher).
The LOGO porgrammer can't actually talk very well, but instead draws a whole lot of pictures, crayon being their favorite media.
**** BUT ****
The Assembly Language Programmer
The assembly language programmer is God.
He parts the water when he wishes to cross it.
He programs on what ever he damm well pleases and can do a multi-tasking, multi-user networkable operating system that includes a GUI spreadsheet during his coffee break.
VT100 is a compliment. Could have said, IBM CARD PUNCH MODEL 29 (c1970). I've used them before. Not quite that modern. One place still had one where I worked well into the 90's.
I'm not a "VB6 clinger", as I said in my first post, I'm looking for other languages to try. I dislike .NET because it I dislike burying functions away within objects, instead of making them visible at the top level. After all computer programs are just code that has to be executed; wrapping code in objects may make it more logical to understand but it also makes it less efficient to run.
I realize that I'm late to this, but I was wondering about that last sentence. Wrapping code in objects does more than make it more logical. It makes it more easily extensible.
I have a class that handles some IO to an Excel spreadsheet. Now I need to create a class that handles a specific case. Rather than copying the old code, I inherited the old code, and added the specific features I needed. Saved me an hour or so.
You don't have to realize efficiencies by re-using code, but if you design it well, you can.
As for being efficient, I belive that comment was valid about ten years ago, but isn't today (I don't know about .NET). The overhead of a function call is still there whether you are calling through a pointer or not. There may be one extra layer to look up the address of the function, but that layer is the same regardless of how many levels down the call actually resides. It isn't a matter of call this then this then this, it is a matter of the address of the function is this, call it.
The overhead of a function call is still there whether you are calling through a pointer or not. There may be one extra layer to look up the address of the function, but that layer is the same regardless of how many levels down the call actually resides.
Yes, but what about the time it takes to go through those levels?
CTopLevelClass.SomeObject.SubObject.AnotherSubObject.FinallyTheFunction
vs.
CTopLevelClass.LookTheFunctionsRightHere
Surely the 1st method is slower... Or am I missing something?
Yes, but what about the time it takes to go through those levels?
CTopLevelClass.SomeObject.SubObject.AnotherSubObject.FinallyTheFunction
vs.
CTopLevelClass.LookTheFunctionsRightHere
Surely the 1st method is slower... Or am I missing something?
MsgBox objBull.Output.Excrement & "!", vbokOnly
What do you think the compiler does? Hmmmm? It dereferences that call and sets it up as a direct call. At least that what it should be doing. And it's not different from previous objects used in the past. How many time have you done this?
rstMyRecordset.Fields("MyField1").Value?? Same deal basically.
Or objExcel.RangeUsed.Range("A1:B1").Cell.CellBackground
It's just that now, the SYSTEM objects are encapsulated. And if you tire your weary fingers from typing this.that.thisotherone.thatonetoo.someobject.somefunc you CAN Import this.that.thisotherone.thatonetoo.someobject then just use somefunc.
Some of it isn't object burying some of it is also namespacing. Let's say I develop an object car, and so does mendhak (in between playing the harmonica). Both objects are in a class Car. If both objects are used in a project, which one really gets used? That's where namespacing comes in. So he sets up his car in a Frog namespace, and I set mine up in a Gnome namespace. To get to his, you have to use the frog NS.... Frog.Car.Color = Frog.Colors.Red. To use mine, you go through the gnome NS. Gnome.Car = Gnome.CarColors.Blue.
It's one way of being able to avoid object naming collision. It also helps when you then inherit, say the Windows form. Wrap it up in your namespace, and you can continue to call it a WinForm.
I'm planning for life after VB6, and I'm also planning for life under Longhorn. Yeah, it stinks that VB6 is fading, but I'm not going to storm off to something like RealBasic in a huff. I don't have to like Microsoft's business decisions, but I do have to live with them and I'm going to make sure that I do so in a way that gets me paid.
RealBasic 5.5 is interesting as a novelty, and yes the cross-platform stuff is nice. However, very few business applications are designed for cross-platform functionality. The vast majority of them are designed for Windows, so write-once-run-anywhere functionality is of limited value in most cases. In our case, we sell a total hardware and software solution, so it's of no value at all - dry cleaners aren't going to buy Macintoshes to run their business.
Last edited by DWRoelands; Apr 8th, 2005 at 03:46 PM.
The same goes for SQL - I've seen people say "always use ANSI standard SQL" so you can port to Oracle or some other DB at any time.
But the reality is that our customers want MS - they buy MS - and we use MS products/syntax/technology to it's fullest.
That's a good thing.
BTW - here's a silly bug in VB6 that will probably now never get fixed.
I've got a laptop with an additional monitor - I extend my desktop to that monitor as well. If I drag a VB6 executable over to the right - to that other monitor, all the "tool tip text" comes out on the monitor to the left. Not nicely on top of the text box that the mouse is on - but over on the blank desktop area of the laptop.
Those types of bugs will pop up now - forever - with new hardware, drivers and technology and simply not be fixed anymore.
That's the danger of VB6
*** Read the sticky in the DB forum about how to get your question answered quickly!! ***
Please remember to rate posts! Rate any post you find helpful - even in old threads! Use the link to the left - "Rate this Post".
I took a look at the version of RealBasic (5.5) that's being offered to VB6 users. It's very nice, unless you want to do something productive like access a database. If you want that, you'll have to pony up dough. RealBasic's "offer" is nothing more than a trial version. *yawn*
I used the VB to RB project converter on their website to convert a simple little game I made in VB6. Just going through the code trying to make it work in RB made me realise how limited the language is compared to VB, and how clumsy the RB IDE is.
It seems possible to write so much neater code in Visual Basic than it is in REALBasic (at least in version 5.5 anyway). That's the impression I got anyway.