I'm creating a programming language of my own: Kava.
I'd appreciate it very much if you could give me some feedback.
>compiles into bytecode
>platform independent
>executed by a stack-based VM
>based off Java but introduces a lot of changes
>multiple inheritance
>operator overloading
>cleaner syntax
>more light weight
>completely libre
>will support AVR's
My main concern is whether or not should I keep classes as the main construct of the language and the compilation unit. One could say that this forces the OOP paradigm, but I don't agree. I removed interfaces and other OOP-ish constructs inherited from Java, and I feel that keeping the classes in the center will make the language easier to use and easier to implement (and, depending on the person, easier to think in).
Please critique my design and tell me about the problems with my design.
Name:
Anonymous2012-12-21 15:09
I removed interfaces and other OOP-ish constructs inherited from Java
Thank god.
Though, isn't most of this what Scala is trying to achieve?
Name:
Anonymous2012-12-21 15:11
Why multiple inheritance, what is that going to solve? Why not Traits?
I hate operator overloading, why not be more innovative and try operator defining. People should be able to make their own operators.
What are you ideas about creating easily DSL's in a language? What are your thoughts about people can extend the language with their own grammars?
Are you going to implement closures and anonymous functions?
Actually achieved, Scala will be the language. Java is dead.
Name:
Anonymous2012-12-21 15:26
>>3 why not be more innovative and try operator defining. People should be able to make their own operators.
When would this be useful? I can only see this leading to messy code or a confusing replacement for functions/methods.
Why is operator overloading useful? I can only see this leading to messy code, because people will use * and + and / on structures, which are not a valid field. Or * and + on not a valid ring.
They will get confused, because the operators don't seem to follow the mathematical laws.
>>6
I agree, but at least adding something like two vectors makes sense mathematically.
Name:
Kava dev2012-12-21 16:52
OP here, I'm really sorry for not replying to this thread for so long. My battery had gone out, and I've posted in a generally bad time so I wont be active for a bit longer after this post.
>>6
OOL can lead to ambiguity, I agree, but it's the programmers' duty to implement it correctly. I'd rather not remove that feature.
>>3
Operator defining? OK, I could do that, thanks.
As for anonymous functions and all that, I'm still not sure. Probably not though, it would break my current model. However, references to methods might be useful.
To anyone reading this check out programming paradigms on youtube. It's a stanford course. I watched a while back. The prof uses kava while teaching functional programming (although that is not the only language whose concepts he teaches)
Significant progress has been made in terms of web design, with the help of random anon: http://kavalang.com/.
Name:
Anonymous2012-12-22 19:44
looks fucking horrible. lisp is better.
Name:
Kava dev2012-12-23 8:45
>>23
The website or the language? Because the language doesn't even look like anything, yet, I'm working on the VM and coding in Bytecode for now.
Also you can't really compare all languages.
Name:
Anonymous2012-12-23 14:32
>>24
The thing about people who exclaim, "wha an ugly language" are usually mean something like, "this looks unfamiliar to me". If they had a set of metrics of what makes a beautiful language, they might possibly have a legitimate complaint.
The thing about people who exclaim, "wha an ugly Boo" are usually mean something like, "this looks unfamiliar to me". If they had a set of metrics of what makes a beautiful Boo, they might possibly have a legitimate complaint.
Name:
Anonymous2012-12-24 6:10
Kava Kava is like mellow coffee, I have this on my desk. But why this multiple inheritance. It always seems to lead to badly documented shit code from some OOP retard.
The Kava bytecode is ran by the Kava Virtual Machine (KVM).
I suggest you find a better acronym, instead of overloading another. >will support AVR's
Are you kidding me? An 8-bit MCU running a VM language? Many embedded devices are slow enough as-is. Unless you're talking about another "AVR"... see the perils of acronym overloading?
>>28
I see nothing wrong with the acronym... Please be more precise if there is a concrete problem.
And I thought that it was obvious that this was a hobby project. I actually like the idea of programming my robots in a high level language, as opposed to ASM or C, like I usually do.
Check out NanoVM if you think this is not possible.
>>27
Kava means coffee in my first language. And I tend to agree that MI can be awful, but I'd rather allow it just for the sake of
>>37
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLlEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLl
EGIN GRO