It remember hearing somewhere that 16.9 new blogs are created every second (don't bother trying to find that stat anywhere - I just made it up).
I think the same might be true for programming languages. It makes some sense, really - I think that many coders feel a drive to produce their own languages at some point or another. When I was younger, I certainly gave it a shot, and it was a lot of fun.
Today, though, I was getting my daily dose of slashdot (just slightly healthier than a good old fashioned crack addiction) when I came across a post about a new language called "Prothon."
I typically check these things out just because I'm curious. I'll probably never download the bits and learn the language, but a cursory view is par.
While checking this one out, I read this rather interesting tidbit on the home page for the language:
Prothon is a fresh new language that gets rid of classes altogether in the same way that Self does and regains the original practical and fun sensibility of Python.
Well, that's interesting. I don't have any formal CS training, so the concept of an OO language (which Prothon is) that doesn't use classes is news to me. Rather, Prothon uses something called a "prototype" to define objects.
The reason I'm posting this is that I'm having kind of a tough time wrapping my head around the idea of what a prototype in the OO world is. From reading the docs, it seems to me that a prototype is like a lightweight class that's defined in a procedure... or somewhere... I can't quite tell.
Are there any CS types out there who might be able to shed some light on this?
And, for those who understand the concepts, could you please explain why this is better? Or why someone might think these methods are better than just using classes? The Prothon team seems to think that the benefits are self-evident, although the code makes the concept look like a maintenance nightmare to me.