I've been meaning to get started on my roguelike project, but the more I prepare to write the first line of code, the more I feel like my traditional Java-based setup may not be ideal for me. I love Java, but I'm going to want an approach more optimized for prototyping that is also less verbose.
I want to have a wide array of deployment options (I would sacrifice this though)-
Compile to mobile device, compile to binary, publish on web, or distribute via source without ridiculous compilation instructions (Obviously, development will have to be considerate of the restrictions for each platform). If I can publish to web the other options aren't really important.
I willingly sacrifice control for productivity-- I don't really want to deal with pointers or memory management. I like code-completion and every form of spoiling that Java developers are used to.
I want concise or ultra-readable syntax. I want to shorten the number of times I have to push buttons.
I need the option to run CPU-intensive simulations.
I want to be able to prototype quickly- either making changes while the program is running or quick compiling. An interpreted language with the capabilities of compiling to native would be cool.
I want my environment to be easy to set up or come mostly already set up. Nothing obscure.
I'd like my deliverable to be lightweight. If it must include a VM it should be tiny.
I don't care about preexisting libraries- basic data structure management is all I really want.
I know QBasic, C/C++, Java, AS3, LISP, and some dumb scripting languages. I firmly believe that a programming language and development environment should do as much work for you as is possible. I want to think less and implement more. I've already done the whole 'compile linux from source' thing and am not in this for my personal education of programming concepts.
I've looked at Scala and I like it, but it's not great for prototyping because of its bad compile times. "Drink the koolaid" cults are also not very desirable.
I've looked at Python, but its obsession with dynamic features makes it a poor choice for CPU-intensive simulation. This could be done with C/C++ extensions, but I easily get sucked into optimizations and want to avoid thinking too much.
There are some Python derivatives like RPython that looks interesting, but I haven't heard anything about them from another human-being.
Javascript/HTML5 has very good performance now a days, but I don't think it's a great choice if things get complicated.
I'd just use Flash, but the VM, on account of a sub 7-mb distribution size, is total shit.
I'd just use Java, but I don't want to require the JVM.
Anyhow-- what are y'all's experiences?
thanks.