Live data from Hacker News

Microsoft plots the end of Visual Basic

thurrott.com

271–280 of 292 posts

Re: Microsoft plots the end of Visual Basic

#271

Earlier quoted context omitted.

Take https://docs.microsoft.com/en-us/windows/win32/api/oaidl/ns-... and 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.

You 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.

I know but already function prototyping of a DLL your write to get around language limitations isn't quite in the spirit of "things you can do in VB6". And technical you could do it in VB, but it was pulling teeth. I could just as easily write it in java and shell out to it. In VB it was hard pretty difficult. But you are completely correct, that's the right thing to do. I don't have bad feelings towards VB at all. Even today it was probably the most productive GUI development environment I've ever seen. But function prototypes returning structs / buffers? OnError GoTo ? Nostalgia only goes so far.

ps - noticed the employer on the profile. Powershell + .NET assemblies crushed it, and VB.NET was a far superior language (though, just like all the jvm languages have the same feel, all the IL based ones did and why not use C# at that point?)

Re: Microsoft plots the end of Visual Basic

#272
post #5

The 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…

I 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.

Did 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).

Re: Microsoft plots the end of Visual Basic

#273

That 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 ), 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 des…

VB 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.

Re: Microsoft plots the end of Visual Basic

#274
post #57

Earlier quoted context omitted.

> great learning language E.W.Dijkstra would disagree: "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."

Has there ever, in the history of learning, been a subject like that? A subject so damaging that it forever ruined anyone who learned it? Or maybe Dijkstra was wrong.

Christian theology was historically a great impediment to learning about physics; some Christian cults continue to impede people from learning about biology.

People who are really good at manipulating other people seem to have a hard time learning to do productive things, maybe because it's too easy to manipulate other people to do them instead, but maybe because people sometimes follow the Law of Attraction, where you make wishful thinking come true by believing in it hard enough, while software and Volkswagen engines do, if anything, the opposite.

More broadly, I think any field of learning carries with it a sort of implicit value system: we consider things x and y centrally important, while things a and b are inconsequential details. Much of learning a field involves internalizing these values to the point where you apply them automatically without even being aware that there's an alternative. But often they are suboptimal or even counterproductive in a different field. Volkswagen engines don't care about paint color or whether your grandfather just died, but they do care about thousandth-of-an-inch tolerances and not making mistakes. Interior decorating doesn't care about thousandth-of-an-inch tolerances or clean abstractions, but it does care about paint color and whether your grandfather just died. Debugging software doesn't care about not making mistakes or paint color, but it does care about clean abstractions.

This is even true in subfields within the same field: real-time engine control software cares about memory allocation in a way that seems completely insane to anyone who programs in Python, for example.

BASIC tends to reward novice programmers for banging on a piece of code cluelessly until they get it to work in some cases. Dijkstra, by contrast, believed that what was important was having sufficient logical understanding of the program's space of possible behaviors that you could be sure it would work even before testing it; he in fact designed and successfully taught an introduction-to-computer-programming course that used no actual computers. It's unsurprising that someone who had internalized BASIC's value system would be extremely resistant to Dijkstra's preferred approach, and that Dijkstra's disciples would be extremely resistant to the BASIC approach, even though in fact they are complementary, and each one works best for some classes of problems, so those who are best at one of these ways of working are those who would gain the most from learning the other.

Re: Microsoft plots the end of Visual Basic

#275
post #231
post #223

Earlier quoted context omitted.

Doing .NET and Java nowadays, started using Borland products with Turbo Basic, jumped into Turbo Pascal 3.0, all the way up to Delphi 1.0 and C++ Builder, before caving in to the MFC world back then. Accepting new members into the club? :)

Delphi club membership is only for those who possess a ruthless, deep and time-transcending sense of commitment to these two aspects of software development: 1."No bullshit" - stick to the fundamentals and don't waste time over-engineering, relying on complex builds, producing ambiguous compiles (ok, we're still fixing this), relying on bulky runtime architectures. Have straightforward source code. Native. Straight-t…

I doubt there any thing today that even come close to Delphi in terms of RAD. It is unfortunate that Software as an industry is even worst than fast fashion.

Re: Microsoft plots the end of Visual Basic

#276
post #193

Earlier quoted context omitted.

You write: > ...astounding achievement from Redmond. It boasted interactive tools to create GUI drag and drop features users were accustomed to in VB6 but glaringly missing in the Java world. This was with Visual Studio 97 Thay were not "glaringly missing in the Java world" in 1997 when Visual Studio was released. By that time at least these 2 IDEs with "drag and drop" were released and used already: Symantec Visual…

Correct. I myself used "eclipse's" parent (Visual Age) in the early days but the point I was making was not so much that "drag and drop" was missing - it was just too cumbersome and difficult even in that! In VB6, it was trivial to get a form to look the way you wanted it to look. Gridbag layout on Java Swing maimed many, and those that got off the VB6 boat soon realised that Java land was much much harder even with…

From memory JBuilder did have issues with its GUI builder.

Code emitted JBuilder's tools was not isolated from other code that was written for the application. It was easy to add a line of code that would make the included builder tool to not show the resultant GUI correctly.

This was from JBuilder 9 and JBuilder 2006, other than that issue it was a really nice IDE to use.

Re: Microsoft plots the end of Visual Basic

#277
post #174

Earlier quoted context omitted.

>>VB6 was one nice thing - build 'a program' as you understand them in Windows. Why the fuck is it so hard nowadays? VS isn't intuitive - it's a firehouse of information and I feel like you need training to use it. That is a bummer. Great question. And I agree with the sentiment. My opinion for "why is it so hard today": it has to do with the way .NET evolved right after its birth. .NET was a response to Java by Micr…

You write: > ...astounding achievement from Redmond. It boasted interactive tools to create GUI drag and drop features users were accustomed to in VB6 but glaringly missing in the Java world. This was with Visual Studio 97 Thay were not "glaringly missing in the Java world" in 1997 when Visual Studio was released. By that time at least these 2 IDEs with "drag and drop" were released and used already: Symantec Visual…

Java GUIs were weird purple garbage in those days. Horribly slow, painful to deal with.

Re: Microsoft plots the end of Visual Basic

#278
post #275
post #231

Earlier quoted context omitted.

Delphi club membership is only for those who possess a ruthless, deep and time-transcending sense of commitment to these two aspects of software development: 1."No bullshit" - stick to the fundamentals and don't waste time over-engineering, relying on complex builds, producing ambiguous compiles (ok, we're still fixing this), relying on bulky runtime architectures. Have straightforward source code. Native. Straight-t…

I doubt there any thing today that even come close to Delphi in terms of RAD. It is unfortunate that Software as an industry is even worst than fast fashion.

.NET does come close though, given its heritage, specially now that AOT compilation is finally having a proper story (less NGEN and more .NET Native).

Delphi is a victim of its stewards management post Borland.

Last great decision, remove reference counting and back to full manual memory management on the upcoming Delphi version.

Re: Microsoft plots the end of Visual Basic

#279

To 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 ... Of course, it was possible to rewrite software so that would wor…

Totally agree. I'm always confused why people eg buy in to TypeScript, when for me the entire point of using JavaScript is its portability and ubiquity. If you're willing to accept a build/compilation step, then there are much, much better languages out there IMO, rather than slowly shoehorning weakly-typed languages to become "more like Java", and creating guaranteed portability and lock-in issues along the way. I n…

> I'm always confused why people eg buy in to TypeScript, when for me the entire point of using JavaScript is its portability and ubiquity

Javascript's ubiquity and portability does not change the fact that on its own, it is a pretty bad programming language. There are a plethora of reasons to choose Typescript, most prominently is the much much better development experience Typescript give you.

I'm not sure if you've used Typescript, but using Typescript still gives you the portability and ubiquity of javascript because all it does is compile down to Javascript.

Re: Microsoft plots the end of Visual Basic

#280

Earlier quoted context omitted.

Verb-first was also a bad choice. When I type “get” I am getting thousands of suggestions which makes autocompletion pretty useless. There is also no way to find all cmdlets that deal with active directory. It would be much better if I could type “AD” first and then get all cmdlets that deal with active directory.

Try: man *-AD*

You want Get-Command here, usually, not Get-Help.
Post reply on HN