lulzfish said:
Yeah, I heard you mention it, and when the Wikipedia article show some cool dynamic features alongside static typing, so I think I'll try it.
And I've already come to hate IDEs. They make everything complicated and I can never find one I really like. Text editors, on the other hand, always work, are totally interchangeable, and can be run over SSH.
The problem I usually have with languages that aren't C or C++ is the bindings. How can I call, say, SDL functions from Scala?
You can use lwjgl for most things, but it's more leaned towards OpenGL than SDL (it enables you to use all OpenGL commands in Java, so you can follow the NeHe tutorials almost directly). If you REALLY want to use SDL, there's sdl4java, javasdl etc. Many different projects. I haven't tried any of them because I only do 3D.
Then we have higher level stuff, like the jMonkeyEngine; it can be pretty difficult to compile so I prefer using the binaries; but otherwise it's great: It uses lwjgl for drawing but adds things on top of that like a physics engine, scene node management, texture handling, shaders and materials made easier etc. It's kinda like OGRE, but for Java. (You can of course use OGRE in Java/Scala too, but that's a whole different story)
If you are interested, I'll probably make my own project open source pretty soon, it uses jBullet for 3D physics and lwjgl for drawing; I seem, however, to have issues with drawing simple primitives in OpenGL (I want to make it ES 1.1-compatible, because I heard that someone will port lwjgl to the Pandora) so it might take a while.
EDIT:
@sindbad yes, but all the other languages use technologies similar to JNI, so if that 'doesn't count', then what does? JNI is like dynamic linking in C++ but for Java... Don't really see the problem here.
Or can you use SDL directly in Python? No, didn't think so, you have to go through pygame
Another EDIT: BTW, I don't see a reason why you wouldn't want to use lwjgl (ok the only reason might be that there might be difficulties while porting it but it *should* almost be a recompile and done), since it is WAY faster than SDL can even dream of being, since it uses hardware for ALL the rendering. And if we compare pygame vs lwjgl: I made 2 apps once, to compare the performance of the two. Both apps drew a simple white square. With SDL, I got 120 FPS on a low-end machine. Same machine, lwjgl: 3000 FPS.