[HN Gopher] BASIC is anything but dead
___________________________________________________________________
BASIC is anything but dead
Author : samizdis
Score : 104 points
Date : 2023-03-28 09:32 UTC (1 days ago)
(HTM) web link (www.theregister.com)
(TXT) w3m dump (www.theregister.com)
| hghid wrote:
| Visual Basic was an incredible leap forward in programming in
| that it made programming accessible to much wider range of
| people. People that just wanted to make a computer perform a task
| without necessarily writing a commercial product or changing the
| world. Being a child of the 70's/80's, I was fortunate enough to
| learn by just diving in and writing Basic on a BBC Model B. I
| think the problem people have with BASIC is the 'B' for Beginner.
| It created a lot of snobbery. I remember being amazed when
| Windows came out because it brought a level of consistency to
| everyday software which meant that by and large you could get the
| basics of a piece of software without a manual. Before VB, there
| was a huge barrier to programming in Windows because for a long
| time it was C which, for all it's power, is not a language many
| people should be using. I suspect a lot of people here won't have
| experienced starting with an empty Window, dropping a Button on
| it, double clicking the Button and being dropped straight into
| the event handler code. It was a revelation. Especially when you
| realised that you got access to all of the other Windows goodies
| like printing, database access etc just by dropping a control
| onto a Form. Software development now is a long way away from the
| ease of access that VB gave us and is probably poorer for it.
| akrymski wrote:
| Isn't there still Visual Basic.NET? Along with a C# version, it
| had all the VB UI goodies as far as I recall.
|
| MS also had some awesome tech around DCOM in VB - transparent
| RRC was very futuristic at the time.
| jcadam wrote:
| I was 8 years old the first time I wrote a line of code, in BASIC
| on the family Apple ][e.
|
| Did that for a few years before moving on to AMOS (also a BASIC,
| though definitely more modern and useful -- it even had a
| compiler) on the Amiga.
|
| The summer after Junior High I started learning C on DOS (Turbo
| C!) and at that point I was done with BASIC.
|
| I don't think I could have started with C in grade school, BASIC
| is what got me hooked on programming :)
| RedNifre wrote:
| If you'd like run classic BASIC programs on your old programmable
| calculator (HP 15-C) you can use this compiler written in Idris:
| https://gitlab.com/michaelzinn/voyc
| lholden wrote:
| I started programming with BASIC back in the late 80s and into
| the early 90s. Started with gw-basic and then with QBasic, both
| of which were included in versions of DOS.
|
| QBasic was really cool at the time. I wrote a lot of (very crappy
| and slow) games in it. The documentation was all readily
| available and it had a lot of power. QBasic (and VB) were very
| "batteries included" and that was amazing.
|
| But, and this may sound harsh, I've always felt that BASIC was a
| language of desperation. You use it because it's the only thing
| available to you, not because you actually want to use it. There
| was a time where some form of basic was available on literally
| every computer. This continued well past the 80s with VBA and
| gave a lot of people the power of extensibility over their
| applications.
|
| Back when I was writing a lot of BASIC code, I quickly found
| myself running into walls and realizing that it just wasn't a
| great environment to build anything serious in. The lack of a
| real compiler in DOS was the primary reason I found Linux and C
| in the mid 90s. Once I had my hands on a C compiler I never
| wanted to look back ever again.
|
| (I know that QuickBasic and Visual Basic existed and could create
| binaries. But, I was young and couldn't exactly afford them.
| Before finding C, I was using a BASIC environment called ASIC,
| which wasn't quite as nice as QBasic, but could produce
| binaries.)
|
| It makes me wonder how things might have been different for me if
| DOS came with a C compiler and something like raylib. The lack of
| a real (free) compiler drove me to Linux. Would I have still
| gotten into Linux? I don't really know!
| wvenable wrote:
| You never got to the stage of pirating QuickBasic off of a BBS
| somewhere. I went from 8bit BASIC to QBasic to QuickBasic and
| then to VB. I even started writing some assembler and linking
| it with QB code.
|
| QuickBasic and all the variants filled a niche that exists in
| multitudes now but did not exist in the early 90s. There
| weren't many high-level languages with garbage collection in
| common use.
| lholden wrote:
| I would have if any of the BBSs I was on had it :). I just
| downloaded a boatload of SLS Linux floppy images from a BBS
| instead! :D
| wvenable wrote:
| At that time I was developing on a 286 -- Linux was still
| far in my future.
|
| But all my friends had pirated copies of every development
| tool. I don't know how we even got it all. We were lucky to
| be adjacent to a larger city and therefore have closer
| access to files and information.
| dspillett wrote:
| _> I know that QuickBasic and Visual Basic existed and could
| create binaries._
|
| Very small binaries. Unfortunately you had to include the
| rather large run-time libraries with them (BCOM*.LIB or
| vbrun*.dll respectively). IIRC vbrun300.dll was >300MByte which
| was rather large at the time, as well as the library functions
| it contained an interpreter and your executable wasn't fully
| native code (your code was transpiled to something the
| interpreter could process more efficiently, and the executable
| had a small chunk of native code to load the RTL and get it to
| execute the rest). IIRC VB6 was the first version to properly
| compile to native code.
| wvenable wrote:
| There were 3rd party replacement libraries the QuickBasic
| standard libraries that were much smaller and faster.
| mattl wrote:
| 394KB, which I'm sure you meant... but nothing compared to
| anything from today.
| masfuerte wrote:
| For comparison, my professional vb3 work was done on a
| computer with a 200MB hard disk. The word2 exe was about 1MB.
| Zardoz84 wrote:
| TurboBASIC was fully compatible with QBasic/QuickBasic and
| could generate executables .
| sedatk wrote:
| The article delves into VB's alternatives only, but VBA (Visual
| Basic for Applications) is also very much alive. My brother uses
| Excel VBA to teach Decision Support Systems and Genetic
| Programming at the university. Excel provides a very capable and
| easy to use environment for data modeling, and Visual Basic
| provides ample functionality for implementing algorithms on top
| of it with zero setup cost.
| retrocryptid wrote:
| And people tease me for liking COBOL! (Seriously though, for a
| certain class of problems, BASIC is fine.)
| shever73 wrote:
| For smaller projects, VB6 was great. I wrote a number of tools
| with it. For anything large-scale, things could get out of hand
| quickly. I remember having to work on localising a VB4-based ERP
| system that was very slow, unwieldy and full of spaghetti code.
| david927 wrote:
| And in the 90's, what people would do is to do the prototype
| with VB and expect to write the app in something else. But then
| the executives would see it, think it's 80% done because the UI
| was done, and push forward with it in VB. Or it would start out
| as a small, niche app in VB and then grow in scope.
|
| Either way, what would start off rationally would end up in
| chaos. Part of that was the language, and Microsoft is to blame
| there; the fix, C#, came too late. But the other, larger part
| was the failure of component development. And that's what
| people miss and that's what still remains to be solved.
| toyg wrote:
| _> the fix, C#, came too late_
|
| Because it wasn't a fix for VB - it was just the answer to
| Java.
|
| Somewhat unfortunately, that "answer" swallowed the whole MS
| development ecosystem, and the VB world never really
| recovered.
| david927 wrote:
| I'd argue. I think it was both.
|
| Yes, it was an answer to Java but remember, VB apps didn't
| scale. They exploded at scale. And no matter how much you,
| as an organization, promised yourself you wouldn't scale up
| that VB app, it kept happening. So it was also an attempt
| to try to fix that.
| starik36 wrote:
| > unwieldy and full of spaghetti code
|
| When I was young, I saw the same until I worked with a team of
| professional devs and the code was clean and performant and
| easy to get around in.
|
| > VB4-based ERP system that was very slow
|
| Yep. VB4 was made for the transition from Windows 3.1 to 95.
| The first effort was good enough but not great. IIRC, it
| compiled to byte code and then a runtime would interpret it.
| Once VB5 came out with native compilation, the resulting code
| became very snappy.
| Sohcahtoa82 wrote:
| When I was young and stupid I was trying to learn game
| development in VB6. I had a type library that provided bindings
| for DirectX. This was in the late 90s, so I would have been on
| Windows 98.
|
| I learned quickly how SLOW VB was, but was in denial about it.
| I wanted to make it work, but anything that required more than
| a few lines of logic made it impossible to maintain even 30
| fps. At the time, though, I was afraid of C/C++. I thought
| "Those languages are too complicated! Why would anyone use them
| when VB is so simple?"
|
| Yeah...I learned.
| shever73 wrote:
| In my naivety at Windows software development, I wrote an
| animated screensaver in VB6. It performed about as well as
| you just described!
| signaru wrote:
| I used to have an irrational fear for curly braces and
| semicolons, given BASIC looks clean and simple. I see that
| now in some young programmers who try to stick to Python.
| Interestingly, seeing Rust code for the first time also
| reminded me of that.
| Zardoz84 wrote:
| Back to these times. I try to remake a N body problem
| simulator. I was trying to imitate an old DOS program called
| "GRAVITY.EXE" on VB6 I throw it, when I saw that my VB6 was
| slower that the old 16 bit DOS program, and that setting the
| timer control to throw events too fast, could make Windows
| unresponsive.
| WillAdams wrote:
| I've always wished that MacBASIC hadn't been canned:
|
| https://www.folklore.org/StoryView.py?story=MacBasic.txt
|
| and would give a lot for something contemporary and cross-
| platform along those lines which was likely to stay around.
| Thought that was going to be Runtime Revolution/Livecode, but
| that went back to closed source --- I suppose I should look at
| Lazarus/FreePascal (but I didn't do well with Delphi back in the
| day).
|
| Applescript Studio seemed promising --- really wish that that had
| been opened up to make iOS apps.
| lockhouse wrote:
| It was mentioned briefly at the end of the article, but I think
| Free Pascal and Lazarus are the closest in spirit to what Visual
| Basic classic was.
|
| It's the best drag and drop interface builder I've seen in an
| open source project and it's cross platform and compiled to
| static binaries for easy distribution.
| lholden wrote:
| I think Qt Creator deserves a mention as well. It's a batteries
| included c++ environment with drag and drop GUI building and
| etc.
| themodelplumber wrote:
| Lazarus is really nice.
|
| In BASIC land, the QB64pe project has a maintainer for Inform-
| pe, a pretty straightforward drag & drop interface builder:
|
| https://qb64phoenix.com/forum/showthread.php?tid=1311
|
| Here's an example running under QB64 (though not Phoenix
| Edition/pe):
|
| https://www.youtube.com/watch?v=a9pNGBaIr94
|
| Background on the Phoenix Edition:
|
| https://qb64phoenix.com/forum/showthread.php?tid=259
|
| There's also Purebasic and Gambas, though Gambas isn't cross-
| platform...
|
| https://www.purebasic.com/
|
| https://gambas.sourceforge.net/en/main.html
|
| Zooming further out you have e.g. Defold and Cerberus X, which
| I'm not sure about the drag & drop but GUIs are certainly
| doable.
|
| https://defold.com/
|
| https://www.cerberus-x.com/community/index.php?pages/about/
|
| Then there are Wonkey and wxBasic...
|
| https://wonkey-coders.github.io/
|
| https://www.wxbasic.net/
|
| Et cetera... :-)
|
| Personally I'm pretty fascinated by the way these projects
| typically center around a traditional forum, with various
| software structures in place that shape the user experience.
|
| For example, prolific library authors may be invited to publish
| directly to their own subforum and kind of use it as their own
| website, etc.
|
| When new projects start, spin off, fork, etc, the forum is
| often the first part of the user experience to see created,
| frameworked and decorated in depth.
| timw4mail wrote:
| How do you actually find decent documentation for Lazarus
| though?
| themodelplumber wrote:
| Decent is really subjective, so maybe a good starting point
| is to give an actual example or specification of what
| you're looking for.
|
| One advantage of this particular coding ecosystem is that
| you can use Delphi docs, techniques and tutorials as well,
| which can be helpful to know.
|
| But if your specification is "cover all aspects of Lazarus
| itself at confirmed 1:1 functionality with the current
| major version" then it might be a difficult ask.
|
| There are some really great resources out there, but they
| are not going to meet every definition of decent docs.
|
| For me it was enough to watch some YouTube tutorials[1] to
| get the gist, identify some idiomatic workflows, start
| building, do a bit of searching in different documentation
| resources, and ask follow-up questions at the forum.
|
| It's nice that we can also ask ChatGPT for help these days
| too.
|
| 1. I thought this was a good example of a set of YouTube
| tutorials demonstrating working with Lazarus: https://youtu
| be.com/playlist?list=PLYT8oqHJjWzTsIzzGN-Y1wKM9...
| xet7 wrote:
| https://wiki.freepascal.org/Lazarus_Documentation
|
| https://www.blaisepascalmagazine.eu/product-tag/lazarus-
| book...
| signaru wrote:
| What I've often found was documentation for Delphi. There
| are many cases where they work just the same.
| actionfromafar wrote:
| https://www.radbasic.dev/ <--- also an interesting take
| danielodievich wrote:
| The company I worked for in 1996 made all kinds of money from
| Visual Basic development for clients. We built what one would
| call a CRM system, we built a legal document management system,
| we build a CMS for early web site publishing (kinda sorta echoing
| wordpress), we build a timecard entry system. The rapid prototype
| and good debugging support meant quick time to market. And you'd
| still be able to run them all with the VB6 runtime preinstalled
| on every windows machine in the world. I recently discovered
| various projects of that era on my archive and was kind of
| scratching my head on what those .cls files meant, and chuckling
| over my comments from 30 years ago...
| Yhippa wrote:
| This is a great point. I haven't run into an easier visual
| prototyping system that's accessible and fairly close to what
| the end user would see from an interaction perspective. Did
| this way back in undergrad. Used VB to quickly visually
| prototype and then Visual C++ for the final project.
| spiralx wrote:
| I got into programming using GFA Basic on the Atari ST, which
| had:
|
| * no line numbers
|
| * indentation-based code blocks for conditionals, loops etc.
|
| * string/byte/word/float/boolean variables
|
| * pointers
|
| * arrays, hashes and record types
|
| * editor with auto-indenting, code folding and immediate error
| highlighting
|
| * a super-fast interpreter and the ability to compile programs
|
| * 600+ function library covering hardware/OS calls, matrices,
| collections etc
|
| Really, it was an amazing language and I was very lucky to start
| on it, as it made the jump to Turbo Pascal a few years later
| relatively painless.
|
| GFA Basic v3 Manual -
| http://www.atarimania.com/st/files/GFA_BASIC_Version_3_Inter...
| GFA Basic for Windows -
| https://gfabasic32.blogspot.com/p/about.html
| major505 wrote:
| Just curious, theres something like vb6 gui rad tool today for
| multi platform projects (like it runs in windows, linux and mac)
| but for a more modern language?
| nuc1e0n wrote:
| Python ain't so different to BASIC.
| analog31 wrote:
| I used VB5 or VB6 for more than a decade, and HyperCard before
| that. The first thing I did when I got an academic job was to buy
| VB5 at a discount. I loved the simplicity of drawing the GUI and
| then adding functionality to it. Every other tool involved
| additional complexity that didn't seem to add value, though I
| didn't explore every possible alternative.
|
| When I started using Python, I missed being able to draw my GUI
| with the ease of VB, but not for very long. I discovered that
| building a GUI with Tkinter was nearly as easy, except for the
| part about laying it out visually. But I also read enough
| critiques of GUI's, to know that my own layouts were actually
| quite mediocre, and that a simple top-down layout using Tkinter's
| defaults was usually no worse.
|
| So, VB certainly got me to a certain point, for which I'm
| grateful, but I no longer feel a desire to go back there.
| GartzenDeHaes wrote:
| One other thing that VB did well was integrate with Windows COM
| components. I was working on a scientific application at the
| time. Just for fun, I spent a half an hour to add a button on the
| data grids that would start Excel and push the data over. The
| scientists were more excited about the Excel integration than the
| actual statistical analysis features I was working on.
| cbazz wrote:
| [flagged]
| meindnoch wrote:
| Can you please fuck off from HN with your obviously GPT-
| generated trash comments? Thanks.
| Sohcahtoa82 wrote:
| This is such an obviously AI-generated comment.
| bioemerl wrote:
| In my opinion basic was not about the language. It wasn't that
| easy to understand, it wasn't that powerful, it was slow.
|
| It was about simplicity, it was easy to make sound. To draw to
| the screen.
|
| It was about accessibility. Computers with it would boot right to
| a basic prompt. To use a computer was to program, and you were
| certain to naturally be exposed to programming and learn by doing
| rather than in a classroom.
|
| It was also about the fact you could easily open up other
| programs and read and modify them, much like older fashioned web
| and HTML.
|
| That's why these new basic projects fail so often. Python is
| simply better, and the ease of use of modern computers and phones
| means that the push basic used to have is just gone.
|
| Basic is being able to hear your data when you play it on a tape.
| It's about being able to cheat in your game by changing the code.
| It's typing code in from magazines and making games in math
| class. It's warm and fuzzy and you just can't bring it back.
| Sohcahtoa82 wrote:
| > It wasn't that easy to understand
|
| Out of all the complaints I've seen about BASIC/Visual Basic,
| this has never been one of them.
| Mizoguchi wrote:
| Reading and debugging code filled with gotos can be a real
| nightmare.
| Sohcahtoa82 wrote:
| Later dialects of BASIC had code blocks and functions,
| making GOTO unnecessary. If you were using GOTO in your
| BASIC code in the 90s, you were doing it wrong.
| skeeter2020 wrote:
| OK, then what about "On Error Resume Next"? ;)
| ipaddr wrote:
| try / catch replaces that today
| Sohcahtoa82 wrote:
| try / catch is almost he opposite of On Error Resume Next
|
| OERN would make it so uncaught errors were silently
| ignored and execution would just continue on the next
| line as if nothing wrong happened. This would likely
| result in more errors, which would then also be ignored.
| Sohcahtoa82 wrote:
| The absolute smelliest of code smells.
| skeeter2020 wrote:
| BASIC is very verbose and diluted syntax. This makes it great
| when you're coming from say English as your language, but it
| makes absorbing a larger system slower and and harder IME. It
| also jumps through some hoops to accomplish lower-level or
| peripheral tasks, which makes understanding what is actually
| happening at a conceptual level more difficult. So I think
| the correct level of "UNDERSTAND" needs to be considered.
| bioemerl wrote:
| It's easy _for a programming language_.
|
| However, if someone is going to learn, I'll bet they'll pick
| up python in a similar amount of time, and get a lot better
| tools when they do it.
| Sohcahtoa82 wrote:
| Well yeah, but remember the context here. We're not talking
| about programming languages _today_.
|
| BASIC was invented in _1963_ and exploded in popularity in
| the late 70s. Python 1.0 didn 't come out until 1991.
| johnmaguire wrote:
| But we are talking about programming languages today. The
| article in question is "Nostalgic for VB? BASIC is
| anything but dead." The article details alternatives you
| can run today, such as FreeBASIC.
|
| The commenter you're replying to argues that BASIC no
| longer has the advantages it had in 1963, which are
| unrelated to the language syntax, and that Python offers
| a closer alternative in that it makes programming
| accessible.
| ipaddr wrote:
| Invisible spaces and/or tabs are important in Python which
| makes it more difficult.
| chowells wrote:
| If they're invisible, your text editor is doing something
| very wrong. They cause a fixed amount of blank space that
| otherwise would not be present. That is very visible.
| ghaff wrote:
| Yeah, but that's the sort of thing you more or less learn
| about on the first day and a decent editor/IDE mostly
| removes it as an obstacle.
| ptx wrote:
| If Visual Basic is supposed to be for beginners, it's
| surprisingly complicated.
|
| It has both value types and reference types and both can be
| passed either by reference or value, giving four ways of
| passing parameters compared to Python's one way.
|
| It has both early and late binding, compared to Python which
| again has only one kind.
|
| It has "default properties" on objects, which lets you
| sometimes use some objects directly in place of some of their
| properties but sometimes not.
|
| It has different syntax for function calls in expressions and
| statements, combined with a completely redundant third way
| (the "call" statement) that confuses matters further.
|
| And in addition to being both statically and dynamically
| typed (with "Object" declarations) it's also both strictly
| and loosely typed (with Variant values).
| mcbishop wrote:
| A strictly-enforced style guide can remove that confusion.
| My struggle with VBA is mostly around idiosyncracies in the
| Microsoft Excel object model (e.g. a "window" object has
| members for both the entire workbook and for a single
| worksheet).
| CydeWeys wrote:
| And don't forget subroutines vs functions. Yet another
| pointless distinction that makes things harder and resists
| refactoring.
| mynameisvlad wrote:
| It was also created 16 years before the first version of
| Python, 36 years before Python2.
|
| It was written in time with completely different paradigms
| and the two languages weren't even built with the same
| design considerations in mind.
|
| Obviously, newer languages are going to tend to be easier
| to work with for beginners, that should be a given. We've
| made massive improvements in the field in the last few
| decades.
| ptx wrote:
| Scheme was created 16 years before Visual Basic and has
| none of these problems, so I don't see what the age of
| the language has to do with how difficult it is to
| understand. (Also, Python and Visual Basic were actually
| both created in 1991, so they're contemporary.)
| [deleted]
| mynameisvlad wrote:
| Basic was created 11 years before Scheme, and VB was
| itself derived from Basic, so would have had much of the
| same design decisions and considerations as a result.
| ptx wrote:
| The question I was addressing was whether it was "easy to
| understand". I'm sure there are explanations for _why_ it
| 's such a complicated language, such as e.g. the "call"
| statement probably being there for compatibility with
| QBASIC which required it in some corner cases.
| [deleted]
| quietbritishjim wrote:
| > Obviously, newer languages are going to tend to be
| easier to work with for beginners, that should be a
| given.
|
| The whole point of this comment chain is to discuss
| whether BASIC was easy to use so it's clearly not a
| given.
| ambyra wrote:
| I noticed basic is simple and easy to read if you don't try
| to add structure to your program. As soon as you start
| messing with functions, arrays, variable types, it all
| becomes a mess.
| DrJokepu wrote:
| No, I get what they're saying, especially with older dialects
| such as C64 BASIC. It may be approachable to beginners, but
| the thought of trying to maintain software written in it
| isn't incredibly pleasant.
|
| On the C64, I find even 6510 / 6502 assembly to be easier to
| follow than C64 BASIC.
| actionfromafar wrote:
| On all these 8-bit platforms, you could only do so much
| until RAM was full. So there was a built in escape hatch
| for complexity.
| lockhouse wrote:
| There's nothing inherently slow about Basic. There were several
| implementations of Basic compilers that were plenty fast
| enough. Sure, they weren't as fast as C, C++, Pascal, and
| Fortran, but they were good enough to make commercial software
| with.
| bhauer wrote:
| Exactly. For example, GFA Basic, mentioned in the article,
| was quite fast, especially when compiled.
| musicale wrote:
| The first BASIC implementations were compiled. In fact,
| compilation to machine code was one of the 4 original
| requirements for the language when it was first developed as
| a language for the Dartmouth College time-sharing system
| (efficiency and performance being directly related to the
| number of users that the system could support.)
|
| Many early BASIC implementations for microcomputers (such as
| tiny BASIC) prioritized memory usage over speed, so they
| tended to favor interpreters. But as others have noted,
| numerous compiled BASIC implementations existed as well.
| zabzonk wrote:
| actually, basic being so slow might be some kind of good
| feature. one of the first programs i ever wrote was an
| implementation of conway's game of life in basic on a z80 cp/m
| machine. i was unhappy with the results. this made me learn z80
| assembler so i could get it to run much, much faster.
|
| but probably, looking back from old age, what i should have
| done was improve the algorithms i was using.
|
| i think basic is a good thing. perhaps a bit sad that people
| today do not have instant access to it.
| musicale wrote:
| Maybe programming is dead due to app stores on one hand and
| AI on the other, but I still wish that web browsers included
| an easy and visible onramp to the rather capable and powerful
| JavaScript language that is built into every one of them.
| zokier wrote:
| You are talking about different BASIC of different era, a
| decade before VB.
| musicale wrote:
| > It wasn't that easy to understand
|
| Yes it was.
|
| https://www.dartmouth.edu/basicfifty/basicmanual_1964.pdf
| czx4f4bd wrote:
| These vintage BASIC games' code looks clear as mud to me.
|
| http://www.vintage-basic.net/bcg/superstartrek.bas
|
| https://www.atariarchives.org/basicgames/showpage.php?page=1.
| ..
| Kwpolska wrote:
| This is 1964's BASIC, and it is quite basic (if you pardon
| the pun). It had no form of functions or procedures, not even
| the most elementary "GOTO and remember where you came from so
| you can return here later". If you look at a more modern
| Basic implementation, they are more complex, and tend to have
| pointless complexities like differentiating Sub and Function
| procedures or two call syntaxes.
| musicale wrote:
| That's kind of the point. BASIC was conceived as a
| simplified FORTRAN that beginners could learn in an
| afternoon but which was capable enough to enable them to
| write useful programs.
|
| 1964 BASIC did support single-line function definitions
| (see page 13.)
|
| Dartmouth BASIC kept evolving into the 1980s and seems to
| have turned into a pretty capable language that retained
| much of the accessibility of the original. I wonder what
| would have happened if True BASIC had been a free/open
| source project instead of proprietary software.
| zozbot234 wrote:
| It was capable enough for writing very simple programs on
| one of the earliest time-sharing systems (DTSS). Not
| really what we'd consider "useful" today, though. To be
| fair, you hit the limits of usability pretty quickly on
| any 1960s language. Even text editing was comparatively
| kludgy back then, which is why BASIC used line numbers to
| ease line editing on teletype terminals. There was no
| point to a "free-form" language since everything was
| entered line-by-line to begin with.
| mberlove wrote:
| IMHO the key distinction is between BASIC, the group of
| languages, and VB, the SDK. The article notes this but I think it
| is really the crux. In other words, did BASIC draw us in because
| it is a straightforward language? Or because of the power that VB
| provided?
|
| As others point out, many hobbyists still use variants of
| BASIC...I don't think we can claim it's the most practical
| language for most uses, but it has its niche for sure, and is fun
| to use.
|
| Visual Basic, however, while at the time representing a
| _fantastic_ entry point to development (at least it was for me),
| has been legitimately replaced by other, newer models, some of
| which the article notes.
| rqtwteye wrote:
| "Visual Basic, however, while at the time representing a
| _fantastic_ entry point to development (at least it was for
| me), has been legitimately replaced by other, newer models,
| some of which the article notes."
|
| Before VB setting up a GUI application was hard and required a
| lot of specialist knowledge, then VB made it easy, and its
| replacements on the web are making it hard again :-). I still
| don't know an easy way to set up a web with a database that
| also allows you to go into depth if needed.
| Sohcahtoa82 wrote:
| Yeah, I loved VB's drag-and-drop method of building a GUI.
| Are there any programs out there these days that will let you
| drag-and-drop components to build a web page?
| mattl wrote:
| There are some drag and drop webpage builders for WordPress
| and things like Squarespace which are mentioned ad nauseam
| on podcasts and YouTube channels which promise something
| like it too.
| dr-detroit wrote:
| [dead]
| brunovcosta wrote:
| You should try: https://www.abstracloud.com/editor
|
| It is VB, but for Python and for the web!
| marcodiego wrote:
| > Nostalgic for VB?
|
| No. I actually liked VB when I was a teenager. It was very easy
| and (using ms parlance at the time) quick to develop small
| applications. For me it was not much more from a mere toy. I know
| some people used it for serious purposes, but I'm sure many of
| these uses were makeshift prototypes that eventually nobody had
| the time or money to rewrite. I don't think many serious and
| popular apps were written in VB and were maintained for a long
| time. I don't think it was adequate for that purpose and I don't
| know anyone who thought it was.
| RajT88 wrote:
| I used to do support for software developers.
|
| I used to joke that anyone claiming to be a "Very senior VB
| developer" was basically saying, "I don't know how computers
| work".
|
| While it was a funny way of blowing off steam (and indeed
| senior VB devs didn't seem to know things like calling
| conventions or static linking), therein lies the miracle of VB.
| People could make business applications without having to know
| that stuff.
|
| Often enough, they had VB devs for the frontend, and the heavy
| lifting done in *.dll's written by more hardcore C++ devs. I
| guess it worked out well enough that way.
| jdwithit wrote:
| I also got a copy of VB (I think VB4) as a teenager and it was
| a perfect stepping stone into GUI programming. I had been
| writing DOS games in QBASIC for years, and some basic (heh)
| C/C++. But the leap to writing Windows apps in C++ was
| _terrifying_. There was so much more to learn. What the heck is
| an SDK and why does the Windows SDK contain like 5 trillion
| different functions, many of which have ALMOST the same name
| and method signature? What is an event? What on earth is a
| CORBA or an OLE? As a teen with no mentor and no resources
| besides books and the early web it was overwhelming.
|
| But VB did so much of the work for you. And it was BASIC, which
| I already knew well. So it was exactly what I needed to
| understand the fundamentals without having to boil the whole
| ocean at once just to get a window with a button on my screen.
|
| Agree it wasn't really suitable for large scale projects
| (although it got used for them anyway heh). Somehow VB apps
| always looked and felt "wrong", like they were a cheap
| knockoff. But for learning, and writing quick non-commercial
| apps, it was just right.
|
| All that said, I feel no nostalgia or desire to go back.
| hnthrowaway0328 wrote:
| I think nowadays Python is the new BASIC. It has an interactive
| mode; It has access to a hell amount of libraries and APIs one
| can imagine; It is easy to program. I'm sure it can open the door
| for so many kids.
| wvenable wrote:
| What's a library? What's an API? Visual Basic was much more
| approachable than Python because it didn't even have those
| barriers.
| dragonwriter wrote:
| Classic VB had libraries and references to them. And an API
| is just whatever interface any piece of code exposes, and it
| definitely had those.
| wvenable wrote:
| But you didn't even have to open the references dialog to
| create an application.
|
| VB was great because it made easy stuff easy but it also
| made more difficult stuff possible. You could reference
| other libraries, of course. You could also directly call
| Win32 APIs. But you didn't need to that. You didn't need
| any boilerplate or ceremony -- you could drop a button on a
| form, double-click on it to add code, and make it do
| something without knowing anything about the infrastructure
| to make that possible.
|
| As far as I know, there are no tools that do something
| equivalent now that aren't so sandboxed that it's a dead
| end.
| helf wrote:
| [dead]
| lelanthran wrote:
| > I think nowadays Python is the new BASIC.
|
| Maybe, but it certainly isn't the new Visual Basic.
|
| Even in (was Delphi, now) Lazarus, there's much more to know
| when you need to create a simple application.
| FpUser wrote:
| My first "language" was straight machine codes. I have then
| "progressed" to assembly, C and many other languages. For some
| reasons I've never liked Basic and whenever I had a choice I
| would avoid it.
| empressplay wrote:
| There's a web-based Applesoft BASIC editor that runs in emulated
| ProDos and has a large library of BASIC software that can be
| directly loaded (via the dropdown selectors in the top-right) at
| https://paleotronic.com/applesoft/
|
| There's even the original BASIC version of Oregon Trail!
|
| For a native BASIC interpreter, there's an enhanced version of
| Applesoft BASIC built-in to the microM8 Apple II emulator -- it
| has various enhancements including 3D voxel graphics and the
| ability to draw in SHR (Super Hi-Res)
| https://paleotronic.com/microM8
| goosedragons wrote:
| I recently picked up SmileBASIC for the Nintendo Switch. I
| haven't done anything yet with it but it's kinda wild it exists.
| WorldMaker wrote:
| Hard to be nostalgic for VB when your day job includes a VB6
| development rube goldberg machine of multiple VMs to continue to
| maintain/debug a "not broke" application in 2023. It certainly
| feels quite broken given the complexity of the rube goldberg
| machine, but the business priorities to lift/shift/rewrite are
| always behind the priorities to keep the current users happy.
| zwieback wrote:
| I think VB was such a smash hit not because of the language but
| because the ease of writing a quick GUI for Windows, there wasn't
| really anything quite like it at the time. Other GUI builders
| existed but were harder to use and not as well integrated.
|
| The appeal of VB lives on in WinForms with C# as the backing
| language. Initially MS tried hard to keep VB.Net around as a
| fully emancipated partner but it turns out everyone just moved
| over to C#.
| jodrellblank wrote:
| > " _Initially MS tried hard to keep VB.Net around as a fully
| emancipated partner_ "
|
| Not very hard[1]; " _making Visual Basic.NET not backwards-
| compatible with VB 6.0. This was literally the first time in
| living memory that when you bought an upgrade to a Microsoft
| product, your old data (i.e. the code you had written in VB6)
| could not be imported perfectly and silently. It was the first
| time a Microsoft upgrade did not respect the work that users
| did using the previous version of a product._
|
| _And the sky didn't seem to fall, not inside Microsoft. VB6
| developers were up in arms, but they were disappearing anyway,
| because most of them were corporate developers who were
| migrating to web development anyway. The real long term damage
| was hidden._
|
| _With this major victory under their belts, the MSDN Magazine
| Camp took over. Suddenly it was OK to change things. IIS 6.0
| came out with a different threading model that broke some old
| applications. I was shocked to discover that our customers with
| Windows Server 2003 were having trouble running FogBugz. Then
| .NET 1.1 was not perfectly backwards compatible with 1.0. And
| now that the cat was out of the bag, the OS team got into the
| spirit and decided that instead of adding features to the
| Windows API, they were going to completely replace it. Instead
| of Win32, we are told, we should now start getting ready for
| WinFX: the next generation Windows API. All different. Based on
| .NET with managed code. XAML. Avalon._ "
|
| [1] https://www.joelonsoftware.com/2004/06/13/how-microsoft-
| lost...
| zwieback wrote:
| I meant they tried hard to keep C# and VB.Net equal, not
| VB.Net backwards compatible to VB Classic
| wvenable wrote:
| As a classic VB and C# developer, that was their mistake.
| VB.NET has no reason to exist. If it was much more
| backwards compatible with VB Classic it would have had a
| reason to exist -- it would have allowed VB projects (of
| which there were millions) to migrate over to .NET
| smoothly.
| kevin_thibedeau wrote:
| VB.Net had features that didn't have a C# cognate expressly
| to simplify migration.
| Turing_Machine wrote:
| > I think VB was such a smash hit not because of the language
| but because the ease of writing a quick GUI for Windows, there
| wasn't really anything quite like it at the time.
|
| I agree completely. The language itself was pretty crap, but
| there was nothing like it for rapid layout and wiring of a GUI.
| IMO, even modern tools like the storyboards and visual
| components in Xcode don't quite make it (they're more powerful,
| certainly, but also much more complicated to use).
| signaru wrote:
| Basically how Pascal still exists in Delphi/Lazarus. I'm not
| a fan of the language, but Rapid cross-platform GUIs that
| compile to native code instead of bytecode that anyone can
| just drop to ILSpy are really compelling.
| msla wrote:
| BASIC is ripe for a classic if-by-whiskey argument:
|
| If by BASIC you mean the line-numbered language with single-
| character global variable names, with no flow control beyond GOTO
| and maybe GOSUB, which encouraged, nay, demanded humans crunch
| their own programs by removing as much whitespace as possible to
| fit them in RAM, then it wasn't a good language.
|
| If by BASIC you mean the block-structured language with most
| modern flow control features, normal ideas about variable names
| and scope, which allows people to write GUI applications in a
| short period of time using GUI builders and easy access to
| libraries written in other languages, then it is a good language,
| but still not my favorite.
___________________________________________________________________
(page generated 2023-03-29 23:02 UTC)