
Question:
When you are designing a new programming language, or comparing existing programming languages, what types of code examples should you write? They should:
- emphasize the important features of the language(s)
- take considerations into important/common features
- allow learning by examples.
Also, list some simple algorithms that worth to be written as a showcase?
Solution:1
The code examples should:
- Show how to start a fresh app (ex. Hello World)
- Show how to do common patterns (ex. Instead of loops, functional languages use tail-recursive calls)
- Show what makes the language unique/right for certain tasks (ex. Meta-programming in Ruby, Pattern-matching in Erlang)
Solution:2
The best code examples for a language demonstrate why that language is better than any other language for that particular piece of code. Essentially the opposite of "hello world".
Solution:3
You should write real programs that become easy to write or extend because of your new language features. If you use libraries, account their complexity.
Of course this is nothing I propose to do. Write your programming language in a way that those real programs you're interested about become shorter and better. Only idiots care about features. You write programs with a programming language, it's not a decoration. Therefore you should concentrate on program development task and ignore aesthetic parts of your language that do not contribute on the usability.
Start with the simplest language you can write a program on. Improve the language iteratively from that and work with all issues you had with earlier versions and other languages.
There's a problem you're solving by writing a new programming language, right? Emphasize how that problem gets solved with your language.
Solution:4
One example I see more often in newer dynamic languages is a simple static web server. I first saw an example of a tiny web server in Tcl (not a new language) a few years ago. Now it seems most new languages have a web server written in under 50 lines of code.
Google's Go language actually has a tiny web server as one of the example code in its official documents. Although Go cheats a bit by using a library. But it's a good showcase of how good its networking library is. Node.js also include a web server example in its official docs.
If your language support writing a simple web server in under 50 (100?) lines of code then you should use it as an example. A web server is a good example because it shows you how the language handles networking, file I/O and string manipulation. And lets face it, apart from 3D games and physics simulations most code these days deal more with networking, file I/O and strings than numbers.
Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
EmoticonEmoticon