Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Programming is easier than you think (easylang.dev)
6 points by chkas on Feb 17, 2024 | hide | past | favorite | 3 comments


Got me thinking: could of course create lisp macros to make this easylang, and it would be a cool way to get someone started on lisp, brining in harder concepts later.

If it weren’t for BBC Basic I wouldn’t have started coding as a kid. Assembler was too hard to grok. The books said “Load the Accumulator” and I didn’t really get what that meant. The book could have explained it better. But in any case there is a place for easy languages.

Another way to do this would be in Go - the language famous for being easy to learn (but not as easy as a turtle or basic). Again just define functions for theses things in a library then you could have something very similar.


Today's computers no longer boot into BBC BASIC - the barriers to entry have become higher.

A Lisp-like language would be easier to implement than a BASIC-like one - but is probably too unfamiliar for beginners.

Update: I have read through your post again. Yes, macros or basic functions can make a lot of things easier for beginners - I once did something like that with Java. But the language and especially the environment is still not beginner-friendly, for example when the first confusing error messages appear.


Line numbered BASICS were not hard to implement. They fit into small ROM images, complete with floating-point routines and graphics primitives. Those dialects do not have a fully blown nested syntax. Expressions nest, but statements do not. In each line of code, the parser has to deal with just one kind of phrase structure: like a GOTO, IF, or assignment.

BASIC interpreters tokenized the lines of the program into a compact representation, using just one byte for keywords and such. This was homoiconic: lines of code could be recovered back to text via listing them, and edited.

BASICs executed relatively fast, given the processors they were running on, and had predictable performance characteristics. Only string manipulation hit garbage collection pauses.




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

Search: