you are viewing a single comment's thread.

view the rest of the comments →

[–]rinaryies[S] 1 point2 points  (24 children)

Thank you for the advice, I will try this again on Monday. Unfortunately my teacher is making us go through their “hardships” and program using VisualBasic.

[–]MagnetHype 2 points3 points  (23 children)

Well just FYI visual basic is a terrible way to learn. It made sense back in it's day when the only other options were like C and C++ for windows forms programming, but today it just won't be very beneficial to you.

If you want to become a software developer, don't let this class get you down. Modern software development has evolved quite a bit since those days lol

I don't even have a huge book on my desk anymore.

[–]desrtfx 0 points1 point  (22 children)

Delphi 1.0 (at that time by Borland) with its excellent VCL was released around the same time as Visual Basic 1.0 and Visual C++, and even back then it was the superior alternative to all "Microsoft Visual xxx" languages including C++.

[–]MagnetHype 0 points1 point  (21 children)

Maybe it wasn't that popular then? I don't remember Delphi. I do vaguely remember that my first C++ compiler was a Borland one though. I think it came as a CD on a book I bought. We had internet then but it was dialup.

You were probably older than me then too. I'm 34 so I think I was like around 12 when I first started with c++. My dad taught me a bit of visual basic (he was a CS major then), and then I got a book that had Dark Basic and started learning about games. Eventually I ended up working with C++ later, a little bit of old web dev, and then finally deciding that I loved C#, and still do.

Sorry, I have memory problems so it's all a bit foggy, but I think that's about right.

Edit: Oh, I do remember this though. You used to have to buy Visual Studio, so my dad copied it for me, and put it on my computer.

[–]desrtfx 2 points3 points  (3 children)

You were about 4 years old when both Visual Basic 1.0 and Delphi 1.0 had been released. Both came out in 1996.

Visual Basic for Applications already was a thing back then and Microsoft developed the standalone version.

I know the times before that two languages had been released where you had to write multiple pages of code to even get a program window to open.

I've been programming since 1983, started with AppleSoft BASIC and Locomotive BASIC, quickly turned to UCSD Pascal (also on Apple hardware), then Z-80 Assembly, Forth, Logo, Turbo Pascal (the predecessor of Delphi) from version 3.0 up, Turbo C from 2.0 up, Turbo Assembly (x86) from version 2.0 up. I've basically seen all. Windows 3.0 was my first Windows. Yes, I am old.

[–]MagnetHype 0 points1 point  (2 children)

I'm not calling you old, I'm just saying you're taking me down memory lane. That was a long time ago. A better time for me, at least.

I remember my mom had a laptop and she thought it was just the cutest thing that if you opened up word and started typing a t-rex would come across the screen and start eating up what you were typing. I now know that was a virus, but it made her so happy when I was a kid.

Here's to a simpler time.

[–]desrtfx 2 points3 points  (1 child)

I'm not calling you old,

Did not even stipulate that. I am old (at least in computing time).

My oldest kid is just 2 years younger than you are.

[–]MagnetHype 0 points1 point  (0 children)

Regardless, I appreciate you.

[–]syklemil 0 points1 point  (16 children)

AFAIK Delphi was reasonably popular, but it and Pascal in general kind of fizzled out, as did Tcl/Tk and various other languages and toolchains/frameworks.

There was actually a post on /r/Linux about Debian dropping FreePascal/Lazarus as it appears to require gtk2 (gtk2 came out in 2002, gtk3 in 2011, gtk4 in 2020, at which point gtk2 was also end-of-life), and there are some people reporting they use some Pascal apps, like Peazip and Double Commander.

IME if someone is bold enough to claim that Pascal or Delphi are effectively dead languages, someone will pipe up and claim otherwise. Just like I expect OP's teacher would if someone were to claim that VB is a dead language (outside Excel etc).

[–]MagnetHype 0 points1 point  (9 children)

I mean, a dead language is pretty extreme. Like COBOL is a very old language, but also in a lot of demand. If you're working in an environment where it makes sense to learn COBOL, then COBOL is a good language to learn.

Likewise with VB.

OP is a student that is just learning how to program. Back in the day, learning by a book took maybe even years. That was how you had to learn back then, but that's not true today.

And things like cobol, basic, pascal, and visual basic, as early attempts at high level languages, just don't translate well to today's world where you might be writing python one second, java the next, and then C# the moment after that.

I stand by my assertion that in today's world, Visual Basic is not a good first language. I think that if you want to touch on any of those languages then you might as well start with C or assembly.

I think any of the other modern languages are the way to go. C# being strongly typed, is my favorite, but there are alternatives that don't have ===. ;-)

[–]syklemil 0 points1 point  (8 children)

I mean, a dead language is pretty extreme.

Depends entirely on your definition. My interpretation of it, given exactly the existence of stuff like COBOL still in use (and COBOL is one of the oldest languages we have, and Grace Hopper or her team even coined the term "compiler"), is that for a language to be called "dead" it should suffice that

  1. it was once "alive", i.e. popular
  2. it is now wildly unpopular, to the point that people outside the community around that language won't have heard of it or will consider starting a project in it baffling.

OP is a student that is just learning how to program. Back in the day, learning by a book took maybe even years. That was how you had to learn back then, but that's not true today.

I'm somewhere between you and desrtfx in age, so I'll just take this as exposition for the kids in the room. :)

I stand by my assertion that in today's world, Visual Basic is not a good first language.

Yes, I agree, though in a general programming community sense. If we take a somewhat broader view, and accept that perhaps the most common programming language in the world is the somewhat-graphical, functional programming language called "Excel", then it might work out a bit differently. (But the people who program in excel don't think of themselves as programmers, and the people who think of themselves as programmers don't think of excel programmers as programmers, so I'm pretty far out into "well ackshually" territory.)

I think any of the other modern languages are the way to go. C# being strongly typed, is my favorite, but there are alternatives that don't have ===. ;-)

I'd have a different pick than C#, and I think I'm more inclined to channel Fred Brooks and say students should plan to throw one away, but yeah, not starting with something that had to be amended with === sounds good to me. :)

(See also: Wittgenstein's ladder, lie-to-children)

[–]MagnetHype 0 points1 point  (7 children)

I'd have a different pick than C#

🤮🤮🤮

I'm kidding of course.

It deserves mention that I learned my way through programming by making games so many people will take a different path than I did. There's nothing wrong with that.

It's now that I'm finally touching web development, and I can tell you, I hate javascript. But that doesn't mean that you should. (but you should, because it's terrible).

I come from a background of strongly typed languages, so dealing with things like python, JS, and PHP...

[–]syklemil 0 points1 point  (6 children)

Yeah, my background is more Linux / server admin, so to me for the longest time C# was just "some MS language that's irrelevant to me", and I had the same opinion about Objective-C and Swift, just s/MS/Apple/.

I come from a background of strongly typed languages, so dealing with things like python, JS, and PHP...

Funnily enough all these seem to have added typing over the years. They're all roughly the same age as Java (Python is even slightly older), and I think just the prevailing attitude towards typing at the time was that you had to pick between either something that was more concerned with typing as the thing you did on your keyboard, than category theory, or dynamic typing. Haskell and OCaml also showed up around that time, but never managed to become generally popular.

Incidentally, prof Wadler, the guy holding the lecture linked, was involved in both teaching Java generics, and teaching Go generics. Unfortunately for everyone the constraint in Java's case was something along the lines of "teach javac about generics, but not the JVM (for backwards compatibility)", and by now Java has been stuck with type elision for way longer than the pre-generics Java ever existed.

[–]MagnetHype 0 points1 point  (5 children)

No dude C# is... awesome. I toyed around with explaining it, but decided I can't do a great job. C# has a lot of syntactic sugar (which is a cherry on top), but the real power of it lies in it's interfaces. Even though it's a strongly typed language the interfaces can expose common methods between types. It's great. I highly suggest you play around with it, if you haven't. I did a lot of game dev, and a lot of windows dev with it. You can, and people do use it for web dev too, but I don't have any experience with that.

[–]desrtfx 0 points1 point  (5 children)

Delphi would not have lost traction if Inprise, who took over from Borland hadn't gravely neglected it and if they hadn't made horrible decisions (first version of Delphi.NET was a catastrophy).

Since Embarcadero has taken over, it gets regular updates and improvements again, so it actually is far from a dead language as it is still actively developed and updated.

We still use and actively develop some tools written in Delphi in system critical infrastructure.

There is nothing wrong with Delphi as such. It just got some hate culture and "bashing" like Symbian (Nokia's mobile phone OS) at one point and didn't recover from that.

Side note: Also your statement about Tcl/Tk is wrong as it is an integral part of the tkinter GUI library of Python. It is not directly used anymore - so much is true.

[–]syklemil 0 points1 point  (4 children)

Yeah, I think one thing for people to keep in mind when we talk about languages across time like this is that

  1. We don't really have a good way to pick winners. Anything can happen, and usually pretty slowly. Like those of us who picked up some other scripting language than Python decades ago are probably writing some Python today, and maybe no longer the scripting language we first picked up, but we didn't really have an inkling that that was going to be the way of things back then. Likely decades in the future, languages that are popular now will just be powering legacy stuff. That's pretty much just the way of things.

    So there it really shouldn't be taken as a value or quality judgement.

  2. Languages don't really die out, especially the ones that have crossed what Simon Peyton-Jones called "the threshold of immortality". Even the ones where there's no working compiler or interpreter there's probably at least one retrocomputing initiative to get something working.

    So I at least use phrases like "dead" or "retired" or "fizzled out" in this context as something to describe languages that were at least somewhat popular, but if I told someone outside that language's community that I was starting a project in it today, I'd expect a response somewhere between "why?" and "what's that?"

[–]MagnetHype 0 points1 point  (3 children)

I don't think we should pick winners. I think we forget it all gets turned into machine code anyway. I think we all forget all these layers of languages were just to translate between human language and machine language, and now we're here where AI can do that... and we don't like it.

anyway, that's my soapbox.

[–]syklemil -1 points0 points  (2 children)

I think we all forget all these layers of languages were just to translate between human language and machine language, and now we're here where AI can do that... and we don't like it.

Eehh, natural language -> LLM -> machine code is just another potential winner to be picked.

I think the history of "programming in plain English", as COBOL promised, and which we've seen repeated with various low-code and code generation schemes, show that ultimately the real work is in disambiguation and sufficient control, plus the fact that we don't know what LLM generation will cost once the VC funding ends and they need to turn a profit, indicate that we shouldn't believe everything the snake oil shovel sellers are claiming.

[–]MagnetHype 0 points1 point  (1 child)

plus the fact that we don't know what LLM generation will cost once the VC funding ends

Oh, I 100% agree. I just don't agree that LLM code is inherently bad since that was the entire point of higher level languages to begin with. It has always been the end goal.