7 ms·
It's crazy to me to realize that there are still people employed at Microsoft who work on VBScript. I love VBScript, lots of great memories, but I don't know an
by mevile 8y ago
It's crazy to me to realize that there are still people employed at Microsoft who work on VBScript. I love VBScript, lots of great memories, but I don't know anyone who uses it anymore, not even VB.Net.
- agumonkey 8y agoI used VB a bit after a bit of linux/bash and I was super sad that MS never (even though it's not surprising[1]) marketed VB as a system customization language for Windows'es. It's not a great language, but at least it has some kinds of type, and with COM modules you can tap into just about anything in your OS (for better or worse of course). Bash felt like a string grep hell very fast to me. And nowadays powershell seems a great replacement. [1] of course Windows wasn't meant for tinkerers but for users/customers, developping was for the MSDN side of things, for which you'd agree to pay because you'd sell your creations I guess
- ocdtrekkie 8y agoA lot of business line applications are still written in VB.NET. Personally, I write all of my hobby code in VB.NET since it's more or less the same as writing C# but I find VB syntax more comfortable. There's even claims it's the fifth most popular language out there today. https://visualstudiomagazine.com/articles/2018/12/17/tiobe-vb-net.aspx https://visualstudiomagazine.com/articles/2018/12/17/tiobe-v... Though there's not a lot of other parties who agree with that, on one hand, on the other hand, a shockingly large number of developers do not work in Silicon Valley, and a lot of those developers aren't using the latest JavaScript frameworks for their day-to-day jobs.
- gscott 8y agoI am probably the last person but I do everything in asp classic vbscript and SQL Server full time since 1998. Internet development can't just be for people with expensive cs degrees.
- Jaruzel 8y agoReplying to you, and ocdtrekkie. I'm not alone! I know multiple coding languages but for fun coding (i.e. I'm not being paid to do it) I fallback to VB.Net as I just don't have to think about it, it just flows from my fingers. Once it's an EXE it's no different from C# and as no-one else has to support my code, who cares that it's in VB.Net. I actually don't understand the hate that VB.Net gets. I think maybe people are just biased based on their knowledge of bad VB code from the VB6 and earlier days. I'm also a huge fan of ASP. It's small, fast, and super simple to deploy onto any Windows server. If you are just writing a small web based tool for end users that's easy for people to maintain, then ASP is still definitely the way to go for Windows Web servers. By comparison, I've recently converted a few ASP tools to PHP that run on the same spec of hardware (under debian, not Windows) and PHP is definitely slower than ASP.
- cm2187 8y agoI love vb.net and used it extensively, but given the multiple writings on multiple walls, I switched to C#. While I prefer the vb syntax, I found that using two languages simultaneously is more cumbersome than using a syntax I like less for home projects. I find that muscle memory is a powerful tool.
- oblio 8y agoYou mean you like the point and click feel to these tools? I know a few folks with mediocre high school degrees that are quite comfortable with command line tools, there's no clear divide saying that rich folks -> CLI, poor folks - > GUIs :)
- xellisx 8y agoMS Office stuff. Excel and Outlook use VBS. I've had do some crazy stuff in Outlook with VBS.
- teh_klev 8y agoMinor nitpick. Office embeds VBA (Visual Basic for Applications) which is pretty much Visual Basic 6. You also get the benefits of early binding and strong typing, for example: Function DoSomething(name As String) As String End Function VBS is a different beast. Whilst it shares the more or less the same language keywords and constructs as VB6/VBA (most VB6/VBA code is valid VBS code), it's actually more akin to a dynamically typed language. For example, all variables in VBS are Variants, you can't declare things as explicit types, say strings or integers. If you need to instantiate classes residing in external COM libraries you need to use the CreateObject() built-in and specify that class's "ProgID" e.g. Set thinger = CreateObject("MyLib.Thingy") vs Dim thinger As MyLib.Thingy
- xellisx 8y agoYeah - I got confused on VBA / VBS....
- smhenderson 8y agoI thought that particular flavor was referred to as VBA (Applications). I know Office has exposed it's interface through COM to VBS since at least Office 2000 but I thought internally Office Macros were written in VBA. And I know what you mean, regardless of what flavor it was I've had to some pretty crazy stuff using VB for Access, Excel and Outlook. Once you show something small and helpful to someone you wrote in VB they think they can automate the whole office with it. Sometimes it works, sometimes not but even when it worked it was always kind of brittle and I found myself have to code around a lot of exceptions which was pretty darn tedious. All in all I don't think VB.net is too terrible but I would not be sorry to see a lot of legacy VB just quietly disappear. I feel like in 20 - 30 years though it will be the new COBOL given the amount of internal business systems that were implemented using it in the 90's and 2000's.
- jaabe 8y agoWe still use it for a few services, like creating xml on our scanners that store who scanned a document so it can be automatically filed. Moving data dumps onto and from SFTPs. Emptying outlook mailboxes and storing their content so our SSIS/SSAS services can use it. Stuff like that. We could use other things I suppose but, and it is slowly getting replaced, but VBScript is the only language everyone knows, from the IT technician to the developers and that had been really valuable to us.
- leeman2016 8y agoSome time a go I had to work on a heavy XML processing application and found out VB.NET had a nice XML literals feature. I completed the development using it and it was a joy. EDIT: To anyone who didn't get it, XML literals are used like this: Dim myContact = <contact><%= p.Name %></contact> Dim allContacts = <contacts><%= From c in db.contacts Select <contact><%= c.Name %></contact> %></contacts>
- cm2187 8y agoIt's not that I don't like xml literals but I rarely use them. An XML serializer is almost always preferable. And they cause havoc in razor, where the editor is always confused between xml literals and html snippets.
- wglb 8y agoIt might surprise you to know that there are many heavy, industrial scale systems written in VB.net
- pjmlp 8y agoMany people in life sciences domain use VB.NET when their macros cannot live anymore inside Excel, or for simple programming tasks without having to mess with IT.
- simonh 8y agoVB.NET is still taught in the GCSE (secondary school) Computer Science course in the UK. My daughters are doing it now. Fortunately they are able to run it fine in Visual Studio for Mac. I’m teaching them a bit of a Python as well, but I’m impressed with the material they’re doing at school, it’s all good stuff even if the language is a bit clunky. Apparently they will be using Java for the International Baccalaureate in a few years.
- setquk 8y agoSome schools. My eldest did python on MacOS here in UK secondary school.
- simonh 8y agoReally? I didn't know that was an option. Shame, still VB.NET isn't as painful as I'd feared it might be and the important thing is the concepts. Secondary school CS is a whole world better than it was when I was their age. Having said that I know there are concerns that by focusing on 'real' computer science the course has swung too far away from everyday practical computing skills. Personally I think schools should have a bias towards putting weight on the academic end of the vocational-academic spectrum. I've avoided pushing Python too hard, they have enough on their plates learning VB, but I have dipped into it with them to show how it does some things differently. I don't want to make them feel resentful about learning VB, that wouldn't be constructive, so I'm learning VB along with them. I do think it's useful to understand what things are pretty fundamental, and which things can vary meaningfully between languages though.
- setquk 8y agoI may be older than you :) When I did secondary school "technology" which was the overseeing subject, we used BBC basic and 6502 assembly (some of us anyway!) to drive CNC equipment and Lego and spent half of the time with a soldering iron in hand and etching PCBs and stuff. In business studies, a wholly separate subject at the time, we learned how to use spreadsheets, word processors, write letters etc on RiscOS which had just rolled out about then. I think the education now is abysmal in comparison. Why? A weird reason. None of the technology I learned about then is relevant now. 6502 assembly is dead, BBC BASIC is dead, RiscOS is dead, all the software packages are dead, China makes my PCBs etc. The education it gave me was a mental model of computing and how to approach problems with self sufficiency. I feel a lot of technology platforms now, including .Net (something I have been using since day one), remove all self sufficiency from you and abstract so much away that it's harmful. I see many younger staff at companies I have worked for who's education has left them with so many gaps that self sufficient problem solving is impossible.
- z3t4 8y agoI'm pretty sure vbScript as a language, or even the vbScript engine in Windows has not got any updates whatsoever in the last 15 years. It's still a nice language though, not to be confused with Visual Basic, (like JavaScript vs Java).
- int_19h 8y agoVBScript is basically dynamically typed VB6. It's not a nice language - it has all the worst parts of VB6, and then adds its own. Take a look at some of Eric Lippert's old blog posts from the days when he was working on VBScript: https://blogs.msdn.microsoft.com/ericlippert/tag/vbscript/ https://blogs.msdn.microsoft.com/ericlippert/tag/vbscript/ To give one example, that is somewhat relevant here because it describes one of the biggest misfeatures of the language - default properties - that is used in the exploit: https://blogs.msdn.microsoft.com/ericlippert/2005/08/30/vbscript-default-property-semantics/ https://blogs.msdn.microsoft.com/ericlippert/2005/08/30/vbsc...
- jetti 8y agoI use VBScript at work. I maintain a system that was started in the early 2000s and uses Classic ASP and continues on to this day. They are rewriting it slowly but in the meantime I get the joy of keeping it running.
- teh_klev 8y agoI too had the joy of looking after a fairly large internet facing Classic ASP system which had code dating back to the late 90's. There were some parts of the codebase that I never ever got around to completely understanding. It was a horrific sprawl of deeply nested #include's and with markup and server side script intermingled. Some of these "pages" were up to 2000 lines long and you just wanted rip your eyeballs out any time you needed to go near it.
- jetti 8y agoYou made me want to check to see how many lines the biggest page we have is. Turns out it is 12,533 lines long. The kicker is that it could be much longer but there is a convoluted process to adding more HTML. The results from the database are turned into XML which is then transformed via an XSLT which creates more HTML and then Javascript is used to dynamically add the generated HTML
- FroshKiller 8y agoI'm a professional programmer working full-time on multiple Visual Basic .NET applications. Apart from SQL and the odd bit of HTML, CSS, and JavaScript, it's the only language I need to know. I know more and can work in more, but it's all that I and the hundreds of other programmers in the company need.