Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was a huge fan of Delphi 5 at the time, and hoped it would win over VB6 (I guess it's a Coke/Pepsi thing). Now I'm in the same boat as you, because it seems both Delphi and its competitor, VB, have lost. I'm not even sure if there are any winners.

I wish someone would build a robust OS & GUI toolkit and ship it with developer tools...



Well, I'm a Qt fanboy, but I think a Linux distro + Qt5 + KDE5 will probably be quite close to what you want. Take a look at Qt Quick and especially QML, which is being used for developing KDE 5.

QML is basically a Javascript-based declarative language for building user interfaces in which you can use full Javascript to augment them. It has its own IDE (Qt Creator) with a visual designer and it's pretty easy to learn, and Javascript is not a hard language at all for newbies. You can even use C++ to extend your applications. KDE 5 is not ready yet, but Qt5 is mature and improving with every release.

I would recommend that combination to a young aspiring programmer without a doubt.


> I wish someone would build a robust OS & GUI toolkit and ship it with developer tools...

I think that's the web. The development that used to happen in VB6 & Delphi simply has migrated there, desktop apps from that segment are dead.


I think you're right, and it's a huge indictment. The web, as an application platform, is worse than VB ever was.

Think about that for a moment: We've regressed from VB.

The usual tradeoff is: easy to write, hard to extend and maintain. But the web is hard to write and hard to extend/maintain.

We have some of the smartest people in the world in our industry, and evidently we're all idiots.


This, a million times. I'm a bit further down the abstraction chain but I am thoroughly glad I sit there all day writing C/C++ for Windows native (win32) GUI applications.

I know once I've tested it on one machine it's going to work fine on all the other ones. It's the most stable API and platform I've ever seen. Code we wrote for Windows NT4 works fine on Windows 8.1 and behaves exactly the same.

Compare that to our poor web guy who spends at least 50% of his time trying to get everything working on a selection of browsers going from IE6 to the latest Chrome while necking red bull, using the F word a lot, smoking and going bright purple.


I completely agree with you guys. The tone deafness in this thread with regards to why VB6 appealed to beginners is striking.

No, beginners don't want to layout things in CSS, a declarative XML language, or any other 'text' way. They want to drag and drop components with the sort of ease of use that Visual Studio or Interface Builder offer. And they want a language coupled with that which features the simplicity of Python.

I too did some of my first serious programming in a VB like language in the 90s (RealBasic for Mac). I now develop beginner training materials in web development as a side gig and while we have fun - it's definitely not as satisfying as laying out a form in VB and having a real GUI in a matter of minutes that "Just Works."


Which makes you wonder, could you bolt a language like Python onto an interface builder a la Xcode IB, Visual Studio Forms designer, etc?

I agree with you, I think the bigger picture here is how well the IDE, GUI, and code hang together as a complete unit; focusing on any in isolation (e.g. "VB sucks, use Python") misses the point.


I agree, but if your coworkers is anything like mine and you asked him if there is a fundamental problem with web development as a platform choice for internal apps, I expect he would suddenly forget all the pain he goes through on a regular basis. I've watched my company burn about a million dollars unnecessarily in the last two years because of choosing a 100% web interface for an entirely internal project (of dubious value in the first place).

The zealotry in this field is getting close to unsustainable in my opinion. Companies thought the proliferation of ms access apps was bad, wait until they try to do something with the proliferation of overarchitected web apps based on a wide assortment of fashionable at the time but now unpopular languages and frameworks that hardly anyone has experience on and is most certainly not interested in working on.


The frameworks are the problem. There is no such thing as a "JavaScript guy" really, everything is about the framework, every app is some dev's first in that framework before it drops out of fashion, and knowing framework X doesn't give you any leg up onto framework Y. Experience counts for nothing.

In the old days, you could learn C or SQL and for every hour of learning get a hundred or a thousand hours of real use, and you have at least a fighting chance of picking up some other guys code, or vice versa.


I couldn't agree more. I really don't think very many people in management understand how the programming world has changed and what is happening at a code level in their companies and how big of a maintenance problem they are going to have on their hands.


I used to work at Microsoft (SQL Server). It goes without saying, but getting here is an intentional, conscious thing Microsoft spends billions of dollars to achieve.

Working in SF in earlier-stage companies, I've never seen anything even close to the rigor with which Microsoft approached testing. Definitely consider working there if you want to learn from some of the best QA/QE/verification engineers in the industry.


Sadly many of the recent layoffs from MS have been in their QA and SDET/test engineering teams. The days of a strong testing discipline might be over for the company.


Reminds me of the great talk by Joel Spolsky[1].

Perhaps automated systems have become much better since Joel wrote this, but something from the talk I really liked -

"The old testers at Microsoft checked lots of things: they checked if fonts were consistent and legible, they checked that the location of controls on dialog boxes was reasonable and neatly aligned, they checked whether the screen flickered when you did things, they looked at how the UI flowed, they considered how easy the software was to use, how consistent the wording was, they worried about performance, they checked the spelling and grammar of all the error messages, and they spent a lot of time making sure that the user interface was consistent from one part of the product to another, because a consistent user interface is easier to use than an inconsistent one."

[1] http://www.joelonsoftware.com/items/2007/12/03.html


A common complaint, but I don't think it's true: Web applications are _much_ more flexible as far as screen size and device types are concerned and they are multi-user, networked by default. If you would want to achieve both of these with a VB-like approach, it would be just as complex.

I think the most important issues with the web that are not already being addressed (and winning) are a statically typed Javascript replacement and a way to locally isolate the effect of CSS in large applications with many modules (web components don't solve this correctly).


You're focusing on what's good about the Web and not addressing what's good about VB (that's what this thread is about): a stable API platform, and easy WYSIWIG GUI design. The Web (or at least the tools for it) largely lacks those two things.


> But the web is hard to write and hard to extend/maintain.

The web is distributed and distributed is hard. The problem is that it is also what people want. We haven't regressed from VB6 -- we've advanced, but the demands of the market may have gotten more complicated faster than the popular tools have advanced in their ability to simplify them.


But the web isn't hard because its distributed. Its mostly because HTML and CSS were not designed for making applications.


Exactly. If Microsoft had written Outlook in VBA as a plugin for Word, they'd have been laughed out of the room. But that's exactly what Google did with Gmail...


Weird to see people complaining about the web all the time. The fact that it can do things ranging from typesetting to form applications, to marketing sites, to full blown games is pretty amazing. If you feel that you would like to make a SaaS providing a SQL backed drag and drop form editor, you can do this on the web. The fact that nothing like VB exists any more is a reflection of the fact that the market simply does not find these things useful.


I concur, the combination of css + js + html is an nightmare especially if you are are trying to design a simple database-backed website for your startup. Webforms might have been hard to maintain for some, but at least it worked well. There was no need to figure out all the background stuff if you are not a professional developer. If I need a fancier website based on mvc, I would have hired a fullstack django developer instead.


Yup, and if you are trying to do the full stack, you had better toss in some node.js or Ruby on Rails, plus SQL. Web development is really hard for non-developers to grok.

I keep thinking back to an Access application that I threw together in a couple of days, back in the 90s for managing a team of about 40 technicians. It was being used for task tracking, and had some wiki-like features as well. When I started that project I knew nothing about Access or VB, and yet in two days I had a bunch of forms and tables that allowed managers to get a quick feel for what their staff were up to. The thing ran over the LAN, and could handle 10 simultaneous connections without any dramas. If I were to try the same thing in the web world, I might lose myself in getting just one table view working correctly for a week. Getting an http server configured and up and running, and talking to a db server would be at least two days. And there would be many potential roadblocks just waiting to trip me up along the way.

These days, rather than dealing with that mess, many companies just go for an off-the-shelf hosted solution that sort of fits their needs, such as Basecamp, or Jira, or Igloo. The existence of these products is a sign that we've gone off in the wrong direction somewhere - the sorts of products they make are very similar to that online apps you could make with Access 20 years ago.


> These days, rather than dealing with that mess, many companies just go for an off-the-shelf hosted solution that sort of fits their needs, such as Basecamp, or Jira, or Igloo. The existence of these products is a sign that we've gone off in the wrong direction somewhere

No, its a sign that the web has enabled easier application delivery with greater reach at lower cost; Access is still around, after all, and most businesses have it right at hand, so if the alternatives were worse, they'd still be using it.


Unless they are getting advice from developers. Do you know any developers who would say "why don't you just use Access, it will take a week" when the alternative is a fun new 3 month web based project where they get to choose and try out the latest languages and frameworks? I certainly don't.


You're idealizing Access for reasons unknown. If there actually was demand for such a tool, one would exist and would be making a ton of money. The fact that people use off the shelf SaaS is an indication of the fact that off the shelf SaaS is what they want. My suspicion is that Access is too hard for most business people, yet not powerful enough for actual developers to make something unique with.

Salesforce has made a huge business out of business apps in the same category as whatever would have been cobbled together in the basement with Access by some 'IT guy' 20 years ago. The fact that this is the case is a reflection of the fact that people prefer the hosted, turnkey, polished experience that web-based SaaS provides over some half-baked internal app.


"You're idealizing Access for reasons unknown."

Well, you might accept that I'm "idealizing" Access because, you know, I had a decent experience with it 20 years ago, as described in my first comment. No need to go searching for mysterious ulterior motives when they're explained in the post!

For what it's worth, I do remember significant flaws in Access. For one thing, it was an absolute pain when we wanted to modify the database - we had to get everyone to log off, and then upgrade all of the clients at once. This is one of those problems that the web solves elegantly. Also, Access had major issues with concurrent users. Performance fell off a cliff, and from memory, certain operations were unsafe (I think you could set up a SQLServer which would address the concurrency problems, but we never bothered).

But these days we have better options available to us - app stores fix the updating problem, without introducing the css + html + javascript mess. We have decent, free web servers, and web application frameworks such as Django and Rails that make writing the server side code that drives the RESTful APIs used by the client relatively easy. But what we don't have is:

a) an easy way to create a server (this needs to be as easy as sharing an Excel spreadsheet) b) a coherent development environment from client to server code. Something that allowed you to write apps purely in Javascript (no css or html) with a GUI editor, and which also let you write the server code in node.js would be a close match to what I'm thinking of. Bonus points if most of the node.js code is derived from the client-side code, so that the novice programmer doesn't need to be aware that a server even exists, it just works.

The problem is, that's the kind of application that's really hard to write. It's big, an IDE in fact, and really Microsoft is the only game in town for making that sort of stuff. But they won't write Android / iOS / Mac clients, so it doesn't happen.


I'm finding these comments really fun to read, speaking as someone who spent years building and marketing exactly the product you describe. My feeling is that the other poster is right - there isn't much of a market there. Recall that even Microsoft didn't make (much) money off of Access - it just got used because it came pre-installed with Office. I'd love to be wrong about this.


> My suspicion is that Access is too hard for most business people, yet not powerful enough for actual developers to make something unique with.

At our company, we have an Access "thing" (it's not even an application, really) for generating listings of the phone numbers and birthdays of all the employees.

Recently, for no apparent reason, it stopped working. I consider myself moderately competent at getting up to speed with new development tools and reading myself into other people's code if I have to, but Access somehow is completely incomprehensible to me.

Maybe I was just missing something fundamental, but I found Access hugely frustrating and not intuitive at all. The general idea behind it seems actually kind of good, but the Microsoft chose to implement it is not exactly optimal. Also, as usual for MS, the complete lack of a manual made me want to strangle somebody. So, yeah, I totally agree with your statement. :)


The web has its own equivalent of the gtk bindings issue. For a new programmer, gluing together a load of different languages and libraries is a nightmare. For experienced programmers too.

http://tilomitra.com/the-crazy-world-of-code/


Modern day WinForms in .Net work just as well for coding up simple GUIs.


Winforms is fine, not as powerful as what came before it but otherwise good. The problem with winforms is WPF supposedly deprecating it.


WPF has a much steeper learning curve though. For non customer facing desktop programs, WinForms is fine.


I don't think WPF has been successful in replacing winforms, more that it was a hard sell to management to use winforms after WPF was announced.


> I think that's the web. The development that used to happen in VB6 & Delphi simply has migrated there, desktop apps from that segment are dead.

A lot of the internal desktop LOB application development that used to happen in VB or Delphi still is done on the desktop, but happens in Excel with VBScript. That trend was very much visible when VB (pre-VB.NET) was still current.


AFAICT, what displaced plain VB for much of its commercially-significant use wasn't VB.NET, or anything web-based, but -- and this was happening when VB was still current -- Excel (with VBScript), which was and is in many ways superior to VB as a visual rapid-application-development platform because you could do more without context-shifting out of the visual paradigm.

Of course, VB programmers may look down on Excel the same way lots of other programmers looked down on VB.


The irony is that the present day version of delphi is the best it has ever been, and competitive feature wise with other platforms, but because it has a non-trivial price tag everyone pretends it's defunct. The reality is that the only programming languages which remain are either open source, or the default solution for a mass market OS, and all of them are free. You can't build an entry level dev solution like classic vb or Delphi and sell it to hobbyists these days, so unless some open source developers make it happen for free, it won't happen.


There is Free Pascal[0] and their Lazarus IDE[1], which are free, open source, cross-platform and largely Delphi-compatible – but they still don't seem to be taking the world by storm.

[0] http://www.freepascal.org/

[1] http://lazarus.freepascal.org/


That is true, but I suspect it is due to Pascal style languages falling out of fashion more than anything else.


Have a look at Lazarus (http://www.lazarus.freepascal.org/), which is basically Delphi 7 in a cross-platform open source version. It's not as stable as I'd like it to be, and some components are still missing, but it works well enough to be a more than viable alternative to '98 VB 6.


I cut my teeth with VB 5/6. I still think there is nothing on the market that is as fast in creating applications.

If you did things properly (MVP! remember that?) it was quite maintainable. I still know of several VB apps still in service.


If you do things properly, PHP is maintainable... C is maintainable...

The problem is "properly" is surrounded by a lot of people who slap stuff together, reinvent the wheel (NIH syndrome) or just plain don't know how to program.

I shudder when I look at old VB code... and thank God that I have VS2013, resharper and C#.

I think the issue people have is "it's never as good as it used to be". You remember the good, forget the bad and glorify what used to be the pinnacle of technology. Windows 75. XP. Blackberry. Palm. OH WHY CAN'T THEY HAVE JUST LET US STAY WITH PERFECTION!!!

Sorry... Let me get off your lawn before that becomes an issue as well. :)


I really like Resharper but had to uninstall it.

I have an i7, 16 GB RAM machine (with a 7,200 RPM HDD though), and when I had Resharper running Visual Studio 2013 would take 10+ seconds longer to load and lag horribly every time I opened a large class.

I tried all of their repair tips, but ultimately I think it it is just that laggy and slow by its nature and drags Visual Studio down with it.

I just couldn't justify the $149/year (effectively, due to the way upgrades work) cost. Plus Visual Studio 14 CTP adds many of Resharpers features natively and without any lag at all.


> I think the issue people have is "it's never as good as it used to be"

Part of it is probably that the computing world has become more complicated: A significant share of developers have left Windows, and clients want to play around on their iPads and Samsung tablets. It was much easier to be a "perfect" dev environment when absolutely everyone was running Windows.


VB6 supported classes, [standard] modules, and forms if I remember correctly. So while on paper it would possible to do things properly I'd say that was more the exception than the rule.

The main problem with VB6 was the modules. Modules were "any code here is thrown into the global scope" areas. Worse still they would execute with the caller's context, so you could mix in things like form logic (which would break if the form wasn't the caller).

This sounds great to newbies: "Ohh nice I'll just write a bunch of helper procedures/functions, throw them into a module and use them all over!"

However as projects grew so would the global scope of the application. You then have module function A which calls procedure B, and so on. So when it comes time to refactor some of this global craft into nice streamline classes it is pure hell as the application was never written with that in mind.

MVP in VB6 is largely a myth. I've never seen a legit VB6 application written in that style, and I've only seen it in context of articles talking about how things SHOULD be done. You want something like MVP? Then pick up a framework which enforces it or it won't happen.


Check out Oracle Application Express (APEX) - very quick for standing up applications, and provided free (as part of the DB) by a company that won't go away any time soon.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: