Scala 3D Engine

+100 On Scala.



People should really look into it before saying it's just buzz. I read the Scala book and it blew my mind away, you have no idea how big the leap is until you start reading about a world of programming you have never been exposed to.



The vision c++ and java programmers have about programming itself is so limited. People who haven't experienced several scripting languages and functional languages don't even know the stuff they are unaware of.



Scala doesn't only integrate functional programming into the OOP picture. It vastly explored and created many new OOP concepts and design patterns as well as fixing many sins of functional programming and enhanced everything about programing in both paradigms. It is a complete breakthrough in every aspect.



Be aware that the father of Scala is Martin Odersky, he is not some guy to mess around with, he has been developing language compilers before most of you were even born, he created the Java compiler and designed Java Generics (not alone). Scala is not a bunch of crazy ideas put together, it's a culmination of a lifetime of experience. Don't think that because you have programmed for say, 5, 10 or 15 years you are the big thing, don't get cocky, you may even learn something.



Congratulations Darkfrog on your work! I hope to see the sgine in action kicking some butts soon!

The scala language is absolutely lovable. There is something aesthetically appealing in it.

But I still can't live with its IDE support (I'm lazy, I use IDEs).

IDEA 9 sometimes raises its hands saying "ok, i don't understand this, i'll ask to the compiler later". And later really means later because compilation takes astronomical times.

Netbeans requires a reboot each time you add a library and the parser simply disappears from time to time.

The officially supported Eclipse is of a class of its own. Using it its like playing russian roulette: type some, press save… didn't crashed… type some more… compile… didn… damn, crash!

Did I mention that the 2.8 library scala doc is actually harder to understand than the source code that it tries to document?

For me, the language is great, it really is. But the language is just part of the equation and, in my opinion, not the most relevant when it comes to software developement. Nonetheless, i'm eagerly waiting for the 2.8 stable release of scala.

sbook said:

http://www.artima.com/shop/programming_in_scala

That book?  I'm mostly sold on the ideas of Scala, I'd just like to read a single coherent argument for it that goes into some depth :)


Yes, that book exactly. It's a 1000 pages book filled with power. I fell in love so badly with Scala that I read the whole book from Monday to Thursday in my spare time after work. It's really hard to talk about the features of the language, there are so many things that are different that is not possible to enumerate and anyway that would never convince you with.

Someone mentioned converting stuff from java to scala... why? You can have a project with scala as well as java classes that are even mutually dependent and it will compile. One more thing, Scala IS Java, whatever you do in Scala is accessible from Java and everything you have previously done or know about Java is directly accessible from Scala, you are not trading anything, you are upgrading.

pgi said:

But I still can't live with its IDE support (I'm lazy, I use IDEs).


Ok about to start another holy war here... People who claim that using IDEs is for lazy people and end up convincing the rest with their delusions are really bad, run away from them. If they are so hardcore they might as well write their code in assembler with a screwdriver and a punch card like in the old days where men where really men and didn't have IDEs and fancy languages...

I use Netbeans 6.8 and Scala 2.8 snapshot, never experienced a problem with it. Try having a clean new Netbeans and the newest Scala plugin, the editor is pretty solid right now. The lack of tools compared to java might be discouraging but it's not that bad, code completion, error highlighting, mark ocurrences, folding, renaming and formatting work so I think I can live with that. You will have to write so much less in Scala that you won't even care about some fancy stuff. You can always add your own code templates including "surround with" templates that really help you raise your pace when coding.

Bottom line, give it chance and really commit to it, grok it and then after you know what it is you may reject it or embrace it, I can't convince you, it's up to you.
Don't think that because you have programmed for say, 5, 10 or 15 years you are the big thing, don't get cocky, you may even learn something.


Reading through the posts here it's pretty easy see who's really the cocky one here.  :roll:

1. Scala is awesome, but if it was all about language features I would have been using nothing but Erlang for the past 10 years. A side you usually forget is the availability of expert programmers for the new language, and also total number of language followers. Both of those are key factors when making a language choice at a company. Like pgi says, there are many parts to the equation.

2. The ardor vs sgine line count comparison is invalid and insignificant (it's just a matter of how you package it to prevent boilerplate code vs amount of control. also, it can be achieved in 28 lines atm, not 130)

3. Again, Scala is awesome *s*. It's a good middleground between the niceness of the JRE platform and the functional extremes like Erlang. I do love the forced immutability of Erlang though...
Tomygun said:
Ok about to start another holy war here...


In that holy war we're fighting on the same side: I think that scala is a language worth the time spent learning it and it is a pleasure to use. And not only for a java programmer.

I'm just giving a warn based on personal experience: be prepared to have a better language but not better tools.

Scala is great, for the first time in years I think it's fun programming again. Looking at Java code now makes me physcially sick. IDEAs are not too good yet for Scala, but I'm sure that will change quickly.

I'll try to change my pro career so I dont have to work with Java/Spring/J2EE/BEA/WEBSPHERE etc…and move to Scala with nice new stuff like Lift or GWT…the entire Java/J2EE model is simply to heavy to work with.

Problem is to find a job like that but I will certainly search for it.

MrCoder said:

Don't think that because you have programmed for say, 5, 10 or 15 years you are the big thing, don't get cocky, you may even learn something.


Reading through the posts here it's pretty easy see who's really the cocky one here.  :roll:



Lol PAWNZORD. You are right that didn't sound good at all.

I still think that too many people settles when they reach certain point and they just think that everything has already been invented and the new stuff is just for kids that don't know about real life. I don't know much, I just know I never settle and I'm not afraid of making mistakes.

This topic should be closed unless people discuss the engine since this is just getting silly.
Tomygun said:
This topic should be closed unless people discuss the engine since this is just getting silly.


Fair approach, we'll leave this open for discussion of darkfrog's project.  Maybe we can set up a time for an IRC battle royal where we can count lines of hello world's and examine byte code. ;)

Sorry, I don’t visit jME very often these days, so I just now got caught up on this thread.



MrCoder, my good friend, I have nothing but respect for Ardor, I think it’s a great engine and in no way wish to discourage people from using it.  However, the point I made in that interview was simply that the core concepts of Sgine are quite a bit different from the normal 3d engine (Ardor or jME).  Yes, you can accomplish what I said takes 130 lines of code (referenced from this code: http://www.ardor3d.com/forums/viewtopic.php?f=10&t=605), but as far as I’ve seen every sample that takes significantly less code requires you to extend “ExampleBase” or some other class.  Now, there’s nothing wrong with that except that I can only presume that is not the recommended approach for “production” games?  In Sgine those six lines of logic (http://www.sgine.org/2010/04/beginnings-of-components.html) are intended for production and expected usage. No “ExampleThis” or “SimpleThat” in play. That is the difference I was referring to.  Naturally with that comes the drawbacks of not quite as configurable / customizable, but an amazingly more simplistic engine.



I’ve had this conversation with Renanse as well, and I really have no idea how successful this venture will be as it’s a vast departure from the standard 3d engine design, but I’m traveling down the road that seems to make the most sense to me and I’m just following it to see where it leads. :slight_smile:

darkfrog said:

I've had this conversation with Renanse as well, and I really have no idea how successful this venture will be as it's a vast departure from the standard 3d engine design, but I'm traveling down the road that seems to make the most sense to me and I'm just following it to see where it leads. :)


May the force be with you...

Hey Darkfrog, how is your project coming along ?

Coming along well.  I’m currently working on rendering font glyphs directly via GLSL instead of bitmap fonts as this gives the ability to draw text and shapes without any rasterization.



Check out http://www.sgine.org and http://sgine.googlecode.com for the latest of what’s going on.