Hacker News new | past | comments | ask | show | jobs | submit login
EndBASIC 0.10: Core language, evolved (jmmv.dev)
83 points by mmastrac on Dec 31, 2022 | hide | past | favorite | 18 comments



Hello! Author here (again). Thanks for the submission and surprised to see it in the front page once more.

As dang writes, this hit the front page a couple of times before, and in particular some months ago in https://news.ycombinator.com/item?id=31651881 . I answered a lot of questions back then and received the obvious feedback: "There is no GOTO, so this is not BASIC". Well, that has been fixed now in this release :) Be warned that there still are a lot of new/different rough edges...

Please keep the questions/feedback/comments coming and have a happy new year!


I’m very happy to see you add support for ON ERROR RESUME NEXT, the single best answer to robustness issues our industry has ever come up with!


"""

ON ERROR RESUME NEXT

... do something ...

IF ERRMSG <> "" THEN RETURN

... do something else ...

IF ERRMSG <> "" THEN RETURN

"""

doesn't seem very different to what that other famous language does (:


I have fond memories of QBASIC, so this looks excellent! I'll have to give it a run. Where's the best place to stay up to date on roadmap and releases? That site, github, twitter, etc?


For the roadmap, I tried to capture most of the things that are in my mind in GitHub issues. Well, I did a good job at that a year ago but... haven't kept up with more-recent ideas; I'll try to capture them!

For releases and other content, the endbasic tag in my blog is the best source of information: https://jmmv.dev/tags/endbasic/

Thanks!


Will a native compiler be planned?

I like FreeBasic.. unfortunately no official support for MacOS (only Windows, Linux, DOS).


I don’t have plans for a native compiler right now. (But just to clarify: note that the interpreter runs on these systems just fine; the web version is only one of the supported platforms.)

What I have in mind at the moment is building a better IR and VM, along with a simplified memory model, so that the “assembly language” can be inspected from within the environment and so that PEEK and POKE can become a reality. It’d be nice to have a simplified "full stack" machine in which to play with all levels of abstraction—from high level programming to its assembly counterpart.

But compiling to WASM has also crossed my mind… so I’m not yet sure what I’ll do.


Just want to applaud and support your work.

In 1983, just out of college, I moved to Seattle with my wife and started working for a firm ("TOM Software") that was porting the Wang Basic-2 language to the then-emerging line of 16 bit microprocessor systems running some variant of UNIX.

I invested a lot of time and effort in the project. It was a great project and I learned a lot about language systems.

I hope this project is similarly rewarding for you. I wish you success and a lot of fun with it!


Related:

EndBASIC - https://news.ycombinator.com/item?id=31651881 - June 2022 (118 comments)

EndBASIC [video] - https://news.ycombinator.com/item?id=29317048 - Nov 2021 (4 comments)

Show HN: I've built a BASIC interpreter with DOS-like features for the web - https://news.ycombinator.com/item?id=27744370 - July 2021 (1 comment)

Why am I wasting time on EndBASIC? - https://news.ycombinator.com/item?id=25884859 - Jan 2021 (45 comments)


A fun semi-related discussion 5 months ago with lots of anecdotes that also links several BASICs that are still alive:

2022-08-04 https://news.ycombinator.com/item?id=32349516 All about QBasic and QuickBasic


Cut my teeth learning basic on a TI83 and an instruction manual with tiny type. My goal was to make programs for my algebra test to “cheat”. How silly of me - learning the subject well enough to create a program for it was the best way to study.


That's the premise of "Danny Dunn and the Homework Machine", part of a series I enjoyed in elementary school around 1980, but written in 1958.

That book is digitized at Archive.org (because of course it is), so I can quote https://archive.org/details/dannydunnhomewor00will/page/136/... after the kids have gotten an award for doing more and harder homework than the rest of the class, through the use of the "Miniac" computer, which they had programmed to do their homework. Professor Bullfich starts,

"Naturally, in order to feed information into the computer you had to know it yourselves. And in order to give the machine the proper instructions for solving problems, you had to know how to solve them yourselves. So, of course, you had to do homework -- and plenty of it."

"Why, simply programming a problem is homework," Dr. Grimes put in.

Looking through it now, they got help from a couple of people affiliated with IBM. The authors also write "In all fairness to Professor Bullfich and Dr. Grimes, we wish to point out their position on homework is supported by Bulletin 1248-3 of the Education Service Bureau, University of Pennsylvania."

For what it's worth, I can't find that bulletin. https://archive.org/details/sim_childhood-education_1957-01_... informs me the title was "What About Homework?"

Thank you for bringing up that old memory!


I was wondering if someone had built anything that would let you play around with Applesoft BASIC on modern macOS without an emulator. The answer is basically no, but I did find this http://www.nicholson.com/rhn/basic/

I tested it and it works. Pretty neat.


If anyone wants to toy around with BASIC in a bit newer format, you can try out BlitzMax NG over at https://blitzmax.org/


Wow! This tool is amazing! This can be very useful for learning how to program, also for programming in general.

There is a little too few keybindings for the editor to be pleasurable to use, and I wish for syntax highlighting and some auto complete.

but overall, lovely work, I particularly enjoyed how you solved editing the current program in memory (edit/list)


Syntax highlighting, more shortcuts, inline help and maybe autocomplete are all things I’d like to add. Not the priority right now, but they’ll come at some point! Thanks!


Would be awesome if accounts used the old RSTS %,% naming convention where the max was 255,255.


RSTS as in https://en.m.wikipedia.org/wiki/RSTS/E ?

I was not aware of this. Will have to do some reading for inspiration!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: