I realize that this is a really ambitious, and definitely not an easy task, but, I believe there's much to learn down this road. However, I do want to end up with something usable.
Here are some of the reasons I've rejected some languages:
- Not really free (Oracle suing Google for creating their own implementation)
- IMO bad package system
- Too low-level, I want my programs to run consistently (in a VM)
- Not OO
- Platform dependent a lot of times (this can be good, but for some of my needs, it's a bad thing)
- The declaration-implementation split seems poorly executed
- I don't like #include, nor the preprocessor being a whole different language crammed inside another language
- (all points except 2nd one in C)
- Garbage collection in a C-like language? Yuck
- Syntax seems a bit weird sometimes, but I could get over that
- I'm not sure whether it has a compiler for all the platforms I'd like to target
I've created this thread for general discussion about the language, feature suggestions, constructive criticism, etc.
I think I have a fairly good idea of what the language will look like, but, I haven't started implementing things seriously, so there's a lot of room for change.
- Name: Kava
- Purpose: general, robotics
- Paradigm: OOP
- Based off: Java
- Ran by a VM
- Platform independent
- One public class per file
- Free from the start
- Cleaner syntax
- No package system, just modules (think: Python)
- No interfaces, explicit abstract classes, etc, everything is a simple class and everything can be overridden (I'll probably go the D way of making all methods virtual implicitly)
- Multiple inheritance (yay!)
- Operator overloading
- I hope to make references a wee bit more "pointery"
- Support for the Kava Virtual Machine (KVM) on AVR microcontrollers, and a library for accessing the ports and other parts of the AVR system
- I don't think I can implement JIT all by myself. How fast can VMs get with just interpretation?
- What would you like to see fixed in Java?
- Except in syntactic sugar and arithmetic, how much do Java references differ from C++ pointers?
Here is a post on my blog about it, but it basically says what has already been said here: yannbane.com/2012/12/kava.html.
I'll post development updates on my blog, and summaries here.
Thanks for reading!
Edited by Yannbane, 01 January 2013 - 02:29 PM.