MATHEMATICS

Tampilkan postingan dengan label Programming. Tampilkan semua postingan
Tampilkan postingan dengan label Programming. Tampilkan semua postingan

Sabtu, 19 November 2011

Compiler development 1/2

Although programming domain-specific languages ( with tools like ANTLR ) is part of the standard toolkit (*) of an  application programmer, programming compilers is still considered to be a different ballgame. ( Is it? ) I worked for a company once that developed a 4GL. A small group of experts worked on the kernel ( compilers and run-time ). They enjoyed an almost cult-like status, they were literally seen as guru's. The skill to write a compiler was considered God-like. Java was only just released and tools like ANTLR were years ahead of us. - The cruelty is, it always is, that developing compilers is not difficult, it is simple compared to developing satisfactory end-user applications.

More next post, in which I will explain how you can learn to write your own compiler fast and easy.

(*) If you expect a programmer to be carrying an actual physical "kit" on his gadget belt you are wrong. "Standard Toolkit" is programmers jargon for a minimal set of technical skills expected of any programmer. Every programmer knows how to query a database with SQL, creating and populating tables to optimize performance is however specialized knowledge expected only of a database administrator or DBA ( although many programmers have DBA skills ).

Senin, 31 Oktober 2011

Graphica - Scene Graph Language

Like everyone else, I suppose, I have a need to express my creativity. To facilitate this I am coding a small programming language to create graphical art. Although, for me, Mathematica is -the- language to do that I want to have a language that kids of age 8 to 88 ( TinTin or Donald Duck readers ) could learn. By using it geometric transformations like rotations and translations are learned in a natural way.

The graphic like the one below, including the rotation, is an example what the language could create with a few lines, a Mathematica Kernel is required but will run in the background only.



To be continued.

Sabtu, 01 Oktober 2011

The Limits of Mathematics ( or: a Lisp interpreter in Mathematica )

( ... ) mathematics because it is an extremely difficult road to traverse. The terrain is extremely demanding. The amount of work and concentration required to build the foundation necessary to continue extending the framework is immense. ( ... ) - David Andrews

Mathematics, as if you have never seen a skyscraper and are traversing the streets of Manhattan. With that mindset, you can only think that people -walk- to the 60th floor... Anyway, feeling overwhelmed by the sheer size and complexity of maths is not going to help. Only people willing to teach, without ulterior selfish motives, can help. One can write a book about mathematics to impress peers, as a way to meet publication quotas or to -teach-. Like the book The Limits of Mathematics does for example. It is a clear taste of the best mathematics has to offer, an invitation to go on to the next level.

The table of contents says it all:
- Randomness in arithmetic and the decline and fall of reductionism in pure mathematics
- Elegant LISP programs
- An invitation to algorithmic information theory
- The limits of mathematics
- Appendix. LISP interpreter in Mathematica

The appendix contains the source code of a Lisp interpreter coded in Mathematica. I love that. But the book starts with a clear description of the massive changes taking place in ( the thinking about ) mathematics during the first half of the twentieth century, from Hilbert to Turing.