Hacker News new | past | comments | ask | show | jobs | submit login

As someone who spent a decent chunk of his youth typing BASIC commands from Books like these into a Mattel Aquarius, I’m pretty disenchanted by the choice of languages.

None of them embody the human-first optimism of early BASICs. BASIC was designed for normal humans to actually get work done, the same vision HyperCard would bring later. It’s reflected and it’s very English syntax. It was, in no uncertain terms, the actual User Interface to many if not most consumer level machines of the age.

I don’t have a strong proposition for a specific language. QB64 is maybe the closest syntactically, but nothing lives up to the spirit of the originals that I am aware of. I was kind of hopeful I was going to get to the end of this and it was going to be a call for developers to work on a new, modern, humane programming language.

People try to tell me that dream is dead. God I hope not, computers in the hands of most users are 99% untapped potential. It’s as if Prometheus give us fire, and we only ever used it to light cigarettes. Every time a user does a repetitive task that should have been a loop they created themself, that waste of life is a small death, and the blood is on our industry.




Actually there's a reason beyond stupidity and conspiracy for things going the way they did. It is very easy to make simple things simple, but by doing that you will likely turn complex things even more complex.

The first example shows a video-poker-like game implemented in 98 lines. You can get close to that with processing or lazarus-ide. Now try to do that so you can play on-line, using the browser, with multiple people at the same time, storing score, records, with login, a network of friends, authentication... You'll end up seeing that node developers and users are neither stupid nor conspiracists.


> Every time a user does a repetitive task that should have been a loop they created themself, that waste of life is a small death, and the blood is on our industry.

The majority of people have no interest in programming, no matter how humane a language were handed to them.


That is absolutely a myth; what we tell ourselves so we can sleep at night. At worst, they don’t know what they want; they asked for a faster horse, and we’re content to keep selling horses and feed.

Watch a normal user use a computer sometime to do work without interjecting. They all do stupid repetitive tasks that take hours and should be easily automated.

Look how far people get with Excel with no programming knowledge. I have seen absolutely incredible spreadsheets that do remarkable things. The will is there, but we’ve kneecap them with awful tools, and then keep repeating but lie that they liked it.

I have a friend with zero background in programming who completely automated his “job” with Autohotkey. His entire work for the day ran in minutes and he just messed around the rest of the day, that underutilization is emblematic of the problem.


I think we developers don't automate 90% of what we could. What can we expect from laypeople?


> Watch a normal user use a computer sometime to do work without interjecting. They all do stupid repetitive tasks that take hours and should be easily automated.

if you buy the hypothesis about autism in Baron Cohen's book, it is the noticing of and obsession with repetition that is the hallmark of autism, so it is your watches-and-does-not-interject individual who is the one who wants to program, and still not the subject of the study.


You give two examples (spreadsheets, Autohotkey) that actually contradict your central thesis of no good tools. Seems like those are examples of ordinary people successfully using no-code to make their lives easier?

There are so many free programming languages available to anyone interested, ranging in human comprehensibility from (the incomprehensible) brainfuck [0] to natural language interpreters for writers of interactive fiction [1], and everything in between. Visual programming languages [2], languages for children [3], languages for visual artists, for musicians, for stock traders. There's even a language using power ballad lyrics [4]!

I love your sentiment that programming is for everyone, but with respect I utterly disagree that there are no good tools for ordinary people to use. If anything, there is an overwhelming, embarrassment of riches.

But, maybe you are right? Maybe you have an insight that could be helpful? Share it, man! The world needs you!

> ...we kneecap them with awful tools

Who is this "we", Kemosabe?

If you want to help make interactive narratives easier and less prone to bugs, I have a fallow side project I need help with [5]. These people seem cool [6] and could use your insights, I'm sure (seem to be defunct, but perhaps from lack of interest? Jump start it? Track them down, find out what happened?)

[0] https://en.wikipedia.org/wiki/Brainfuck [1] http://inform7.com/

[2] https://en.wikipedia.org/wiki/Visual_programming_language#Li...

[3] https://en.wikipedia.org/wiki/List_of_educational_programmin...

[4] https://codewithrockstar.com/

[5] https://github.com/rendall/quest-driven-development#readme

[6] http://blog.interfacevision.com/


> People try to tell me that dream is dead. God I hope not

I make no claims, but I think you might find this interesting...

https://asciinema.org/a/SM9tZ2ZiJofikPRxHCQyqDvRY

Just published this in Hackage (Haskell), it is a very early version,so probably contain a lot of rough edges..

https://hackage.haskell.org/package/spade


Give PureBasic a try

https://www.purebasic.com/

Commercial, but not that expensive. There is a demo you can try.

Free introduction book

http://purearea.net/pb/download/PureBasicBook.pdf


Why not QuickBASIC or (for modern systems) FreeBASIC[0]? It can be used both like old-school BASIC with line numbers and such, or as a modern style with named functions and subroutines, and FreeBASIC is FOSS.

[0] https://www.freebasic.net/


I really agree.

I see no reason to progress toward the non-BASIC implementations until the modern BASIC equivalents have been accomplished as meaningfully as the originals.

Using FreeBASIC would be closer to the way it was universally at the fingertips of every single Apple II, TRS-80, and PET owner. Soon to be followed by Atari and Commodore 64.


At least VB.NET is part of the list.

I guess the only modern environments where we could replicate the experience would be something like running MicroPython on an Raspberry Pi 400.

Or the Swift Playgrounds (assuming an external keyboard).


Raspberry Pi 400 can run the full Python3 language, so why MicroPython ? IMHO, MicroPython is more suitable for something like an ESP32 or Raspberry Pi Pico.


I was thinking of running it bare metal, ESP32 and Raspberry Pi Pico aren't a keyboard computer like the 8 bit ones from the 1980's.


Small Basic would be more appropriate than VB.NET https://smallbasic-publicwebsite.azurewebsites.net/


Have you read the article?


Yes. I still think Small Basic is a good solution.


As follow up to my sibbling comment, it appears that SmallBasic is pretty much done.

https://docs.microsoft.com/en-us/answers/questions/678792/wh...


Apparently not according to the authors experience, and looking at the Website doesn't look like Microsoft is bothering too much keeping alive.


With that in mind, it might be more effective to write a BASIC REPL in Javascript (I’m sure one already exists) and then run the original programs.


> I’m pretty disenchanted by the choice of languages. None of them embody the human-first optimism of early BASICs.

Nothing yet exists that has the same properties: simplicity and automatic availability. JS wins on availability as it is present on almost every general purpose device via a web browser, but the syntax is not as human friendly as

    10 PRINT "Hello"
    20 GOTO 10
or better, lets tweak the language a bit and get rid of the line numbers:

    This is the start
    Print "Hello"
    Goto the start
Though as much as we love to hate them, I'd say spreadsheets come closest to That What Was because the people who use them are automatically there for work or to do some basic calcs for themselves, and the “programming” side of it is just there for them to discover as they need more complexity, they don't need to decide “I want to program”, they have a problem, they look up a solution, find one online, and modify it for their own needs, much like me in the 80s typing in a 10-line graphics demo or basic game and learning more by tweaking it. To a lesser extent things like minecraft count too.

> I don’t have a strong proposition for a specific language.

> People try to tell me that dream is dead. God I hope not,

There is no such language for current times, so the dream of reproducing the feeling BBC BASIC¹ in the days of yore because not only has the tech mover on but so have people's expectations. No one is going to be satisfied with those simple introductions as we were back then, so the barrier for entry is higher - the language and wider environment need to provide much more and make all that feel like the heady days of drawing random coloured dots in graphics mode 2 while, hiding all the complexity long enough to not put people off, while not limiting itself by hiding that complexity (making the complex more so, or even impossible) so that people give up when they discover they need to move to something else to get beyond a certain point⁴. And it needs to somehow compete with the rest of the world, gone are the days that you are sat in front of a disconnected computer with not much else to do but experiment and learn - it can't wait to be discovered it needs to drag people away from consuming and actively attract them to creating⁴. And we aren't just dealing with a bunch of nerds/geeks who speak at least a little English, anything like this these days needs to be embarrassingly easy to perfectly internationalise⁵, without breaking anything⁴. And it then has to get commonly accepted to become popular and therefore survive³. If you create a language/environment that manages all that⁴, then why not finish off your morning with breakfast at MILLYWAYS?!

[1] The best 8-bit basic, bar non. No silly-short naming limits, proper procedures and functions² rather than just GOTO & GOSUB, a built-in multi-pass assembler for if you got really adventurous, ...

[2] Well, there were significant limits compared to what we have now, but understandably so in such small power & memory.

[3] Not unlike how gods and belief work in Pratchett's Discworld.

[4] This is, of course, impossible.

[5] ref: “reflected and it’s very English syntax”, and it isn't nearly as simple as just swapping keywords out for local ones either.

> BASIC was designed for normal humans to actually get work done,

I hate to break it to you but we were, at best, a subset of normal humans, in the eyes of the rest of the humans!

> Every time a user does a repetitive task that should have been a loop they created themself,

That is rather too dogmatic. I'm a dev-cum-DBA with decades of inexperience behind me, and I do many repetitive things that I've not yet automated. If you automate everything you do more than twice you end up automating things that you'll never use again after next week, and never actually do much beyond making and testing automations.

> that dream is dead

Going back to that: the general dream is dead IMO. We need to stop hoping to find the One True Path to lead people along. The dream can still exist in smaller parts though, if we accept multiple very different paths without disparaging any particular ones of them: people starting by automating Minecraft stuff, people starting by trying to make DayJob easier in Excel, people in learning settings using interative notebooks to explore in more detail, people who want to make Alexa tell a fart gag at an inappropriate time to embarrass gran, people adding interaction to a simple web page, ... No one language or environment can do all, or even a fraction of, the everythings that might work for some people.

I, like many others, unfortunately have no idea what to do about it, beyond pontificating as above and hoping that someone else comes up with some bright new ideas (or resurrects some forgotten old ones that were not fully realised/appreciated in their original frame).


> And it needs to somehow compete with the rest of the world, gone are the days that you are sat in front of a disconnected computer with not much else to do but experiment and learn - it can't wait to be discovered it needs to drag people away from consuming and actively attract them to creating.

This is a good point. Back in the 80s, learning on a BBC Micro for me was a lucky confluence of geek, machine, and time period.

Maybe the "geek" part is the most important part.

I loved the BBC Micro and am grateful to have had the opportunity then, but to be honest, I'd probably have discovered computers some other way anyway, and my life might not have been that different. It's probably similar for today's kids--- if they're programmer types, then they can use today's tools and get the same thing out of it. Maybe this particular dream is indeed accessible only to the geeks?




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

Search: