Ask HN: Do you still code in BASIC?

Do you still write code in BASIC? If yes, which BASIC compiler or interpreter do you use?

49 points | by yori 1593 days ago

54 comments

  • proxybop 1593 days ago
    I learned to code from some indie version of basic on the internet called Liberty BASIC when I was 13. I used it for years because the people on the forums were so nice and basically held my hand through learning a lot of basic computer science and exposed me to the history of computing via recreated qbasic programs and games, etc.

    I’m super grateful for little things like that. All those older people that were welcoming to me on those forums have a special place in my heart, and I’ve been thinking about them fondly while I build a compiler—something I wouldn’t have been able to do without them answering all my questions when I got stuck.

    • HEHENE 1593 days ago
      Liberty BASIC (JustBASIC first, then later switched to Liberty) was how I got started in programming as well. The community was awesome and there were tons of examples out there to reference from.

      Later I spent a lot of time writing IRC bots and the IRC communities were equally as friendly.

      The real light bulb moment for me was a PHP tutorial from, I think, W3Schools. There was this moment where I realized I could build this thing and with a single click anyone in the world with a computer and internet connection could consume it. Everybody has a web browser! That was the moment I realized I wanted to to be a web developer and I never looked back.

    • zeko1195 1593 days ago
      That is why I fell in love with programming. So many smart people willing to spend time and effort on explaining me simple things. I have tried to give back by tutoring people as much as I can. The technology community is amazing.
      • proxybop 1593 days ago
        It is wonderful. I really want to find a way to help teach kids/teenagers about programming. It can really make you feel good about yourself to build something and see it working
      • ksec 1593 days ago
        Not sure if that is still true today, most of them replies were RTFM.

        I do miss the old Internet.

  • earthboundkid 1593 days ago
    No, and I don't miss it because I don't feel like was actually "simpler" than what I use today. Almost anything I could have done easily in BASIC in 1992, I can do more easily in Python now. The exception might be drawing ASCII graphic games, but I don't have any desire to make such games today, and if I did, I could just learn how to use TCell or whatever.
    • dwculp 1593 days ago
      I agree, BASIC is a novelty and it holds a very special place in my heart. I first started programming in BASIC around 1979 and I used it to do so many things. In the mid-80's as a teenager I wrote my own BBS system on my C64 for it. I loved BASIC.

      However, today there are far better languages that are easier and are better introductions to programming for beginners. Of those, Python is my favorite.

    • Phylter 1593 days ago
      Python today is what BASIC was in the 90's and earlier. Though, Python is obviously a lot more powerful but so are computers in general.
    • xtracto 1593 days ago
      or PLAY "CDEFCCDEFCDEGDFG"
  • ibejoeb 1593 days ago
    I understand the arguments against BASIC, e.g., ingraining impractical paradigms, but I do wonder if I would have ever gotten so deep in without exposure to it. I doubt that I would have jumped directly into asm, c, or fortran as a child. Even Pascal was a major leap ahead and probably somewhat inapproachable without help.

    Maybe that was only the case in the '70s and '80s. I'm sure that if I had Python as a kid, it would have been just as easy to experiment as it was with BASIC back then.

    • mschaef 1593 days ago
      > I understand the arguments against BASIC, e.g., ingraining impractical paradigms,

      The early interpreted BASICs did make it difficult to write good code. All source editing was line editing, every line was numbered, there weren't any structured control flow statements, composite data structures were limited to arrays and strings...

      But even as early as the second half of the 80's there were mainstream implementations of BASIC that addressed all of these. Microsoft QuickBASIC 4 added a full screen editor and then completely relaxed the need for line numbering. Line numbers were still supported, but so were symbolic labels. QB4 also had support for functions/subroutines, decent control flow statements, and structured data types. There was also reasonable support for extension libraries, and the like. As long as you didn't rely on any code patterns that required any kind of callback or inversion of control, you could do a very nice job writing well factored and maintainable code.

      • kentbrew 1593 days ago
        I did a ton of good work in QuickBASIC 4.5. Wrote some shareware games, one of which was converted to a successful commercial product. Plus lots of contracting in the 80s for people who needed data (send back and forth on floppies) converted from one accounting system to another.
        • mschaef 1593 days ago
          > Plus lots of contracting in the 80s for people who needed data (send back and forth on floppies) converted from one accounting system to another.

          When I was sixteen or seventeen, I worked as a summer intern in the IT department of a local utility company. They gave me this data conversion task that they expected me to complete manually on a timescale of roughly the entire summer.

          It took about two days before I just automated the whole thing with a Turbo Pascal 6 program and had the task completed in something like a week. The biggest part of the challenge by that point was moving around a large volume of data (~100MB) on the 1.44MB floppies common at the time. (I remember ARJ helping immensely, between it's multi-disk support and the high compressibility of the data.)

          My unexpectedly high output on this task served me well.

      • Someone 1593 days ago
        "The early interpreted BASICs did make it difficult to write good code. All source editing was line editing”

        You have to see this in historical context. That Basic had an editor was a huge step forwards. That it wasn’t a full-screen editor was because full-screen editors didn’t exist yet (who wants to wait for their teletype to print 24 lines, and waste half a page of paper on it?)

        https://en.wikipedia.org/wiki/BASIC#Origin:

        "The first version BASIC language was released on 1 May 1964”

        https://en.wikipedia.org/wiki/Text_editor#History:

        "One of the earliest full-screen editors was O26, which was written for the operator console of the CDC 6000 series computers in 1967.”

        • mschaef 1593 days ago
          > You have to see this in historical context. That Basic had an editor was a huge step forwards. That it wasn’t a full-screen editor was because full-screen editors didn’t exist yet

          I (mistakenly!) edited out the part of my post that clarified I was thinking of microcomputer implementations (77-83 or so). Of course, full screen editing was common then, even if not necessarily in the interpreted BASICs of the time.

          BASICA had a command to edit a line 'EDIT 120' that let you use an interactive line editor of sorts. (And C64 BASIC 2.0 could do something similar, I'm pretty sure). On the contrary, the contemporary Logo implementations of the time let you hit an F-key that dropped you into a full screen editor window with your source text. QB4 just started you off in the full screen editor with an immediate window (REPL, sort of) at the bottom of the screen.

      • smacktoward 1593 days ago
        > The early interpreted BASICs did make it difficult to write good code. All source editing was line editing, every line was numbered, there weren't any structured control flow statements, composite data structures were limited to arrays and strings...

        The sad part is that, because BASIC was supposed to be the "easy" programming language, it was frequently used as the language in which students were taught how to program. Which meant its bad habits ended up getting impressed hard onto a lot of impressionable minds. I spent years fixing all the ways first learning to program in BASIC had bent my brain.

        • mschaef 1593 days ago
          I managed to avoid most of that, thanks to a bit of sheer, dumb luck.

          Back in the early 80's, my elementary school piloted a program (inspired by Seymour Papert, I presume) to teach school age children to program in Logo. So we had a lab full of twelve C64's across the hall from the Apple ][ lab and were taught to program in Logo. This included structured control flow, sub programs, recursion and the like. It was a far, far better experience than I imagine it would've been to be initially exposed to Basic.

          In retrospect, this is probably a big part of why, a few years later, I found some of the structured programming facilities of QB4 as appealing as I did.

    • CarlGundel 1591 days ago
      In spite of its warts the line numbered BASIC interpreter has it's good features, especially the immediacy of the interactive interpreter. The beginning programmer benefits hugely from this. Many languages boast about having this today, but BASIC had it all along until a more edit/compile/debug style BASIC became the norm.
    • jhbadger 1593 days ago
      When traditional line-numbered BASIC was developed, those "impractical paradigms" were very practical, as FORTRAN had yet to get functions and its program flow was based on GOTOs as well. Structured Programming seems so obvious to us today that it was hard to understand that it had to be invented, just like object-orientation was later.
  • ph33t 1593 days ago
    Yes. PowerBasic. Since the original developer has passed on (Bob Zale), I don't use it for new coding. However, I have an extensive existing code base. Very fast compiler, very small generated exe's, and very easy to work with. But, I don't see any progress in a 64-bit nor linux versions so I've switched to Python for such things.
    • discreteevent 1593 days ago
      I had to use some python with vs code recently and for some reason it reminded me (in a good way) of working in qbasic with the little ide/debugger. The same kind of quick simplicity.
    • CarlGundel 1592 days ago
      Power BASIC is a great dialect. I believe you can still purchase it too. I wrote some industrial strength stuff with Power BASIC some time back.
  • bobochan 1593 days ago
    I still write quite a few things in VBA. Most of this is for research or teaching purposes where I want to add a few things to Excel, but there is a surprising amount of demand from management consulting companies that want a front end or some sensitivity analysis added to a model that they have developed for a client.
  • linuxlizard 1593 days ago
    Yes. The one called Python. No line numbers but a funny indentation system.
    • musicale 1593 days ago
      ^ This. However I still take issue with Python 3's removal of the PRINT statement.
      • Phylter 1593 days ago
        You mean making it a function instead of a statement?
    • boobePhuu7iet7i 1593 days ago
      wat
      • stergios 1593 days ago
        A friend once told me "Python is the Visual Basic of the Internet". That still brings a smile to my face.
        • ksaj 1593 days ago
          Does it PEEK and POKE? That's all I ever cared about when I was learning BASIC.
        • IshKebab 1593 days ago
          Python isn't used much on the internet. Surely they meant Javascript?
          • dharmab 1593 days ago
            The Internet is a superset of the web, and has much more than just browser-based HTTP/TCP.
            • IshKebab 1588 days ago
              I am aware of that. I meant the internet, not the web.
  • grendelt 1593 days ago
    I'm a curriculum developer and lead teacher training workshops. We still teach BASIC because one of the robotics platforms still in existence is the BoeBot from Parallax. It uses the BASIC Stamp. When I started, the rest of the team was only doing the BoeBot. I started learning microcontrollers with the BASIC Stamp and I forgot how restricting it is when you try to do much with it. I proposed we adopt the Parallax Shield bot which uses an Arduino as the brain instead of the BASIC Stamp. Leadership agreed.

    It's actually more difficult to teach Arduino in a day or two and hope any of it sticks if the person you're training in coming in with zero programming background. BASIC is still an easy language for complete newbie to pick up in a short amount of time. The ease of learning comes at a cost later on though. I've encouraged teachers to start with BASIC if their students had no prior background or if they themselves feel overwhelmed by the wider pastures of the Arduino. I underscore that the time spent learning C++ in an Arduino context is a better investment than time spent mastering BASIC. BASIC is easy to learn for the purposes of the robot, but C++ can control the robot and allow you to branch out into countless other languages. I liken programming languages to spoken languages and learning C++ is like learning Latin. It may be obtuse and difficult at first, but once it clicks, you can easily slide into any number of other languages with ease.

    I'm now not really beating the BASIC drum anymore, instead I talk up Python now that Parallax has released a bot built atop the micro:bit. It's limited in the amount of memory on board and python eats embedded memory for lunch. It's time well spent learning Python. It allows students to grow into "what's next" far easier. Kids that learn Python on something like this robot can easily write the same kind of code on a computer to have it do all sorts of things. Kids in camps that I've run (and students in my classroom years ago) love learning about the countless python libraries they can use. I casually point out "mouse" and they making "random mouse movement" scripts as a gag. I always "fall for it" each time. ("Oh no! What?! My mouse... it's jumping all over the place!!!" - met with giggles, high fives, raucous laughter, etc)

    So, yeah, I actually still teach BASIC on occasion, but I'm more and more turning teachers into Python lovers and C++ for the Arduino.

    • CarlGundel 1591 days ago
      I personally think that BASIC is an excellent first language, but people really should learn several different languages and be exposed to different programming ideas and styles. In addition to the Python and C++ you mentioned, people should consider Forth, Smalltalk, JavaScript, etc.
  • sixothree 1593 days ago
    In one of our solutions (about 75+ projects) we have a single VB.net project with just a few classes. Nobody has bothered to port it over because it never needed changes. So it sits there doing its thing. The funny thing is that it was converted from C# code, which was promptly lost, some ten years ago because we thought it would be easier for the dev unfamiliar with C#.

    On a personal note, I collect vintage computers. I have too many and stopped counting at 50. So I do use BASIC in that sense.

    • jacquesm 1593 days ago
      Is your collection online somewhere?
      • sixothree 1593 days ago
        No. I really need to catalog it better since it is such a fun collection. It ranges from 8 bits (Apple IIs, TRS-80s, Commodore PETs) to Sun SparcStations.
        • jacquesm 1593 days ago
          Any early UK stuff in there? Atoms and such?
          • sixothree 1592 days ago
            Unfortunately no. My collection is almost entirely comprised of machines I had put my hands on in practice.
  • zxdunny 1593 days ago
    I've been writing a toy BASIC interpreter for about the past ten years: https://www.youtube.com/user/ZXSpin/videos
  • jshaqaw 1593 days ago
    I am just starting to teach my young kids to code. I haven't found a better solution than old fashion BASIC for that stage when you graduate from Scratch but aren't ready to onboard lot of the complexity of a Python or Racket yet. I love Python and Racket but for an 8 year old they still have a lot of background baggage vs the immediacy of BASIC.
  • alexhutcheson 1593 days ago
    A shocking amount of processes in the business world still depend on VBA (Visual Basic for Applications) running in Excel (and sometimes Access). It's actually a pretty nice RAD environment, as long as you're not going to scale beyond a team of one or two developers!
  • codingdave 1593 days ago
    Not the BASIC with line numbers that you may be thinking of, but VBA in Microsoft Office apps is a descendant of Visual Basic, and is definitely still out there. I use it when writing scripts to parse content out of old Word docs.
  • sarossell 1592 days ago
    Liberty BASIC. It's been around for nearly three decades, is very well documented, has excellent support, and is the closest you can get in modern times to the syntax of the original Dartmouth BASIC. So it easily appeals to the old-school crowd like me. But it also has over 300 commands or constants to keep up with modern operating systems and methods which allow for GUI design, event-driven applications, calling DLLs, playing media files, interacting with joysticks, displaying graphics, etc.
  • SyneRyder 1593 days ago
    Sometimes. I use Xojo, the new name for REALbasic. It's a cross platform Basic compiler, that makes desktop apps for Windows, Mac & Linux (also iOS & Raspberry Pi). Sometimes it's the fastest way to prototype an idea - it works a lot like Visual Basic & Delphi did.

    I've used it to make a business dashboard for my indie software business, a schedule estimating app using "evidence based" Monte Carlo methods, and I was working on a cross platform Micro.Blog client (inspired a lot by Tweetbot).

  • lovelearning 1593 days ago
    I don't but my dad does. IBM BASICA interpreter from the 80s. I setup DosBox to run it on Linux.
  • dwculp 1593 days ago
    Not really, I dont have any real need to. BASIC holds a special place in my heart as it is where I started in 1979....ish. However, I have very little reason to use it now. There are better and more powerful options today.

    I teach kids to program via an after school robotics club and Python is so much easier and more powerful than BASIC ever was.

    Occasionally I get nostalgic and break out a BASIC and its fun for a bit but I quickly realize how clunky the language really is.

  • rodbird 1592 days ago
    Yes, I use Liberty BASIC V4.5.1. I started programming for fun and relaxation when Sinclair Spectrums first appeared, then on to Commodore and Amstrad. Then it all died down a bit real work intervened and in the meantime BASICs got super complicated. My first reentry was to Visual BASIC uggg… Then I found Liberty, super easy BASIC control of Windows.
  • unwiredben 1593 days ago
    The scripting language used for developing Roku channels is BrightScript, which is based on BASIC syntax with some bits of other languages thrown in.
  • zeko1195 1593 days ago
    Beginners All Purpose Symbolic Instruction Code. What a beauty.
    • timbit42 1593 days ago
      That's a backronym if I ever saw one.
  • kgwxd 1593 days ago
    Just on the Commander X16. The built-in interpreter is 100% backwards-compatible with the VIC-20 and C64.
    • sixothree 1593 days ago
      CC65 targets it, which is fun. I want a physical one when they are released.
  • Nzen 1591 days ago
    I work at a company that makes a niche ERP. The owner wrote the original in Basis International's BBX. Within the last ten years, the company ported the ERP to Java. But, we still use it as a code generator for our dao layer and half the views. Quarterly, I'll go in there to change the templates to improve our dao.

    It gets the job done. Part of my reticence is ignorance. I might have a meaningful opinion if I were familiar with more than just println and single line if/else. I am glad I don't need to plan for line numbering in any other realm.

  • ryanmercer 1593 days ago
    Erm, sorta. Does Atari BASIC count?
  • Jamwinner 1593 days ago
    I ocassionaly use it, but mostly only for toy projects. All the basic code I write is pretty interpreter agnostic after moving from applebasic to msbasic in the 90s. It comes down to what is available on whatever platform I am playing with now.
  • crtlaltdel 1593 days ago
    The last thing I did in a BASIC dialect was VB.NET circa 2007-8 and was a service in a .NET webapp backend. At the time I was a EE with limited professional programming experience outside of small personal utilities. Like a lot of people I had first encountered BASIC with the Apple II in a school computer lab around 1995 and built some small text adventure games with it.

    I echo the sentiment of proxybop; the ability to type things and see something happen is a powerful motivator in learning to code. As a lot of commenters point out, Python seems to have largely replaced BASIC as the "beginner" language to help teach folks. The REPL reinforces this, imo.

  • klondike_klive 1592 days ago
    I seem to remember that my ZX81 Basic allowed a computed "goto" statement, which my later Amstrad BASIC didn't. I mostly used it for type-ins from magazines. I also had a little dabble in machine code (nearly forty years later I still remember the opcode for Return is "C9") but the learning curve was too steep for me to do anything much. I still wonder whether given tutelage or encouragement in programming I could have got way more out of my computer as a child.
    • timbit42 1591 days ago
      Very few BASICs had that. Atari BASIC and the Simons' BASIC add-on for C64 BASIC (CGOTO) both had it.
  • ocdtrekkie 1593 days ago
    Does Visual Basic .NET count? Because I still code in that with Visual Studio 2019.
    • interlocutor 1593 days ago
      VB was one of the most popular languages in the 90's and into early 2000's. How did it fall out of favor? Was it because of Microsoft forcing VB into "just another skin" over .NET, i.e., a variant of C# that doesn't have curly braces?
      • smacktoward 1593 days ago
        I was a VB developer when that all went down. VB didn't fall out of favor, Microsoft killed it.

        When .NET came along MS replaced "classic" VB with VB.NET, which was syntactically just different enough from classic VB to make moving to it a big project.

        Worse, VB.NET wasn't backwards-compatible with classic VB, so you couldn't just bring your old projects into the new environment; you had to rewrite them from the ground up in the new syntax.

        Worse still, to encourage VB devs to move to VB.NET, Microsoft stopped selling licenses for classic VB. Not "warned developers they would stop selling licenses in five years" or the like, mind. They just stopped. If you wanted to buy a license for VB, it was VB.NET or nothing. Which, when you considered that VB.NET wouldn't run all your old code, was kind of terrifying.

        All of which amounted to dropping a nuclear bomb on the VB community, as it pushed everyone into doing what someone (I think Joel Spolsky) once called "the dreaded market survey." In other words, if you're going to have to learn a whole new language in a hurry anyway, why not consider all the new languages available to you?

        So while a few classic VB devs did move to VB.NET, most ended up landing elsewhere; some to C#, some to web application platforms like ColdFusion, some to open-source languages like Perl, etc. (I went to Perl, which led me to PHP, which led me to Python.) What had been one of the world's largest programming communities was scattered to the four winds overnight.

      • kerng 1593 days ago
        VB was basically terminated by Microsoft in favor of .net.

        It would have been (maybe still would be) amazing to see what the community would pull off with VB6 if Microsoft would open source it.

        VB6 IDE was so far ahead of it's time, even today (20+ years later) most languages don't have anything that comes close to what Microsoft had done there in the 90s.

        It would probabaly the perfect language for UI development and data analysis (think VBNotebooks), possibly ML.

        • WorldMaker 1593 days ago
          The VB6 IDE is terrible and no one should have to use it today.

          It's UI tools were eventually bettered by the WinForms and WPF/UWP Designers.

          Having to work in the VB6 IDE against my better judgment still, I have zero nostalgia for it left.

          • kerng 1593 days ago
            It was fast and slick - WinForms (and generally VS.net) was always slow in comparison with too many jobs and options - and WPF, same as WCF, is just an abstraction nightmare (and even slower compared to WinForms).

            People want simple, that's why Go is so successful these days - in many ways the enthusiasm (positive and negative) around Go reminds me of VB6.

            The fact that VB6 and IDE still works (didnt know that) on modern computers is by itself an amazing thing actually.

            • WorldMaker 1593 days ago
              Obviously we have very different opinions.

              > WinForms (and generally VS.net) was always slow in comparison

              It was slower at first, sure. Performance was a huge project over multiple years for Visual Studio and the WinForms designer hasn't been considered "slow" in years.

              > and WPF, same as WCF, is just an abstraction nightmare (and even slower compared to WinForms)

              Not really? XAML itself is a pretty direct representation of an object graph. More so than the hideously long Attribute blocks at the top of VB1-6 FRM files and the giant blobs of binary nonsense in FRX files.

              WPF Binding can be confusing, because like Vue or half the other web frameworks, two-way data binding is hard. But WPF has always supported classic double-click to code behind and set properties directly on window controls models of UI code writing, just like WinForms and VB1-6. Just about no one recommends it, for the same reason people recommend two-way binding systems like Vue because it can simplify other parts of your application and can be hugely beneficial on the other side of the learning curve.

              Mileage varies on the speed of the WPF designer. Again, performance is something that greatly improved over time. Most of my worst WPF performance problems, when I was using it regularly, were with third party controls I had no control over, and tried to get rid of.

              Personally, I'd greatly prefer to write XAML by hand in notepad than design in a UI in VB6 ever again. I'd complain a lot without tools to help me fix basic IntelliSense mistakes in my XAML, but I'd do it. Obviously, everyone's opinion will vary.

              > The fact that VB6 and IDE still works

              I cannot stress enough: it doesn't. The work I have to do in VB6 is pulling teeth. I have to do it in a VM that for reasons of security now has to be entirely isolated from network access. Even just scrolling code in that VM now takes what feels like subjective minutes to scroll just a few lines at a time. I'm constantly trying to use VS Code to comb through the codebase and prepare my plan of attack before ever opening the VM and it's like preparing punch cards for a Mainframe because I want to make sure I've prepared enough I spend as minimal time in that VM as possible. Navigating the VB6 in VS Code is horrible due to the aforementioned Attribute block garbage and absolutely no sense of navigation because all of the event handlers are wired in the FRX opaque whatsit from what I can tell and you can only assume that functions still do what they were named to do and that a `Form32_Load` wasn't actually repurposed to be `Button98_Click`. For the most part I'm thankful the codebase I'm working on isn't that evil, though I'm incredibly sick of VB6-era Hungarian notation at this point.

              • dole 1593 days ago
                A little late but mostly in the same boat with you, curious as to what you're using for a VM (W7 here). Sounds like a relatively massive project to be that painful to navigate but for most smaller purposes, the IDE still is at least serviceable. I've had Chrome (or the last versions available to be installed on W7 anyway) drop a bunch of startup resident crap that kills VM performance/network until cleaned up, and the scrolling issue (Ulli's VBMouseWheel?) doesn't sound typical, but you did say "subjective." Installing a full-text search app helped speed up searching through our codebase via VB6 IDE or VS2008's TFS Source Control Explorer, but you've probably been through most of this song and dance already.
                • WorldMaker 1592 days ago
                  The VM originated as the physical machine of a previous developer and for a number of reasons is stuck at XP, hence a lot of the reasons it needs to be network isolated at this point.

                  Also, because it is from an ancient image I don't want to break it because I doubt we could rebuild the ecosystem from scratch, it feels like it is stuck in VirtualBox, which is I think a large part of the slowdown because VirtualBox doesn't just directly support Hyper-V-based acceleration like just about everyone else finally does. I really need to convert it directly to a Hyper-V VM, but I don't have the free hard-drive space at the moment to have multiple VM copies around, haven't had the budget time, and I'm not sure I trust some of the available tools.

                  I'm using the last build of Git for Windows I was able to get to install on XP, and I pray that there isn't a compatibility break as right now a shared worktree-less folder as "remote" to the VM internal repo is the only way I'm getting code in/out of the VM. I'm generally happy with VS Code outside of the VM for full text search, but VS Code can't build "Find All References" and "Go To/Peek Definition" maps, and that's the biggest itch that I miss, and VB6 IDE never had a good "Find All References" because it predates that tool in VS by like half a decade at least, and more than a decade before "Peek" sub-editors came about.

                • kerng 1592 days ago
                  This is so interesting, I had no idea there are still such big VB6 projects out there. Is this related to a particular industry?

                  Too bad Microsoft didn't open source it.

              • kerng 1593 days ago
                Your last point seems to reflect my initial sentiment that it would have been great to see VB evolve over last 20 years.
                • WorldMaker 1592 days ago
                  It did evolve over the last 20 years, you just casually dismissed everything it evolved into as being "slow" or "harder". The VB.NET version numbers continued from 6 and the VB.NET team has always considered itself to be the successor language. Visual Studio has decades of improvements from the VB6 era when every language was siloed and weird inconsistencies between project systems was the norm rather than bugs to be reported. It got slower for a while, but VS 2019 is faster and more capable than VB6 ever was. WinForms and WPF (and UWP) learned from a lot from the mistakes of the ActiveX/OLE era of VB6 and got better because of it.

                  Everything evolved, it sounds like you just don't like the direction it evolved in.

                  • kerng 1592 days ago
                    VB.net had literally nothing to do with VB6.

                    I know so many hobbyists, and even professional developers, that were totally lost. Microsoft really messed that one up, similar with what they did with Silverlight.

        • zubairq 1589 days ago
          I totally agree which is why we are trying to make a vb style environment for the modern day at yazz.com
      • StillBored 1593 days ago
        I did some VB programming in the mid 1990's, looked at vb.net shortly after it came out and discovered that much of what made VB "good" had been lost. The easy learning curve, and the ability to create useful things in timeframes measured in a couple hours or less all seemed to be replaced with the traditional programming tool paradigms.

        The lack of a reasonable porting tool and the fact that it didn't really have any advantages over C# in .net land, it made sense for most people to jump to C# instead of VB.net.

        MS had to know this was going to happen. They left the door open for someone to actually create something to fill the VB niche, but all the focus on web technologies has meant that nothing really stepped up.

        • tabtab 1593 days ago
          Re: "left the door open for someone to actually create something to fill the VB niche, but all the focus on web technologies has meant that nothing really stepped up."

          Indeed! Desktop tools largely got ignored and everybody went web. But web development is a royal pain in the butt. Apps that a single developer/analyst could produce in a couple of months now require teams of specialists (UI, middle, DB, etc.) and bloated stacks. Productivity died. Yes, deployment is simpler with web, but the desktop tools had been improving in that area. Something died.

          (Under ideal circumstances, a well-run web shop can be productive, but it takes too many things to go right. Most orgs are wobbly.)

      • Ididntdothis 1593 days ago
        VB.NET has superficial similarity with VBA and VB6 but it’s a completely different beast. You can’t just port old VB code to VB.NET so to me and probably a lot of other devs it didn’t make much sense to use VB.NET.
      • dole 1593 days ago
        Many VB developers found C# easier to transition to than VB.Net; one reason is that some of VB.Net's syntax and parameter orders changed and became unintuitive when bouncing between the old and new.
        • smacktoward 1593 days ago
          There was also a strong vibe coming out of MS at the time that C# was the "real" .NET language, while VB.NET was a red-headed stepchild, a half-baked sop they'd thrown out to the huge community of VB developers so MS could say they weren't abandoning them completely. And since VB.NET was different enough from VB6 to effectively be learning a new language anyway, lots of folks figured that if they were going to have to learn a new language they may as well learn the one that MS really cared about.
      • tabtab 1593 days ago
        The "original" VB fell out of favor because the architecture didn't scale well. It was great for smaller projects, but shops that wanted bigger apps or stronger abstractions to avoid reinventing the wheel had an easier time with Delphi and C++ with libraries.

        This isn't necessarily a bad thing because it's hard to make both small projects and big projects happy at the same time. But MS decided to focus on "enterprise" because the profit margins are usually bigger there. Thus, they mostly abandoned the original VB.

        This sent a shock-wave through the industry because their code base couldn't go anywhere. It did give a boost to FOSS, because it's less likely that a heavily used FOSS product will be outright abandoned.

      • Scuds 1593 days ago
        There's "Fall out of favor within MS Developer Division, who has to build the future" and "Fall out of favor with line of business app developers."

        VB6 (runtime and language) was great for its time but it's an evolutionary dead end.

        > Was it because of Microsoft forcing VB into "just another skin" over .NET, i.e., a variant of C# that doesn't have curly braces? That's how it looks on the surface, but it's compiled, not interpreted, has an actual type system, threads, a proper standard library.

        There's also the need to gather the C++ Win32/MFC crowd and the VB6 crowd into a single tent.

      • vb6sp6 1593 days ago
        People are elitists and vb.net was seen as inferior to "real programmers who use c"
        • heyflyguy 1593 days ago
          Yep! "Not a real language", the guy in the cube next to me said in 2001.
  • WaltPurvis 1592 days ago
    I code in BASIC all day, every day, developing an application with Xojo. (https://www.xojo.com/)

    It has some issues, but it's still probably the best possible tool for making cross-platform desktop applications.

    I really enjoy the expressive power and/or other features of Swift, Go, and a few other languages, but if I could write code in only one language it would be an object-oriented BASIC like Xojo.

  • CarlGundel 1591 days ago
    Another point worth making is that there is no right or wrong language in many cases. If you enjoy programming in BASIC, or C, or SNOBOL, or bash, or Python, go knock yourself out. There's really no good excuse for language snobbery.

    If you need to program in a particular language at your place of work, or you want to learn a language to compete for a job then that's a different matter. ;-)

  • CarlGundel 1592 days ago
    I do code in BASIC a lot, but I admit to using my own compiler called Liberty BASIC so I am biased. I do see a lot of people complaining that BASIC isn't modern but this just isn't true today. There are many versions of BASIC and a lot of them do have modern structure and scoping and some even add object oriented features. Python isn't the new BASIC. BASIC is alive and well today.
  • Phylter 1593 days ago
    Does VB.NET count? I code in that all the time but only because my employer makes me.

    I still break out the QBasic once in a while. I have it in DosBox for when I get the itch. In AppleWin I toy with Applesoft Basic. I also play a bit with QB64 which is a modern QBasic clone.

    Normally I write code in C# or Python though. C# is my main language and it's what puts food on my table.

  • julienfr112 1593 days ago
    python is the new basic
    • musicale 1593 days ago
      Pretty much. Just like BASIC, Python is a gateway drug to all of computing.

      BASIC was designed with a simple, algebraic syntax to enable non-experts to learn how to write simple programs in an afternoon, and Python seems to follow in that mold.

      In fact, the following BASIC program runs fine in Python 2.7:

      a = 2

      b = 3

      print "Hello, world! Let's do some math:"

      print "a * b =", a * b

  • omarhaneef 1593 days ago
    Only if something really can't be done in excel natively -- and that gets more rare every year.
  • mattmoose21 1593 days ago
    I wrote some on-printer programs in basic recently as it was the only thing the printers could run.
  • gregjor 1593 days ago
    Yes, but it’s called Javascript now.
    • omarhaneef 1593 days ago
      Javascript because it is everywhere, or Python because it is so simple?
    • 8bitsrule 1593 days ago
      Me too, but javascript is so limited compared to the old 'terrible' BASIC. Stand-alone apps and full disk-I/O are sadly missing. Wish there was a way to do that.
  • saundby 1593 days ago
    Yes.

    XBASIC, QB64, and various BASICs specific to old computers I still use, like MBASIC on my Osborne 1.

  • ninjis 1593 days ago
    Yes, a derivative called UniBasic (which is itself a derivative of Pick BASIC) but the system it's used with provides an additional set of extensions to the language. UniBasic + extensions results in a language referred to as Envision.
    • blessmyheart 1592 days ago
      Oh man, UniBasic and DataBasic. I did that for 20 years until it fell out of favor here. I really miss it.
  • WorldMaker 1593 days ago
    Unfortunately I still have to do maintenance on ancient VB6 code. I'd rather not, and have been working to reimplement it in more modern environments, but you go to war with the budgets you have not the budgets you wish for.
  • spalt 1593 days ago
    We still do some development in .NET 3.5 VB (huge health care company). It rules and I love it. We do angular, node, c#, yadda yadda, also, but I will always return to my #1 (and first) love, BASIC.
  • chr 1593 days ago
    Nah.

      (prog ()
       10 (print "hello") 
       20 (go 10))
  • illegalsmile 1593 days ago
    I don't call myself a programmer at all but all my environmental dataloggers are programmed using CRBasic so yes I still write code in some form of BASIC if that counts.
  • ksec 1593 days ago
    I know there are still a lot of VB6 Apps in Small to Medium Business. And Visual FoxPro, which has a languages 99% similar to BASIC is still being used as well.
  • ddgflorida 1592 days ago
    No, but hard to beat Classic ASP for simple web apps. I wrote a BASIC interpreter with built-in SQL that was very useful for scripting.
  • dejv 1593 days ago
    No, but I’ve jut seen kit of scientific gear (ADC module) that boasted about having examples in both fortran and basic to make integration easy.
  • CarlGundel 1591 days ago
    Thirty+ years ago BASIC became a modern structured programming language, but so many people seem ignorant of this.
  • pubby 1593 days ago
    Nope!
  • russh 1593 days ago
    Occasionally, in tiny basic running on an Arduino powered robot when teaching classes at our local Makerspace.
  • jonathanstrange 1593 days ago
    I have an app for my own use written in Purebasic. I occasionally recompile it to keep it up to date.
  • vb6sp6 1593 days ago
    vb6
    • gus_massa 1593 days ago
      Me too, but it is getting harder and harder to install.
      • vb6sp6 1593 days ago
        there is a 3rd party installer that works pretty good (vs6installer) and there are dedicated\active forums for vb
      • perl4ever 1593 days ago
        VBA is still available in Office.
  • gourabmi 1593 days ago
    The last time I used BASIC was in 2001. QBASIC was <3
  • sdinsn 1593 days ago
    Still? I never have
  • zzo38computer 1592 days ago
    I still use BASIC for writing DOS programs.
  • bsdimp 1593 days ago
    The last actual BASIC I wrote was in 1985.
    • nighthawk24 1593 days ago
      wow, the first line in BASIC I wrote was in 1995. (millennial here)
  • DannyB2 1593 days ago
    10 CODE IN BASIC

    20 ???

    30 GOSUB 10

    40 PROFIT!

  • smnplk 1593 days ago
    qbasic 4.5