Scato language for learning and just for fun
What is Scato?
Scato is both a programming language and a runtime environment for that language. The language was conceived as extremely simple, but at the same time maximally adapted for the needs of drawing fractals of L-systems and other self-similar broken lines. Scato - "turtle tongue." The program is executed by a turtle that crawls and draws. But it makes it easy to do everything you need to draw fractals.
- Coordinate transformations: rotations, scaling.
- Named procedures that allow recursive calls.
- Means of localizing different aspects of the context.
- Conditional statements.
- Named variables and elementary mathematical operations.
In addition, there is, of course, the ability to control the thickness of the line, set the color and color mixing.
Examples of code and work can be found on the project website .
There you can learn more about the grammar of the language . In addition, Scato comes with built-in examples.
The runtime allows you to not only download and execute programs, but also easily understand the causes of possible problems. You can
- Stop the program anywhere
- Run the program step by step
- View current values of variables and turtle parameters
Where did it come from and why is it needed?
A little more about the project is written on the project website.
And briefly ... a language formed about five years ago. The first Python implementation (before that was Tcl / Tk) appeared a couple of years ago (it’s on my home page ).
Over the past couple of years, the program has gained some user base, and has been used in schools. Here, the fact that Scato (and in those days it was called Fact) played a role was similar to Pascal, namely this language is studied in schools and used in the exam.
I began to receive reasonable reviews and suggestions. In the end, I got enough opinions, I finally settled the details with the most active users and made, in fact, a new language.
I posted it in a new place, under a new license, with a new name ... in general, the project began to live a new life.
Well, why is this whole post written?
Of course, I write this for a reason - I have self-interest! I would like to attract users (and testers, -)).
How could you help the project:
- You will help the project if you simply use and promote Scato.
- You will help if you not only come up with beautiful fractals, but also send them to me for inclusion in the distribution. All names will be mentioned in thanks.
- You will greatly help the project if you find errors and report them.
- And of course patches are welcome! For those who want to get involved in the development, I wrote a few words about the internal structure of Scato
- And oh yes! My English is very bad. Any constructive suggestions are accepted.
In a word, this post, I want to increase the popularity of Scato in order to speed up its development. Because now very few people are testing it ... me, students of school number 30 in Yoshkar-Ola and someone else ... from Germany or something :-)
Thank you all!