This is hilarious, of course, but it also points to some really interesting languages. Turns out that fungeoid is an actual category of fascinating experimental / toy / joke languages. Obviously Piet is not particularly useful in the real world, but thinking about languages like this has got to be good for a programmer's mind.
For example, try thinking about what kinds of things this language would be useful for. Or if a similar visualization for an existing language would be useful. Unlock your mind and let it roam...
In case you didn't click the link in the article [1], here's part of what Wikipedia has to say:
"A funge is an esoteric programming language which models its programs as metric spaces with coordinate systems (often, but not necessarily, Cartesian) and which execute instructions located at points in their program space by moving an instruction pointer (a position vector which indicates the currently executing instruction) through that space."
Of note from the sample program, emphasis mine: "... this amazing program which calculates an approximation of pi literally by dividing a circular area by the radius twice. ... Naturally, a more accurate value can be obtained by using a bigger program."
I implemented befunge, and one of the challenges is figuring out whether your implementation is buggy or the test program you're using is. Luckily I found that some insane person had written this incredible test suite:
Whilst testing PowerShell for an employer I write a bf implementation in it. I was stumped for a while when I couldn't get one of the examples from wikipedia to run until I noticed that the code in the wiki article was broken. Correcting the article was probably my greatest contribution to computer science.
Enterprise Piet? Seems like the OP is just adding more additional features that takes Piet even further away from simplicity.
Ironically, Piet is, an RGB in the land of greyscale PICS. They broke the abstraction layers, mess up logic with implementation, introduce not just different kinds of colors but redundant and irrelevant dark colors and ruined the magic of "everything is an alpha value." Look what a classic two tone Hello World became.)
The video alone is almost enough to warrant purchase, but does it provide a framework for data analysis of matrix management performance review metrics in global ITIL organisations?
Enterprise Piet has also produced the rapid deployment of a Leanpub feature, enabling a synergy between books in this genre and books in a more traditional genre.
The forward-thinking architect will, naturally, consider the judicious use of open source software such as https://github.com/sl236/Piet to streamline enterprise development.
Thanks for the feedback. I will be adding a section about two-dimensional query optimization in PL/SQL. I have to finish my work on animation using the Broadway Boogie Woogie framework first.
You are correct. I am pretty much never involved in purchasing/acquisition details. I just tell managers I need some particular software and they go and do some voodoo and come back to say yes or no
I'd normally say "yes, absolutely," but then again, "compared to what?"
Have to seen what passes for Enterprise Software Development tools? Netron Fusion uses Bassett Frame Technology to factor COBOL programs using techniques originally devised for representing knowledge ontologies in LISP-based AI systems.
The M language is quite dated, but arrays in MUMPS are somewhat interesting.
"Arrays: are created dynamically, stored as B-trees, are sparse (i.e. use almost no space for missing nodes), can use any number of subscripts, and subscripts can be strings or numeric (including floating point). Arrays are always automatically stored in sorted order, so there is never any occasion to sort, pack, reorder, or otherwise reorganize the database. Built in functions such as $DATA, $ORDER, $NEXT(deprecated) and $QUERY functions provide efficient examination and traversal of the fundamental array structure, on disk or in memory.
Local arrays: variable names not beginning with caret (i.e. "^") are stored in memory by process, are private to the creating process, expire when the creating process terminates. The available storage depends on implementation. For those implementations using partitions, it is limited to the partition size, (A small patition might be 32K). For other implementations, it may be several megabytes.
Global arrays: ^abc, ^def. These are stored on disk, are available to all processes, and are persistent when the creating process terminates. Very large globals (e.g., hundreds of gigabytes) are practical and efficient in most implementations. This is MUMPS' main "database" mechanism. It is used instead of calling on the operating system to create, write, and read files."
Interestingly enough, while during my BS CS undergrad stint (1999-2002), I learned both Ada95 and MUMPS (along with Java, Scheme, Lisp of course)...
Kevin O'Kane was teaching MUMPS because (at the time) he had one of the only MUMPS compilers out there (translation to C++ and then compiled down)... Did a lot of work in textual indexing and searching (both medical data and genomics).
For example, try thinking about what kinds of things this language would be useful for. Or if a similar visualization for an existing language would be useful. Unlock your mind and let it roam...
In case you didn't click the link in the article [1], here's part of what Wikipedia has to say:
"A funge is an esoteric programming language which models its programs as metric spaces with coordinate systems (often, but not necessarily, Cartesian) and which execute instructions located at points in their program space by moving an instruction pointer (a position vector which indicates the currently executing instruction) through that space."
[1] http://en.wikipedia.org/wiki/Funge#Funges