Tuesday, January 27, 2015

The smart and successful duck: a comment by Anonymous !

Excerpt from a Win10 TP exchange about Win 10's ugliness.
srfreeman wrote : "As I've mentioned before, Windows like anything else is a product sold by a business. It is the responsibility of the business to built a product that their consumers want. If customers are saying they are not interested without these customizations available, then there is no argument to be made. Microsoft has only three choices: Lose the customers, hope they will invest in all those third party utilities, or give them what they want.
While you may find the 2nd approach viable, many other people do not. I prefer my system running with minimal modification. The ability to have everything I need out of box without modifying system files or installing tons of extra system services to hijack various operations on the system is more than just convenient to me..."
.Net is to VB6 what Win 10 is to Vista/Win7 users : an ugly duck!

As a business principle, a company ought to bring consumers the product they want. In many business schools, that would be the number one rule for success.
MS is doing some of that : in VS, you got your C#, C++, VB, use whatever you prefer. But the Classic VB way of doing things is gone. Of course, VS has a few tricks easier to do than VB6, but that is only because MS has been putting their money on the framework only for now ohhh so many years. And they are pretty much s*** deep into it to recognize that a vast number of people just don't like those managed languages. It's not a secret that internally, the OS people loathe managed code, and that there is nothing wrong with COM (windows is mostly COM, framework more like a layer on top) if it benefits from continued development. The Windows kernel (low level api, gdi, MCI, COM) MS will never be able to get rid of and may very well outlast framework and managed code. If that's the case, come Win 11, 2018, 2024 and well after that, VB6 could still be a desired option for which it will not be wise to end support. Industry likes long lasting standards... CNC machining is still being done with HPGL or G-Code engineered in the seventies, just like a car still has four wheels, and for a simple good reason : IT WORKS!
Who can tell where and what VB6..7.. could do nowadays if development had been put on it at the same rate as the hit-and-run (and flee the scene) products MS has been serving for years (obsolete framworks that will still need be supported, Win RT, Silverlight, etc.)

It was once Bill Gates's own vision that one day, Windows apps would be as easy to write as a basic program was back then. And that path was followed for a while (VB6). But then the world crumbled and what was to follow only succeeded in putting programming out of reach of the masses. I don't doubt that some programmers at system level want and need something real powerful (OOP and it's paradigms) etc.. but for one techie that wants to wet his dreams with OOP and polymorphism, there are hundreds who simply need to fire an IDE and write a custom spreasheet for their office, or a bill calculation, or... the list is endless.

To all these people, MS is saying : NO. You want the Windows programming experience? Be ready to feel the pain.
Look at simplest way to write a Metro APP. Borderline ridiculous : lots of very advanced computer topics you have master before even doing the simplest thing.
In my view, there is no reason WHATSOEVER for which you could not write the "Hello World" app for any platform anymore complicated than a simple: print "Hello World"
VB6 can do that with the less amount of effort in Windows history. A true RAD. Wake up MS, this is what we expect from you : write a compiler where YOU take care of the nitty-gritty, and leave us, common mortals, more time to achieve productivity and write products instead of being swamped by the complexities of the programming system.
With it's constant change of directions, MS, the very company that writes the OS is trailing the pack as far as writing portable applications is concerned. IE is the worse of the browsers. It's laughable really. Better watch out if someday, Google or Java decides to venture into the OS business.
OK, so MS fanboys can revel in their C++, C# or .NET, why not a parallel product? I am just saying here, out of my head ... let's call it : VB7-64 bits. My bet is that it would outsell in a flash any of the VS products.
Actually, I don't only see it as an alternative, but rather as a Golden Opportunity to get back to bases, and re-engineer the product almost from scratch, keeping of course its governing principles and easy syntax while aiming at the same time at platform portability. Truth is VS has become a much too big animal, and admit it MS, you barely have the resources and qualified staff to continue mantaining and growing this thing much longer and keep up tying up the loose ends.
Oblivion is menacing a company that does not fullfill the real needs and desires of it's user base, much less acknowlodging them. Win 8 was lesson... a while back NASA was served a lesson too, comittees concluded a CHANGE OF CULTURE was the biggest element to bring about solutions for their problems. I find the term wholly appropriate to the situation at MS.
Later on , srfreeman writes and concludes :
"The current state of affairs paints a bleak picture for the part of the IT world represented in this thread. As Windows 10 becomes a continual work in process, it seems that the stream of complaints will only be stemmed through attrition in the ranks."
Feels like déjà vù!

Thursday, January 22, 2015

Make a new version of Visual Basic 6.0, a Visual Basic 6.X

Make a new version of Visual Basic 6.0, a Visual Basic 6.X

Released on the market in mid 1998, Visual Basic 6.0 (abbreviated VB6) has been and it still is the most successful version in the history of Visual Basic. The VB6 compiler has been designed to satisfy the slow processors of the late 90’s (800MHz – 1300MHz). Fortunately, compilers do not get old (ie. ADA – an "old" compiler underlying F22's raptor on board equipment, or Fortran and COBOL - which are widely used)1-3 . This throws us into an older conclusion, namely if it is new it is not necessary better.
Nevertheless, at the time, VB6 designers were true visionaries, who have done an incredible job which has withstood time. With the increase of the processor speed, compiler designers have become increasingly careless, overestimating the hardware power. These bad habits have probably been taken from the 3D game industry where the size of the game was almost always confused with its complexity and novelty.
Why is VB6 still successful ?!
There is no great secret that VB6 gets along very well with embedded machine code and the assembly language. VB6 advanced programmers are usually advanced assembly language programmers also. They have propelled VB6 programming language to the very top. Nowadays, through a simple copy and paste of the myriad of functions created by advanced programmers for VB6, an intermediate level programmer can create VB6 applications that run faster than those designed in C++ (no joke there).
Microsoft should perhaps listen to the hundreds of thousands of programmers who demand the introduction of VB6 to the market . It seems that no other programming language has created more scandal than VB6, culminating in a very serious petition to Microsoft made by programmers (14627 signatories including 265 Microsoft MVPs) from around the world4,5 . The phrase that is most heard from other internet VB6 programmers in small talk discussions is: "if there is no more VB6 then I will move to Linux, I know most programming languages anyway ..." otherwise a troubling phrase for Microsoft.
Both I and other VB6 programmers, do not understand why Microsoft does not redesign a parallel version of VB6, ("Visual Basic 6.0 phoenix" would probably be a good name taking into account the circumstances). Most companies take care of their fans and designers. Personally I do not see anything harmful or threatening in a new separate VB6 programming language for the Microsoft grand plans.
The humble request of programmers
We have to force Microsoft's hand to reintroduce VB6 to the market, of course, under the same name and fully compatible with future Windows OS’s! As long as the programmer feels like in VB6 and the classic VB6 source codes work, everything will be fine and everyone will be happy. Increasingly more and more applications are made in VB6. We will not be ignored !
I will end this article quoting Karl E. Peterson: "Microsoft had never rendered any of their customer's data unusable. Not once. Why they did it first to the users of the world's most popular programming language ever, the product the company was founded upon and that may have had more impact on their overall corporate position than any other, is extremely puzzling. After years neglecting the VB6 community, Microsoft seems to be missing something. Us!"

Tuesday, January 20, 2015

Antiviruses and browser filters are a waste our time !

Do you know when your browser filter or your antivirus says: this file can harm your computer ? Well, people began to understand that these are false alarm signals. Because of this problem, no one trusts the browser filter and the antivirus (for a good reason). The problem arose from the moment VirusTotal appeared. All security companies take their files from there, and this is something totally wrong, because the files are uploaded by users like you and me ! Antivirus teams are like sheep, if one says that a file is suspect, then everyone says that the file is a virus or suspect. 

They do this so they don't lose the so-called "detection rate". That is why over ~90% of the files they detect as malware, they are in fact clean files, belonging to different legit software companies or belonging to you or me. So when your browser or antivirus tells you that the file "x" is infected, you should not listen to it. I've given up Google Chrome (mainly due to so called "malware" filters) and all antivirus software because these have told me that my programs (just compiled) were a threat to my computer. That is stupid, how can you interdict me to download my own statistical software because it might harm my computer ?!

Friday, January 16, 2015

A comment by Phill W !

Anyone who blindly follows Fashion is gullible. 
Anyone who ties themselves to one, particular Fashion House (because it seemed like the best one when that decision was made) is even further up a creek without a paddle.
That's where an awful lot of long-term VB "Proper" developers found themselves in 2002/3 when VB.Net was released, elbowing aside its similarly-named (but otherwise totally-dissimilar) forebear.
IMHO, .Net is all about fashion. 
At least two versions of it are already obsolete, one of them (Fx1.1) having been killed off a full four years ahead of its mainstream product life cycle (because Our Friends in Redmond couldn't bend it any further in their attempts to implement an ever-evolving security standard).
It does strike me as just a little ironic that, in the latest versions of Windows, COM seems to be having something of a Renaissance and .Net just doesn't seem to fit with it all that well.
Veering dangerously back On-Topic;
VB6 is dead and buried; at least that what Microsoft would have you believe, but there are plenty of people around here still using (and learning) it, so I don't think it's gone quite yet.
VBA is still going strong, safe and secure inside Microsoft's flagship Office suite. It's showing no signs of disappearing any time soon, simply because .Net is too programmer-y; business users can run up "macros" in Word and understand them. Can you imagine them trying to get to grips with a .Net-ified, object-oriented replacement? There would be Personal Assistants rioting up and down the Land.
.Net languages abound, not just Visual Basic and C#, and are great for big, Enterprise-scale applications where you can hide everything on your own application/ web servers. For putting applications out onto people's own desktops/ laptops/ surfaces? Not so much. Windows Forms apps can be excellent (yes; I've written a few); I've yet to be convinced by the Xml-mania that is WPF.
Regards, Phill W.

Thursday, January 15, 2015

Statistics on the Visual Basic 6.0 page for a CodeProject article

A comment by Anonymous !

[Translated comment by Google from Spanish to English, from one of Anonymous below]
What pride Microsoft pretending to know more than their customers, what pride .... so poor that Microsoft has broken the rules of marketing to be able to listen to your customers, keep VB6 is no longer a suggestion or an idea from someone isolated it is a prayer of thousands of programmers worldwide whom you formed, trained and convinced of the wonders of the COM technology. What madness is to sell a product massively and then kill him, out of the market and force users or use another inferior, lower quality, worst performer, of little use and desired by noone. Microsoft has hung his rope to his own suicide .... What a mess Microsoft, what cr*p your decisions ....

A comment by Anonymous !

I just dug out my old VB6 disk and installed it on my Win 7 computer to embark on a screen-scraping project I didn't know how to get going in any other way. I started Monday morning and now 72 hours later on Wed I have got the skeleton of the entire project running. Tackled the tough part I didn't know how to do first so I could be sure that wouldn't be a show-stopper. Still enough documentation available from google on advanced graphics techniques to let me get up and running with BitBlt and GetDIBits even tho I had never used either before as a function. Now I'm typing away, knowing for sure I'll get where I want to go in under a week.
VB6 is as much an American Classic as a mint '64 Mustang Convertible. It ain't no brand new 2015 Z06 Corvette with 460 HP, but who cares. It sure is fun to put the top down and feel the wind in my hair once more.

A comment by Boofle (Lofaday) !

Indeed, VB6 is the most rapid RAD out there by a long shot. Microsoft (MS) have lost all sense of consistency, led by the nose by a new class of snobbish, bloatware loving, fascist ("do as we say") "programmers" of the ilk that global corporations love (most India based now), who simply don't want to see individuals and small companies intuitively making reliable, profitable programs overnight. MS successfully crushed my small business product stream with this campaign losing me millions. So I have had to change (I still use VB6 for RAD) and now I use Python (a cross between C and basic). And guess what? That means I am no longer tethered to MS treachery. Win win for me. Do MS care? No, their bigotry is so ingrained, they continue their mad lemming march towards falling sales. The corporate consultants to whom I report no longer care whether it is 32b, 64b, VB6, VB.net, C#... they know practicality has been "cast asunder" my MS belligerents -- they know, because they scratch their heads in disbelief as they are expected to provide system operators and data entry clerks with software that looks more at home on the Xbox or a mobile phone... Windows 8. I predict in 10 years time there will be a new OS giant (perhaps Andriod, but they also fail consistency) and MS will be another struggling corporate systems supplier alongside IBM. A VB6 replacement is much needed. Perhaps when a decent IDE comes to Python, that is it. Oh but what am I talking about? A genuine VB6 upgrade would have me going back to MS overnight..

A comment by Anonymous !

I've been using .NET for 10 years now, I can remember all the main class libraries off the top of my head.
I'm now developing (by special request) a VB6 app. VB6 was my principle programming language where I worked between 2001 and 2004. Before and after it was C, C++, C#, and pascal!
Needless to say, doing this VB6 app was awkward, I don't remember much and introspection/intellisense is much more limited than what I'm now used to.
And yet, the app has been developed quicker than I expected. There **IS** something about VB6 that makes it a very powerful development tool.
Now I had always thought that VB6 was being retired because the COM technology on which it's based is being retired. Certainly you could not use VB6 for cross apps to smartphones.
But it seems to me that W8 is full of COM code, and even MS now realise that they are not going to 'port' their desktop users to phones by leveraging the environment (they risk losing out on BOTH sides!). Heck, the guy who specially requested VB6 is an iPhone freak, but he has NO plans to have this stuff on a mobile.
It does seem there is a good case for updating VB6.

A comment by Oliver duCille !

The wheel was invented eons ago. Sometimes, we need to leave perfection alone. IMHO, Microsoft tried to deep six VB6, not for a technical reason, but to sell more product. They miscalculated that the loyalty they had with those millions of VB6 programmers was more held by them, Microsoft, than for the great product they created, VB6. A grave miscalculation, indeed.

Sure, there was pent up demand for true full OOP with inheritance, operator overloading, etc. And, there is no question that we were all desperate for implementable and reliable multithreading also. Sure Microsoft listened, but only to a degree. They ignored the most important piece in their solution toward providing the fixes that VB6'ers were clamoring for.

What we didn't count on is Microsoft's lack of interest for not a smooth but seamless migration path from VB6 to dotnet. Microsoft left out a huge gap in the on-ramp from VB6 to dotnet. Could they have done more? That hurt a lot of people and put a bad taste in a lot of mouths. Who does that to their customers? The bitterness of that bad taste left in the collective mouths of literally millions VB6'ers will not wear away with time.

Microsoft must first remember, understand and incorporate this one singular principle of technology development described here: The Model A had four wheels and the standard axle width of the Roman chariot as far back as 2000 BC. The Tesla roadster is STILL based on those same two basic design pattern - four wheels and the same axle width of the chariot.

I believe that Microsoft still has the opportunity to reconcile this. And, I don't mean just a passive it-just-works kind of solution as evidenced by the continued support for VB6 through EOL of Windows 7 & 8. We want something more than this passive gesture. We want no less than an active, effective and robust solution from none other than Microsoft. I needn't elaborate on what's been discussed now many times over for some years.

A comment by dilettante !

VB's history is unrelated to that of VB .Net, which is an entirely different compiler that isn't based on the prior work done in Microsoft Basic products... until it was cut short by the .Net fiasco.

VBA was an offshoot of VB, originally intended to replace crude efforts like WordBasic and move into other Office applications like Excel and Outlook. Later it was made available for a time to 3rd party developers as a macro language for other applications and you still see it there from time to time even though it is not offered to new developers anymore.

COM is native to Windows, and a core part of the operating system. It is not going anywhere despite the FUD spread in the lower tiers of the .Net community. ActiveX is a layer on top of COM, bringing in Automation (OLE), and this is what VB6 uses (not naked COM, which VB6 is not designed to use).

There is a fellow named Anders Hejlsberg. Back in the 1980s he came up with a product called Turbo Pascal.

Along came Windows and the DOS-bound Turbo Pascal just didn't cut the mustard anymore. Hejlsberg was mightily annoyed since the world turned its back on his little compiler which was no longer relevant. He also hated the new Visual Basic that Microsoft had come up with, partially because he didn't care for Basic as a language at all, mostly because the world was now ignoring him, and his ego was huge.

So he set out to create a Windows-oriented Pascal, which he called "VB Killer." This stole many concepts from the VB IDE and its Visual Form Designer, and became Delphi.

Some years later he used his connections to land a job at Microsoft, where, still grinding his teeth at the success of VB which grew with every new release, and now knowing Delphi was a dead horse, he ended up on a Microsoft Java team.

There he helped develop a divergent version of Java that was tightly bound to Windows and incompatible with standard Java. This was called Visual J++. However it infringed on and damaged standard Java, and the courts thought so too. Sun was able to win a lawsuit, and so Microsoft had to start erasing any trace of VJ++ and the Microsoft JVM. MS JVM headaches of course plague Windows users ever since, and it has become a minor stumbling point when trying to install VB6 today.

With the lawsuit underway and things looking grim for Microsoft's case, the evil Hejlsberg and his team got together with some lawyers and came up with a legally defensible clone of Java, This was called "Project COOL."

COOL became .Net and the language C#, but just to get more revenge on VB he managed to sell the Powers That Be that putting a "VBish" face on this would bring the VB community under the .Net shadow as well. So we got a VB .Net compiler that used syntax superficially similar to that of VB but different in subtle and hazardous ways, and of course with bizarre semantic and run-time differences.

The VB community hated the .Net travesty. Many moved elsewhere. Eventually the gullible accepted it and you see many of them here. After all, VB was killed off at VB6 and the .Net Roadshow managed to convince many employers to move. Most developers have no choice but to find employment to pay the bills, so a lot more jumped to .Net and started rationalizing their move and brainwashing themselves. Many now believe it is hot stuff, lobotomy completed.

.Net is an artificial layer just like Java. Windows with no .Net runs just fine and doesn't know the difference.

A Mexican proverb ...

The evolution of programming languages ! a Visual Basic 6.0 story !

The evolution of programming languages ! a Visual Basic 6.0 story:

C++, Java, VB