33 ms·
Microsoft plots the end of Visual Basic
- ackbar03 7y agoentire bank trading teams basically run on visual basic excel macros, could be a pain in the ass at some point
- azhenley 7y agoI started programming in VB6 so this is a little sad, but I'm actually surprised it has made it this far. I see C# everywhere but can't remember the last time someone told me they were using VB.
- smacktoward 7y agoThe end of Visual Basic.NET, that is. "Classic" Visual Basic has been ended for a long time now. (And VB.NET is much less of a loss -- it was never as popular as classic VB. Even when it first came out, it was clear that if you were a VB developer, Microsoft really wanted you to move to C#; VB.NET always felt like an afterthought, a fig leaf they could use to say they really weren't abandoning VB when they obviously were.)
- th0ma5 7y agoI totally agree and felt that such that after I went through the pain of learning VB.NET, I felt rather silly when I took a look at C# and realized I had learned like 99% of the whole thing is just the .NET ecosystem, so picking up C# was pretty quick.
- cm2187 7y agoDid the same thing, but in my mind, 50% of knowing a language is muscle memory, you type without even thinking about it because there is zero doubt or ambiguity about the syntax, even anticipating the reaction of the IDE as you type. That’s why when I switched from vb.net to c# (when microsoft announced they were deinvesting in it 2-3y ago), I stopped writing vb completely. It is hard to fit two languages in muscle memory (unless the syntax is pretty close).
- analog31 7y agoFor me, the switch to dot-net meant that continuing to upgrade past VB5/6 no longer held any particular advantage over switching to some other language altogether, not to mention possibly some other operating system as well. I ended up in the Python camp, where I reside today. Edit: I should also mention that VB5/6 got me away from HyperCard. I loved the idea of being able to draw my GUI, and not having to screw around with writing my own event loop. With VB, I liked that it was "object based," by which I mean that you could use objects provided by the tool without having to create them. This was a great way for me to ease my way into OOP. By the time I wrote my first object, I already understood what objects were useful for.
- dmitriid 7y ago> "Classic" Visual Basic has been ended for a long time now. It kinda still lives on in classic ASP. It will be supported indefinitely so far [1] [1] https://support.microsoft.com/en-us/help/2669020/active-server-pages-asp-support-in-windows https://support.microsoft.com/en-us/help/2669020/active-serv...
- DaiPlusPlus 7y agoIIS ASP and the Shell CScript/WScript hosts are just environments for the COM-based Active Scripting engine. At the time it was very capable as lots of software titles opened themselves up to automation via COM - that's why you could have Classic ASP pages that invoked Office Excel to generate charts dynamically. Unfortunately it was all a mess, but it was also something beautiful because it meant that a desktop/server OS was more than just a place where heterogenous applications could live: they could truly interact with each other regardless of their programming language or runtime platform. That grand vision - itself an extension of OLE from the early 1990s - died down with the rise of .NET (this wasn't intentional - Microsoft just had a lot of reorgs around that time and COM was more-or-less feature-complete, and no-one was really using DCOM) - but with Windows 8 and the "WinRT" API I was hopeful that COM would be back and new ways of automating applications would come around, and that Microsoft would have a great system for non-programmer users wanting to build workflows like they can with Apple's macOS Automator and AppleScript. This also ties-in with the do-as-little-work-as-necessary being done for VBA support in Microsoft's products. While we all wish Microsoft would allow modern JavaScript as a first-class COM automation language - the Office VBA runtime only supports its own VB6-dialect (the VBA language), and while Active Scripting supports JScript (a snapshot of JavaScript version 3 from 1999-2001) it doesn't support static typing nor is any of the tooling inside Office compatible at all. - so instead we have JavaScript, but only for "Office Apps" which don't offer anywhere near the same kind of integration or control over Office applications (or things like filesystem access) that VBA does. It's like it's 2008 again and everyone's excited about the new iPhone OS App Store and thinking about all the cool iPhone OS system extensions they'd add, like a Today screen or a camera app that can record video by using low-level camera hardware APIs - only to be discover Apple will only let-in apps using nerfed and siloed high-level APIs that take away all of the fun from extending an OS.
- deleted 7y ago[deleted]
- spsrich2 7y agoloads of people still claim to write new apps in VB6! and good luck to them !
- toyg 7y agoExactly. The writing was on the wall all the way back in 2001. It’s basically been a 20-year-long transition, and one has to admire Microsoft’s dedication to their developer userbase in that area.
- mysterydip 7y agoDefinitely. I was a huge fan of VB6, spent thousands of hours writing all kinds of things. When I first heard of VB.NET, I was excited to see what new features were implemented, expecting something like VB4->VB5->VB6. Boy was I in for a surprise. It seemed more like C wrapped in VB syntax. I started looking to other languages at that point, but as some other posters said I never found anything quite able to match the rapid prototyping GUI and debugging features of the VB6 IDE.
- hermitdev 7y agoI never did VB6 or VB.Net, but I've done VBscript with classic ASP and VBA in Excel. Glad I went with C# instead of VB.Net. Not trashing VB, but C# was always more capable and fully featured than VB (VB couldnt even do unsigned integers, and I dont it can even now), and almost immediately more widely adopted in even .Net 1.0. Hell, C++ with COM was more capable (if not extremely annoying amd error prone). Of course VBscript and VBA share very similar syntaxes, but they're not the same languages or std object models/libraries, just maybe 95% similar.
- tastroder 7y agoThing is, it was never about language capability. VB6 with COM was still faster in terms of development cycles for people used to the woes back then. Though I'd argue that the few differences there were between VBScript/VBA and VB6 made it much more capable from a development perspective back then... Most of my VB6 bubble moved to VB.Net during the transition, the widespread move to C# with those folks came years later when it became somewhat inevitable. After all, for the typical type of application, language is honestly mostly irrelevant as long as it does not get in your way. All this feels a little like history repeating itself. We even naively made up a petition back then to keep VB6 around, somewhat glad that led nowhere in retrospect. A few decades ago I loved that the VB ecosystem was approachable and combined beginners and professional users. I somewhat think we have enough other good tools that fit this description these days, some of which incidentally even come with a good programming language.
- dirtydroog 7y agoJava still doesn't do unsigned
- rkagerer 7y agoI loved VB6. Of all the languages and IDE's I've ever used, I've never been more efficient in any other one. As long as MS doesn't break my workarounds to run that old IDE or its EXE's, I'm happy. VB.NET was a great stepping stone, but after switching to C# I never looked back. The only thing I miss is global functions that don't need a class qualifier in front of them. And I still find the Edit-and-Continue debugging experience in C# hit-or-miss.
- kjaftaedi 7y agoI used to think this too, but everything you can do in VB6 you can do in powershell, and do it better. Try/Catch, windows forms.. literally anything you can think of. You can even mix powershell and C# together in the same script. Once I realized I had a better version of everything I wanted, it became my new favorite.
- lostmsu 7y ago> You can even mix powershell and C# together in the same script. What feature are you referring to?
- deleted 7y ago[deleted]
- snypox 7y agoYou can load a .NET dll in a Powershell script and invoke it. https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/add-type?view=powershell-7 https://docs.microsoft.com/en-us/powershell/module/microsoft...
- lostmsu 7y agoOh, that's not exactly have C# in the same script.
- orthoxerox 7y agoDepends on whether this is allowed by your GPO or not.
- daxfohl 7y agoInterestingly I was in a meeting with Brendan Burns (of k8s fame) last year where he was extolling the virtues of VB. Not that it was the greatest language or anything, but that it brought programming to the masses, the ability for shirt and tie managers to do little things that increased their productivity.
- mplewis 7y agoThe adblocker doorslammed me. Here's the text of the article. Microsoft said this week that it will support Visual Basic on .NET 5.0 but will no longer add new features or evolve the language. “Starting with .NET 5, Visual Basic will support Class Library, Console, Windows Forms, WPF, Worker Service, [and] ASP.NET Core Web API … to provide a good path forward for the existing VB customer who want [sic] to migrate their applications to .NET Core,” the .NET team wrote in a post to the Microsoft DevBlogs. “Going forward, we do not plan to evolve Visual Basic as a language … The future of Visual Basic … will focus on stability, the application types listed above, and compatibility between the .NET Core and .NET Framework versions of Visual Basic.” When Microsoft released the .NET version of Visual Basic, originally called Visual Basic .NET, alongside C# at the beginning of the .NET era, the two languages were evolved together and had roughly identical feature sets. But this changed over time, with professional developers adopting C# and many fans of classic VB simply giving up on the more complex but powerful .NET versions of the environment. Today, virtually all of Microsoft’s relevant developer documentation is in C# only, with VB source code examples ever harder to find. Worse, Microsoft in 2017 announced that its original C#/VB co-development strategy was over. Only C# would get all of the new features, while VB would focus on the simpler and more approachable scenarios that it once dominated. But that never really happened, and Microsoft effectively abandoned VB. This week’s announcement just makes it official. What this means to VB developers is that they might be able to bring their existing codebases forward to .NET Core or, soon, to .NET 5.0, which will replace both the traditional .NET and the open-source and cross-platform .NET Core when it’s released in late 2020. The issue is that not all legacy technologies will be supported going forward, so developers using WebForms, Workflow, or Windows Communication Foundation (WCF) will need to stick with classic .NET. Those applications will continue to work and be supported until the underlying Windows versions are retired; classic .NET support life cycles are tied to the Windows versions on which they were initially deployed. Microsoft also notes that VB developers will occasionally benefit from improvements to Visual Studio. “Visual Studio regularly adds new features to improve the experience for developers, including those using Visual Basic and either .NET Core or .NET Framework,” the .NET team adds. “An example is the recent addition of IntelliCode for Visual Basic.” This is a sad day, and one that hits me personally. I started my writing career with Visual Basic 3, went on to write several books about VB and its various variants, and most recently wrote an entire Notepad clone called .NETpad in Visual Basic, Windows Forms, and the .NET Framework.
- zubairq 7y agoI loved Visual Basic too. So much in fact that I am trying to build a modern web based take on Visual Basic using nodejs and JavaScript at yazz.com
- jkingsbery 7y agoI first learned how to program in VB4. I can see why as a professional programmer it lost favor, but it was a great learning language.
- eddieh 7y agoI learned how to program in VB4 too. My parents had no idea why I wanted it or what it was for. I used to take the textbook sized manuals with me to read/study while camping and fishing.
- frequentnapper 7y agoI first learned it by myself in VB5. I didn't even understand functions, but writing those MessageBoxes with buttons and then having them create even more message boxes was so great! I remember a high school friend bringing me 5 diskettes with VB4 installer because I didn't have it on my home computer. Then next year I enrolled in AP Comp Sci - hardcore turbo c++. Just blew my mind!
- applecrazy 7y ago> Then next year I enrolled in AP Comp Sci - hardcore turbo c++. Funny enough, AP Comp Sci went the other direction in the early 2000s, switching from C++ to Java precisely because it was too hardcore for the average high school student.
- notduncansmith 7y agoMy high school in ~2010 had the progression C -> C++ -> Java. I remember the C++ that we were taught being easy enough to learn after a semester of C, and graduated before I could take Java.
- frequentnapper 7y agohaha. I was so excited to learn about C-style strings in AP comp sci 2 I think. And bitshifting, and crazy recursions, queueing, etc. Good old days... I was so arrogant after that too. C is the best and everything else is garbage because it's "slow".
- Hokusai 7y agoI evaluated Visual Basic as an alternative to Borland C++ to develop Windows programs. It was just not there. Borland C++ allowed easy GUI design and was easy integrated with Windows APIs for any low-level needs. Several years later the jump in quality was astonishing. Good ODBC drivers and easy linking between database rows and your UI make it a fast development tool that fit many needs. I do not miss the big colored buttons that many developers used at the time. Never as bad as Access applications used to be, thou.
- papito 7y agoI took a VB course in college and was immediately hooked. Then I immediately switched to Borland. There is something about being able to compile a runtime-free, native binary.
- Koshkin 7y agoYeah, for many programmers writing code in an unmanaged language would be like a breath of fresh air these days.
- Vaslo 7y agoWonder what is going to happen to Visual Basic for Applications? I hope it pushes Microsoft to move toward a new language like Python to automate Excel.
- UnoriginalGuy 7y agoThe two are completely district languages. Kind of like comparing Java with JavaScript. I'm sure in general Microsoft would love to scrap VB in Excel but there's too many companies that run entire areas of business on it, or the whole business itself. It is the typical legacy/back compat problem. Python or even Powershell would be a vast improvement, but you're going against billions in sunk cost/skills/knowledge. VB.Net was slowly losing popularity, VB in Excel isn't.
- Exmoor 7y agoWould it be impossible for Excel to allow coding in multiple languages? I totally get that there's a huge (disturbing) amount of business critical stuff using the current scripts, but they really should move on to something more modern.
- toyg 7y agoMultiple-language runtimes typically don’t get popular - people just end up choosing one language and standardizing on it. See for example Windtows Scripting Host: you could always use Javascript with it, but almost nobody ever did in practice. After a while, typically the vendor sees other languages as a drag on development, and they get dropped in favour of the main one. Retrofitting a multiple-language runtime under VBA would likely be a big endeavour, and in the end most people would probably stick to the established language anyway.
- applecrazy 7y agoThat’s a thing now, but for add-ins: https://docs.microsoft.com/en-us/office/dev/add-ins/reference/overview/excel-add-ins-reference-overview https://docs.microsoft.com/en-us/office/dev/add-ins/referenc...
- vibrolax 7y agoI had 7 years of C# experience in 2015 when I had to make an unanticipated job change. With some trepidation, I took a position with another company in the same industry whose codebase was all vb.net. I used Telerik's code converter a lot to bootstrap my proficiency with vb syntax. The boss said I could just write in C# if I wanted to, but I saw no need to make more mental work for the rest of the team.
- hu3 7y ago> The boss said I could just write in C# if I wanted to, but I saw no need to make more mental work for the rest of the team. You're a real team player. That's both rare and invaluable on current days of resume-driven-development.
- formercoder 7y agoThis is gonna be like Python 3. There is an innumerable amount of “production” VB.
- jeremyjh 7y agoIs there really a lot of production VB.NET? I wouldn't be at all surprised to learn there is more production VB 6 code and development on that stopped two decades ago.
- uk_programmer 7y agoYes. Huge amounts of it. It is less relevant as time goes on but almost every .NET job will require you using some VB.NET.
- pjmlp 7y agoYes, it is the to go programming language in life sciences corporations when Office users outgrow their VBA skills and get to have IT install VS on their computers. I know a couple of places like this, no R, no Python, VB all the way.
- papito 7y agoKilling this stuff is not easy, but it has to start at some point. Now let's do Javascript.
- BuckRogers 7y agoPython didn't have the developer will to embrace interop between Python 2 and 3 transparently in bytecode, so you had a hard switch over. CIL doesn't have that problem, you can keep writing in VB.Net without being forced off a supported compiler. I was in a fork in the road and had the choice between Python or .Net to move forward with my career a few years back, there were a few factors on why I went .Net. Being one of very few pleasing to use and (extremely) widespread languages with static typing, along with MS's early embrace of WebAssembly were both major influences. Yet the biggest was the Python core devs refusal to address Python2/3 in a better way. There's no good reason why you couldn't use the same Python 3 interpreter for Python 2 code. I get the maintenance argument, but this raises questions about the future, and it makes their platform look rinky dink today. I came to the conclusion I'd never build anything important on it, which is essentially everything you write, as projects tend to grow.
- yarone 7y agoAhh, I've got fond memories of VB3 thru VB6...
- devit 7y agoVB.net is already equivalent to a subset of C#, and it can mostly be automatically translated.
- ripley12 7y agoMy first real job was on a .NET stack that was 1/2 VB.NET and 1/2 C# for legacy reasons. It was weird at first, but I mostly stopped noticing after a few months - the two were completely interoperable and they both compile down to the same .NET IL. In practice, coding in VB.NET was 99% the same as coding in C#, just with a slightly more verbose syntax. Not my favourite language, but much better than its dismal reputation would imply. I sometimes miss VB.NET's XML Literals/Embedded Expressions feature. Back when virtually everything spoke XML, it was very nice to have first-class support for XML as a language feature. https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/xml/embedded-expressions-in-xml https://docs.microsoft.com/en-us/dotnet/visual-basic/program...
- hermitdev 7y agoNot completely interoperable. At least initially (and as far as I'm aware ever). VB.Net never could understand the unsigned integral & char types. If you used unsigned types in C#, those members wouldn't be BCL compatible and at sufficient warning level, you had to annotate members with [BCLCompliant(false)] if my memory serves correctly. There were other language constructs at the time that werent 1:1 parity at v1.0, but in nearly 20 years time, I forget.
- cm2187 7y agoWell another one is case insensitivity. If you have a property and a function in C# which name only differs by casing, will be a problem to consume in VB. Not that it is good design in the first place.
- tomaszs 7y agoVisual Basic was one of first languages i have learned. A lots of its spirit was moved into C#. Maybe its good, but on the other hand we loose a good one leaving more Space for JS and the creature called TS.
- marcus_holmes 7y agoI loved VB. I don't think I've ever been as productive as I was in VB - I could literally knock together a complete desktop application in an afternoon. It wasn't perfect. There were lots of problems with it. It would never win prizes in CS competitions. But man you could build shit with it fast.
- donatj 7y ago100% this to a tee! In the mid to late aughts I knocked out soo many junky little desktop apps that scratched very specific business itches we had at work. A couple hours work in VB saved non-technical people hundreds if not thousands of hours of repeated effort. Killing it is a mistake in my opinion, Even if I haven't touched Windows since 2010, VB.Net is the one wonderful thing it had going for it.
- dole 7y ago“VB6 makes 95% of programming simple and the other 5% impossible.”
- hu3 7y agoMore like "95% simple and 5% possible". VB6 can call win APIs and C++ code for when some arcane functionality is needed.
- throwaway5752 7y agoTake https://docs.microsoft.com/en-us/windows/win32/api/oaidl/ns-oaidl-variant?redirectedfrom=MSDN https://docs.microsoft.com/en-us/windows/win32/api/oaidl/ns-... and https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-readeventloga https://docs.microsoft.com/en-us/windows/win32/api/winbase/n... and try to sensibly read a bunch of _EVENTLOGRECORD's of varying lengths. "possible" is technically true but charitable.
- int_19h 7y agoYou don't need any of that. VB6 had C FFI (Lib/Alias), structs, and function pointers (AddressOf). So you could just implement a function in straight C, compile it into a DLL, and invoke it from VB.
- deleted 7y ago[deleted]
- davchana 7y agoIn about 1998 I got introduced to programming beyond CMD prompt through VB. My first form was just an input box, a button, when clicked, alerted the box contents onto a dialogue box. My mind was blown when I found that using & in label makes the Alt+ keyboard shortcut.
- anonymfus 7y agoThat is so sad. "There’s something deeply right about how list indexing and function application are the same operation". That is a quote from a recent submission about K (https://news.ycombinator.com/item?id=22504106 https://news.ycombinator.com/item?id=22504106), and that is a perfect example of how I usually get VB nostalgia attacks: somebody talks about a thing in other language they consider amazing implying that that thing is unique for that language despite it was implemented in VB and earlier. Sometimes that somebody can ever be Microsoft as they brag about adding more features into C#'s switch statement with increasingly ugly syntax in every new version completely ignoring that they did them better in VB.
- yyhhsj0521 7y agoI'm pretty sure that there are a few languages where array indexing is basically calling a function that returns a reference to the cell you're accessing.
- DaiPlusPlus 7y agoSince C# 1.0, any type can have an indexer property defined that can accept any parameter types and can can return anything - though it wasn't until C# 7.0 that we could return a first-class reference to a value, including array members (`public ref int this[int idx] => ref this.someArray[idx]`).
- sk5t 7y agoPerhaps not exactly what you mean, but Scala eschews [] for array access, and arr(0) returns the same as arr.apply(0).
- int_19h 7y agoParentheses for array indexing dates all the way back to the original Dartmouth BASIC, and from there to the very first FORTRAN. It's one of the oldest pieces of PL syntax still around in its original meaning.
- kragen 7y agoVB uses the same syntax for array indexing and subroutine invocation, but they aren't the same operation; you can't define a parameter that is either an array or a subroutine. So the extra expressive power that this unification provides in K is absent in VB.
- zchrykng 7y agoAs long as they give me something to use in the place of VBA, I can't wait for all forms of Basic to die. It hurts to use it, but I have to because there isn't anything else in Excel.
- changoplatanero 7y agoIs it a coincidence that this happens the same day Gates leaves the board???
- csense 7y agoPrevious submission at https://news.ycombinator.com/item?id=22559045 https://news.ycombinator.com/item?id=22559045 I thought HN was supposed to collapse duplicate submissions to a single topic? URL appears to be identical. Is there some kind of cache issue in HN's backend?
- wolfgang42 7y agoCaching issue is unlikely, given that HN runs as a single thread on a one server, writing to a flat-file backend. As far as I'm aware the main cache involved is the OS's page cache. To your main point, the dupe detector seems to be fairly limited; I think it only checks for the same URL in the past 12 hours or 100 posts or something. It seems to be just to keep the same post from showing up multiple times in /new.
- Jaruzel 7y agoThis isn't true. I tried to submit something yesterday but got auto-redirected to a previous submission of the same url, from seven months ago.
- gus_massa 7y agoWhen the resubmission is very soon, they are collapsed. After some time, the new submission lives. The exact time is not officially available, and the mods may tweak it from time to time without warning.
- iso1631 7y agoVB3 was my first real language. I'd attempted stuff before on spectrum and BBC BASIC and later QBASIC, but VB3 not only allowed easy development of a GUI application, it allowed you to distribute an EXE -- a real grownup program, not a ".bas" file. I wrote my first commercial program in VB3 or VB4, to look after book orders, had an access database behind it, and all sorts of oddness to do printing if I recall rightly. Used VB4 as well, and I guess I used VB5 as well. I moved on, to the web, to things like TCL/TK, Java, and Perl. Some things never change, I have a full screen vim window with a brand new perl script on my right-hand monitor as I type this. Despite having dumped windows 20 years ago, I've still got a place in my heart for visual basic.
- dceddia 7y agoI'll always fondly remember Visual Basic as the language that let me make real Windows applications with the language I already knew and understood. I was just a kid, maybe 10 or 12, when I learned to program with QBASIC and later VB5. I remember strongly feeling that a ".bas" file wasn't a real program. I so much wanted to be able to run my programs as real .EXE files. There was some kind of QBASIC compiler that made an .EXE but I felt like that was just... still not real enough. That desire for making a real bonafide .EXE was one of the driving reasons I (tried to) learn C.
- scarface74 7y agoI never understood the purpose of VB.Net. My second job out of college was a mixture of VB6 and C++ where we would use C++/ATL (COM) to mix and match languages. Of course the VB6 IDE was miles better than the C++ IDE. But, Windows Forms with C# was just as easy as VB6 and VB.Net was just as complicated and more verbose than C#.
- badsectoracula 7y ago> I never understood the purpose of VB.Net. Microsoft politics after hiring Anders Hejlsberg who designed C# as a competitor to Java so Java's compile-once-run-anywhere wont take a foothold on the desktop market and thus endanger the dominance of Windows, required that everything related to developing software for Windows was focused on C# and .NET to drive home to ISVs that this is the future, but up until that point VB6 was wildly popular - and absolutely incompatible with anything related to C# or .NET. So they reskinned C# with some VB clothes and paraded it in front of VB6 developers, hoping they wont notice the sharp bits sticking out - which worked as well as you'd expect. But with Microsoft having full and absolute control over VB6, it isn't like anyone could do anything about it, so over time people moved on. VB.NET never managed a hint of VB6's popularity and was always in the shadow of C#, which made perfect sense since outside of liking QBasic-like syntax more than C-like syntax, there wasn't any reason to use VB.NET.
- pfarrell 7y agoVB was a great and successful language. It empowered a lot of departments to create bespoke programs that, while not having been built on solid comp sci principles, were good enough and solved real business problems without having to involve the IT department. That’s a strength and a weakness.
- bluedino 7y agoVB is one of those things that let the determined create useful things. Not unlike Microsoft Access. Instead of actually learning principles and practices, and a 'good' language, they could just hack something together than managed to just barely work, armed with a $99 copy of Visual Basic and a 'Teach Yourself VB in 21 Days' books from SAMS publishing. And by the time they knew any better, they were up to their ears in shit. Chances are, if you have a big project in VB, you also have the following problems: * You're not using version control. Or worse, you're running Sourcesafe. * You're not using secure encryption or communication * You're not using secure programming practices * You're not using a modern, secure OS * You're also using some 16 or 32-bit utility libraries that nobody has the code to * You're employing developers who have 20 years of "1 year experience with VB"
- appleiigs 7y agoOn the other hand: * No need to write a business case with fake ROI figures. No IT committee meeting. No need to teach a “solutions architect” who doesn’t really care to learn. * Easier to evolve as requirements change because the front line person is fixing it. * Proof of concept done already when you need IT involved for version control, security, etc.
- polotics 7y agoDo you have any hard evidence of an actual causation between VB and the symptoms you describe? I think any non-bleeding-edge mid and later hype-cycle technology will have its monsters. I get the feeling VB is past all that, and what's leftovers can't be sooo disfunctional.
- rblion 7y agoIn 2001, I was 11 and started my programming career with Visual Basic 6. John Smiley book! I was obsessed with theme parks and roller coasters at that age, so I made a 'theme park' application that let you look at maps, rides, and buy tickets. Just having the basic logic of OOP down at 11 was a game changer, I started to look at the world in a new way. I felt like I could solve any problem if I could map it out on paper first.
- innocentoldguy 7y agoI think VB6 served a useful purpose. I used it for internal utilities all the time when I worked for Microsoft. I haven't used any of these tools in probably 20 years but in addition to VB6, I also liked Delphi and C++ Builder quite a lot back in the day. Delphi was probably my favorite of the bunch. Embarcadero still sells both Delphi and C++ Builder but their pricing is far too expensive, I think. Anyway, thank you, VB, and thanks for all the fish.
- kerng 7y agoStill hoping Microsoft will open source VB 6. It indeed was a language for the masses back then. There would have been no need for Python syntax or Golang with Visual Basic's simplicity
- MichaelMoser123 7y ago> There would have been no need for Python syntax or Golang with Visual Basic's simplicity in a windows only world.
- kerng 7y agoNot if they would have made it open source 2001 - or anytime later for that matter.
- MichaelMoser123 7y agoEven with such a decision it would have been quite a lot of work to make VB relevant to the non windows way of doing things (i mean anything that is not done as event handlers to UI widgets of some sort)
- int_19h 7y agoThe semantics of VB6 are basically that of OLE Automation (or vice versa - it can be hard to tell sometimes). That doesn't make it impossible to port to other platforms, but it would require extra effort. And the result wouldn't have all the benefits VB had on Windows, where COM was pretty much OS-level native at the time.
- zozbot234 7y agoVisual Basic and Python are not that simple. Simplistic maybe. Go is a lot closer to the mark, though. It might be the closest thing we have today to classic QuickBasic (the "Visual" part being pretty GUI-dependent, all things considered). Haskell is also getting there - the baseline syntax is extremely simple.
- dfrunza 7y agoIt's the year 2039. Microsoft anounced that "Going forward, we do not plan to evolve .NET Core as a platform ... The future ... is to provide a good path forward for the existing .NET customers who want to migrate their applications to the .CRAP NuFart framework."
- Quarrelsome 7y agoMany fond memories here, can't say I share them. Throughout my career, vb code or programmers/architects from a vb background have been the bane of my existence. The kind of language that supports the construct: > on error resume next (i.e. if any errors happen, just run the next line regardless), needs to die. I appreciate this is harsh but IMO, good riddence.
- sytelus 7y agoIt's coincidental to have this announcement come on the same day Bill Gates announced he is resigning from the Microsoft board (I'm sure completely unrelated). Microsoft was founded on the idea of writing Basic interpreter by Gates so a legacy of 45 years from both has ended today.
- cm2187 7y agoMicrosoft pretty much annonced the would treat VB.net as legacy 2/3 years ago. This is just Thurott realising it now.
- int_19h 7y agoGates was still a huge fan of BASIC in 1990s, and I think VB would probably not be what it became at its peak without him constantly pushing it to the front of Windows dev stack.
- dwheeler 7y agoTo me, this shows the huge risk of building on a language/platform that depends on a single company. This even happened earlier. Visual Basic .NET is grossly incompatible with Visual Basic 6, so much so that Visual Basic .NET is essentially a different language and was derisively called Visual Fred http://catb.org/~esr/jargon/html/V/Visual-Fred.html http://catb.org/~esr/jargon/html/V/Visual-Fred.html ... Of course, it was possible to rewrite software so that would work with Visual Basic .NET, but that completely misses the point. Most people in The Real World have better things to do than rewrite working software just to keep it working. Most of us want to solve new problems, not re-solve the same problem again. Those who chose to use Visual Basic for non-trivial software got the shaft twice, including the transition from vb6. But don't worry, I suspect in a few years many people will forget about the risks of tying yourself to a single company and will get the shaft again. History so often repeats itself because people don't learn from history. I wonder how many people will actually learn from this. Maybe the community of software Ddvelopers will learn from this. But I fear it will just happen again. If someone could prove me wrong that would be great. :-)
- jeswin 7y agoAs an ex-VB6 programmer, my view is that Microsoft has been fairly supportive of VB users. - The IDE itself was supported for 10 years, till 2008 - The runtime is supported till 2024, which is like 26 years. I think you can get it to work on Windows 10 as well, though I haven't tried it myself. I still see people using VB apps. My view is that VB.Net should never have been created, since it was closer to C# than it was to VB. Neither should it have been adopted by VB programmers (if they did a fair analysis), but Microsoft messaging around that time may have suggested it's a workable path forward.
- roenxi 7y agoThe typical working career is 40 years. If 10-26 years is considered an acceptable lifetime for a language all your experience in the languages you use will be forcibly reset fairly early in your career. It isn't going to be major in itself, but becoming known for being a specialist in a corporate sponsored language is a pretty catastrophic career error. Anyone who learned C on the other hand looks pretty clever.
- makz 7y agoDelphi > VB
- docandrew 7y agoVB the _language_ obviously has its limitations and frustrations, but VB the _tool_ will be missed. It seems like every alternative mentioned here adds a lot of additional friction for writing simple, one-off utilities. I don't always want to dink around with the Visual Studio installer to make sure the right version of the MSVC or .NET libraries are installed, or fiddle with code to get a GUI layout to look nice, etc. Having the IDE, compiler and GUI designer in one big coherent monolith had its advantages.
- wazanator 7y agoThat's kinda what a C# .NET winforms project is. The WYSIWYG editor is pretty easy and the basics are pretty well documented for all the premade widgets that I feel like anyone who just needs to make a one off util program won't have much trouble.
- lerie1982 7y agomake it open source.
- squarefoot 7y agoIt already is, ...sorta. http://gambas.sourceforge.net/en/main.html http://gambas.sourceforge.net/en/main.html Not a clone and definitely not 100% compatible, though. http://gambaswiki.org/wiki/doc/diffvb http://gambaswiki.org/wiki/doc/diffvb
- orionblastar 7y agoIt is a shame that Microsoft never open-sourced cLassic Visual BASIC. Let the fans support it with donations. I made a lot of money by programming in Classic Visual BASIC. VB.Net is not the same thing, it has C# features added to it. Now I move to Python from Classic Visual BASIC.
- exabrial 7y agoGiven a silverlight impl just got hn three days ago... We live in incredible times
- barnyfried 7y agoA self serving, pseudo native OS fake stack that existed only to gild the lily of a horrible C API while it lasted. Still a learning tool for many. However, it was for microsoft a complete dead end technology that should have been killed in the 90's where it lay.
- signaru 7y agoVB classic was my first programming language since it was so easy to spit out GUI programs that looked like any other program you use. I'm afraid current popular languages like python and javascript do not offer that "instant gratification" and is scaring beginners. With only terminal or webpage output, they might get the feeling that what they're coding is far from what "pros" use to write desktop software that is all around them. Csharp is great, I use it everyday, but is not a real successor. First, it is a massive install which can be an issue with others just starting out. The few things I dislike with Csharp are that executables are dependent on the dot net (or mono) framework and are not native, i.e. far easier to reverse engineer. Lazarus/Delphi might be the next best things to a classic VB experience. There are efforts to make something similar for Freebasic what Lazarus is for Free Pascal. But they are nowhere close, and the next best alternatives are not free. I have no right to complain, and I fully understand, but I could be happier if Gambas had native Windows support.
- peter_retief 7y agoI started with Visual Basic 3 which I loved. Other programming I was doing at the time was with PIC micros. Never really got into VB6, got into Linux and used PHP, Ruby, Java, C/C++ and Python. Drifted in and out of electronics, chemistry and software. What a time to be alive.
- pwdisswordfish2 7y agoOh no, how are we going to track IP addresses now?
- jitendrac 7y agoI hope they do same for Ms Office, Add parallel support for javascript/python in office products and gradually deprecate vb.
- aspaviento 7y agoIsn't 365 doing that already? Add-ins for that version must be implemented in JavaScript.
- willtim 7y agoPython seems to be the new "beginners" programming language (the "B" in Basic), it's taught in schools now and makes Basic look rather archaic in comparison. So I would say the writing is on the wall. What was good about Visual Basic was the IDE and GUI builder. Sadly this has no real modern competitor in terms of ease of use.
- orionblastar 7y agoThere is Jabaco which is a VB6 Java-based language. It hasn't been updated in a long while. http://www.jabaco.org/ http://www.jabaco.org/ I wonder if anyone wants to help them update it to make it better?
- spacechild1 7y agoIt was so easy to create GUI apps and small games in VB. It definitely got me into programming!
- LifeLiverTransp 7y agoI find that strategically unsound.. shouldnt you want to have a educational language ladder - from excel "programming" onwards toward some "real" powerful language like c#.. A ecosystem, that tries to upgrade people into softwaredevs, instead of having them thrive in there local pond, until they reach the limits of performance and then depend on large external software projects for the rescue? Can you integrate c# into excell now as replacement..
- leommoore 7y agoI got started with VB1 and did my first commercial product in VB3. I wrote many applications in VB6 over the years and I was maintaining one application continually from 2000 to 2019. It worked great, with excellent debugging but was getting a bit long in the tooth over the last few years and the big fear not so much VB itself but the continued compatibility of third party components. Like most developers I migrated to the curly braces languages (C# -> JavaScript -> TypeScript) but my first love will always be VB.
- carlsborg 7y agoOn Error Resume Next
- pcdoodle 7y agoI used this all the time and I'm still alive.
- okonomiyaki3000 7y agoNothing nostalgic about this for me. Good. Riddance.
- jimnotgym 7y agoI wonder what the cost of creating a vb6/ Delphi style environment with Python as the language would be. This could be a very popular project if someone could get it off the ground. Something like a vscode plugin? I have no idea how that would work, but I would put real money into a kickstarter for someone who did know. I hate GUI programming in Python. Even simple 'click here' to run involves more concepts than my kids want to know yet
- strategarius 7y agoScratch is probably the most logical choice for teaching programming to kids (at least in an age when it's still hard for them to concentrate on multiple concepts before seing some results) https://scratch.mit.edu/ https://scratch.mit.edu/
- majkinetor 7y agoIt was a god damn time.
- dwarfland 7y agoWe'll soon have something for people who like Visual Basic and want to keep using it (for more platforms that just .NET, too): http://elementscompiler.com/elements/mercury/ http://elementscompiler.com/elements/mercury/
- gwbas1c 7y agoI started my career on a project that was 90% C# and 10% VB.Net. Most of the work in VB.Net was junk code that I had to refactor; ultimately, it didn't make any sense to use VB.net for that code. I could never really understand why there was VB.Net. It had some language features that C# didn't have, but they were features I'd never use in an industrial strength program.
- protomyth 7y agoMicrosoft started with BASIC, so this is pretty sad news. I made cash with VB and really liked the whole "buy some VBX/OCX components, hook the together, and ship app" economy. I cannot help but think that this is bad for other reasons.
- coretx 7y agoDoes this include VBA, virtual basic for applications? If so, what would Microsoft's preferred alternative be ?
- bullen 7y agoOT: Does anyone know the legal implications of redistributing the cl.exe compiler? Visual Studio is so clunky, but the compiler actually works well!
- erel 7y agoThe spirit of VB continues to live and prosper in B4X. B4X is a cross platform, native, RAD tool for mobile and desktop apps. There is a large community of B4X developers and many of them were previously VB developers. Most of the tools, including B4A - native Android apps, are completely free and the framework is open source. You are all welcome to try it.