3 ms·
I'm one of the many people who have designed yet another little language; mine is Best Calculator BASIC and a manual for it is at https://bestcalculator.files.w
by pedasmith 9y ago
I'm one of the many people who have designed yet another little language; mine is Best Calculator BASIC and a manual for it is at https://bestcalculator.files.wordpress.com/2017/05/bestcalculatorbasicreference.pdf https://bestcalculator.files.wordpress.com/2017/05/bestcalcu...
BC BASIC is designed to write "little programs" by relatively inexperienced programmers. As such
- The IDE is small (Visual Studio is 10 Gig; mine entire thing is about 50 meg)
- The IDE includes tons of examples (similar to how the Arduino IDE has tons of examples) and there are fully explained examples in the manual
- There is direct support for writing CSV and JSON output. It will convert an array of data, for example, directly to a correctly formatted CSV line. You can read in CSV files, too.
- A number of common Bluetooth devices have built-in support. Using a TI SensorTag or a Puck.Js device is simple instead of being a maze of Bluetooth services and characteristics.
What I've found to be real winners for design:
Lots of examples is a real win
Being able to copy-and-paste is very nice. For example, when you paste most code into a modern email client, the quotes get changed to smart quotes. My language allows for smart-quotes, and so the language doesn't get mangled. More subtly, a minus sign will get changed to an em-dash or similar, and my language handles those, too
Direct support for CSV/JSON and common Bluetooth devices is a big win.
Not worrying about where files and projects go is a win. In my system, when you write a program, the IDE simply keeps track of it. It also uses Windows data roaming, so you write on one device and it's automatically sent to you other devices.
What isn't important is program speed. Yes, a company like GM might spend a couple hundred thousand making a language more efficient so they can buy a $0.24 device instead of a $0.25 device. At their scale, it makes a difference. For everyone else, the cost of programmer time vastly outweighs pretty much every other consideration.
Also not important are most of the language details. People who aren't full-time programmers will pretty much find all syntax to be weird and won't appreciate clever or subtle features.