8 ms·
The Birth of Visual Basic (2006)
- jimmaswell 12y agovb.net is an odd language. Pretty much useless in a way because it's just a less powerful, oddly-syntaxed C#, after using it for a year at one point. Not a bad language but offers very little that C# doesn't, and is missing some. Handles statement was very nice though.
- Retric 12y agoDim has some nice syntactic sugar that is not part of C#. Granted, I like most people prefer C#, but there not quite equivalent.
- adwf 12y agoYeah, VB.net is mostly there so that people can upgrade legacy VB6 programs. Of which there are a lot. Or were, I hope that's changed a little now. It scares me just how much of the finance sector is still running on some hacked together VB script tied to an excel spreadsheet... But for anything new, you might as well use C#.
- Spearchucker 12y ago"...it's just a less powerful... ...c#..." How so? I use both (my largest C# project was Nokia Maps, largest VB.Net project is my own database + sync engine, at ~110kloc, spread across Windows Desktop, Windows Phone and WCF sync engine). I've not come across any shortcomings in comparison to C#. Granted I'm using the free editions of Visual Studio, and avoid any third-party components or code. What am I missing?
- wsc981 12y agoI think you can probably achieve the same results with VB compared to C#, but at the cost of writing more code or slower performance.
- Spearchucker 12y agoVB.Net is about as verbose as C#. There can be no perf differences because they both compile to the same bye code. Assuming the dev knows what he/she is doing when optimising for perf in either language.
- ropman76 12y agoIn what way is it less powerful? I use both in my day job. Sometimes I think C# has more elegant syntax (personal opinion) but I have not been able to not do anything I need to do in VB.
- wvenable 12y agoI encounter more and more vb.net because Microsoft uses it as their default "scripting" language for products like SQL Reporting Services. And for that, it actually seems to make sense as a language. In small sniplets it works better than C#. But honestly Microsoft missed a huge opportunity by not simply making classic VB6 code run under the CLR. In entirely defeats the point of having a common language runtime if every language has to look exactly the same. It wouldn't have been an insurmountable project and would have driven higher the adoption of proper .NET.
- benguild 12y agoI hella coded VB5/6. Before that, QBASIC4LIFE
- vblord 12y agoVery cool. I learned to program on VB6. I was a really amazing product for it's time.
- gaius 12y agoInteresting that the name Ruby was already claimed (like Go). I guess no one in Ruby On Rails thought to check.
- afandian 12y agoWikipedia puts Ruby at 1993. I think it's reasonable to assume that Matz hadn't heard of a project that started not much earlier. "I guess" you didn't think to check.
- Stratoscope 12y ago"Ruby on Rails" isn't the Ruby programming language, they are two different things. But no, Matz had nothing to worry about when he named his programming language Ruby. The Ruby that I worked on had long since become part of Visual Basic.
- jasode 12y agoIt's an interesting story but it's told as a "person A did this, Person B did that, and Person C had this idea, etc." Maybe it's a consequence how my brain works but any time I read that type of recap, I forget everyone's name and the other trivia 5 minutes after I'm done reading it. When revisiting technology history, what tends to stick in my mind is the context and industry forces prevalent at the time and the story doesn't have that. So my recollection of context in 1990 would include... 1st: The prevailing method of writing Windows programs in 1990 (the Windows v3.0 & v3.1 era) was the raw Win32 API. That meant the 'C' Language WndProc(), giant switch case statements to handle WM_PAINT messages. Basically, all the stuff taught in the thick Charles Petzold book.[1] This was very tedious and complex type of programming. It was not friendly to corporate aka "enterprise apps" aka LOB "line of business" type of programming. (Java would arrive on the scene 5 years later but I didn't see a lot of corporate adoption until v1.3 which was year 2000.) 2nd: You had a large base of old-style DOS text mode developers for line-of-business apps using programming languages such as dBASE III, Clipper, FoxPro, and other 4GL tools, etc. The typical skillset of those programmers did not include the C Language. In 1990, Windows 3.0 was becoming popular as a platform for corporate desktops and businesses wanted to write apps for it. Visual Basic v1.0 hit that perfect sweet spot for a bunch of refugees from the DOS text mode 4GL languages to write Windows programs. They didn't have to learn the low-level C language or mess around for months with the Petzold book. Visual Basic had this ingenious abstraction called "forms" that hid the WndProc() monster and its messy switch case statements. It was a huge transformation. It was phenomenal how VB "democratized" the programming of Windows apps. A bunch of ISVs sprung up that built their business around Visual Basic. The recent parallels to VB as an "inviting tool for newcomers" might be PHP replacing a lot of CGI+PERL and maybe JQuery eliminating a lot of low-level Javascript getelementbyid(). Today, when I look at the iOS and Android landscape, I still haven't seen anything (Titanium? Xamarin?) that grabs mindshare the way VB did back in 1990. [1]http://www.amazon.com/Programming-Windows-3-1-Charles-Petzold/dp/1556153953 http://www.amazon.com/Programming-Windows-3-1-Charles-Petzol...
- analog31 12y agoIn 1990, the Win32 API thing seemed to be simply prohibitive for me to approach. In Microsoft's defense, my impression of the Apple Mac was even worse, but my Mac had HyperCard. The introduction of VB is what tipped the scales for me, in favor of Windows, as it was apparent that Apple's interest in HC was waning. Naturally, it's a horses-for-courses thing, but I agree that VB was huge.
- j_s 12y agoThe Silent Majority: Why Visual Basic 6 Still Thrives (2012) https://news.ycombinator.com/item?id=4085372 https://news.ycombinator.com/item?id=4085372 http://msdn.microsoft.com/en-us/magazine/jj133828.aspx http://msdn.microsoft.com/en-us/magazine/jj133828.aspx
- japhyr 12y agoI'm a high school teacher, and I'd love to hear from some people who know Visual Basic well. I teach an intro programming class each year, and I currently use Python. I occasionally get students who have had a previous class in Visual Basic at another school. These students tend to think they already "know programming", but after two or three weeks in Python they start to tell me they're learning all kinds of concepts they didn't know about, and they say they're enjoying programming in Python more than Visual Basic. There are lots of variables in their experience though, so it's hard to tell exactly what is making programming more interesting to them. My questions: - Do you have any thoughts about people being introduced to Visual Basic as their first programming language? - If one group of students are taught Visual Basic well, and another group is taught Python well, will all students come away with a decent grounding in programming? I don't ask that as a language flame war, I'm honestly curious about how programming in the VB environment compares to languages I'm more familiar with such as Python, Java, C etc, especially for students who have no previous background in programming.
- buckbova 12y agoDon't teach your kids VB. It's a dead end language. I don't think anyone should learn VB anymore and I doubt anyone is taught "well". There are classes in VB and modules. You can write functions and procedures. But something like python will serve you better into the future. I took every computer course available to me through high school and graduating in the 90's that didn't give me much choice. The teachers were not that knowledgeable so I ended up doing Apple BASIC and QBASIC lessons out of books. Honestly didn't learn much. I took a introduction to programming course in college which was in C. Most of the time I was fighting syntax errors to perform the most basic operations. I didn't learn much. I eventually switched my major to computer science and took another 101 course, this time taught with C++. Still I fought segfaults and syntax but I actually learned the basics. No moral to this story, just I wish I had python as a choice when I was learning.
- johnm111888 12y agoFrom my experience VBAs used a lot in the corporate world. Learning VB in high school can be of great use in the future if you're not looking for a tech career. Front-end MS Access, Excel Macros, screen-scraping, vb script to call SQL queries can all give you a leg up in a non programming career path.
- anigbrowl 12y agoVB was a crappy language because of Basic, but if you could get over that it was a really nice IDE for rapid prototyping I loved the forms paradigm. I wonder what people consider the current leader in this area.
- edtechdev 12y agoIt's still VB http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html http://www.tiobe.com/index.php/content/paperinfo/tpci/index.... For 'rapid prototyping' of a website, I guess that would be Wordpress.
- Stratoscope 12y agoThis is the most complete and interesting account I've seen about the beginnings of VB from the Microsoft side. I don't know how I missed it until now, but I'm glad it was posted here. Source and disclaimer: I'm the "Ruby development 'wizard'" mentioned in the article. Apparently I helped the VB team learn how to code for Windows! I didn't know that until now, but I'm glad I could help. To amplify on a few points in the article... The discussion of Custom Controls is right on. There was a myth that the reason Visual Basic was extensible through the VBX interface and custom controls is because Bill Gates insisted it. That's only partly true. Bill's role wasn't in getting custom control support added to the product. It was to make sure that it wasn't dropped. The support was always there. After all, when we coded the original set of controls, we needed some kind of interface for them, and it was obvious and planned all along that this interface would be open for others to build controls of their own. Actually they weren't called "controls" originally. Alan was going to call them "waldos", named after these: https://en.wikipedia.org/wiki/Remote_manipulator https://en.wikipedia.org/wiki/Remote_manipulator I couldn't make sense out of that name, so I ended up calling them "gizmos" instead. And my little "Gizmo API" was what later became the VBX interface. Scott also mentions the original "lines and arrows" Ruby interface, where you would drag an arrow to connect an event emitted by one object to an event target exposed by another object. He's right that this ended up not being a usable programming model for VB. But recently I tried out Unreal Engine 4's Blueprints feature. It was very reminiscent of what we were doing back then! But of course the Unreal team put in all the additional work to actually make this a usable feature - we never took it that far.
- jasode 12y ago>"lines and arrows" Ruby interface, where you would drag an arrow to connect an event emitted by one object to an event target exposed by another object. He's right that this ended up not being a usable programming model for VB. Fascinating. It's interesting that the modern Qt Creator IDE (for C++) has something similar for its signals & slots mechanism. It has the ability to draw a line from the "signal" (event) of one control to the "slot" (event handler) of another. I've seen several demos[1] highlight this operation but I don't know anybody that actually follows that procedure. They'd rather just type in the text editor: connect(src,SIGNAL,dst,SLOT); [1]http://www.youtube.com/watch?v=JtyCM4BTbYo http://www.youtube.com/watch?v=JtyCM4BTbYo
- orionblastar 12y agoVisual BASIC 1.0 for DOS was the first one I learned. I was working for a community college and they had a BBS for Tradewars and other stuff. My supervisor and I tried to write a Tradewars game in Visual BASIC. Later on we got the Windows version and it was fun writing Windows applications with it. I got a job later on because I knew Visual BASIC and MS-Access 1.0 had just come out with Access BASIC that was like Visual BASIC and in 15 minutes I made a database in MS-Access to keep track of a record collection to get the job. Visual BASIC really peaked at 6.0 after that Visual C# killed it, Visual BASIC.Net isn't as good as the Classic Visual BASIC. I still work on VB 6.0 projects from time to time. I owned all Visual BASIC versions from 1.0 to 6.0 and I have the 2002 and 2003 etc versions on DVD that I barely used. I find Python and Ruby to be replacements for Visual BASIC.
- DodgyEggplant 12y agoVB was about getting stuff done. Ugly, awkward, convoluted, nowhere near a real programming language. But, the things you could build. Fast. In no time, you had something that worked, installed anywhere, no approvals, no app-stores, no complicated deployments. Microsoft miserably failed to scale it to the web, and with some efforts - to mobile. They just drove developers away, and till today we do not have a similar tool for the semi-developers, the hobbyists, the lawyer who wants to make some app for his office.
- j_s 12y agoI copied the following comment onto a post-it: "stop trying to be clever and start trying to be done" https://news.ycombinator.com/item?id=7602816 https://news.ycombinator.com/item?id=7602816 (6 months ago on Boring Systems Build Badass Businesses)
- mschuster91 12y ago> Microsoft miserably failed to scale it to the web They did, in form of the abomination called ActiveX. Back in the heydays, it was the Java and Flash in terms of exploits and 0wnage. Obviously the worst thing was that ActiveX applets allowed raw access to the win32 API (or any other external DLL which could be used with the FFI of VB). No one signed their applets and everyone clicked "accept and run"... and on DOS-based OSs like win95/98/98SE/ME or XP (which set up the primary account as admin) this basically meant local r00t on the web.
- yuhong 12y agoI think many did sign their applets.
- jfroma 12y agoFor all the vb.net detractors, I'd suggest you this blog post "in defense of vb.net" http://bugsquash.blogspot.com.ar/2013/02/in-defense-of-vbnet.html?m=1 http://bugsquash.blogspot.com.ar/2013/02/in-defense-of-vbnet...
- noblethrasher 12y agoEven though I'm a C#/F# programmer, I'll offer a better defense of VB.Net: * Method resolution (I actually prefer C#'s but I can see the advantages of VB) * XML Literals * Many more query comprehension operators than C# * Don't have to put `Select` at the end of a query comprehension expression * Filtered Exceptions (coming in C# 6) * Ability to call module functions without fully qualifying the name * The `WithEvents` and `Handles` keywords
- vram22 12y agoSurprised to see no comments about Delphi in this thread, as it's quite related to VB in terms of power, applicability, platform, etc.
- thro1237 12y agoIs there something that replicates the VB experience for the web? Something really easy for a new developer to pick up and build a form based business application without worrying about HTML/CSS/Javascript, etc?
- Immortalin 12y agoAsp.net web forms, my favourite web framework. It's bundled with visual studio.
- thro1237 12y agoThanks. Is it free or requires a paid license?
- Immortalin 12y agoThere is a free version
- thewarrior 12y agoIs there something like Visual Basic for the web ?