Dream it! Reaction on the latest JBug.
The java threading is obviously the best of the threading paradigms we have!
(Now I squeeze my ears to avoid the loud and uncontrollable, sometimes even hateful reaction)
They just bark : “Scala is the right threading, you will do better with Scala”.
Ok..Ok..Relax...
You can call that wrapper a language and fully enjoy it .
But somebody, even more skeptic than me has said: “Java is a C and an Assembly wrapper, so why it is a language and scala is not?”
I appreciate all those comments and have a right to completely ignore them.
Yes.
That is because C is such uncomfortable to code, such OS dependent and Scala is so a black wrapper box, that my best practical feelings are still on the java side. And I completely disagree with a latest Jbug agenda “Is Java a productivity dead end?”.
I left the forum with the strongest and unapologetic confidence: java’s death is yet to be fantasized in wet dreams of some python masochist!
Looking at site builders and templates creators work I have no problem – go ruby, go python, go any animal you know! (BTW, the simplest shopping card in Django is yet to mature, checked…)
In domain of miraculous concurrency and in domain of controllable changes and in domain of vendors supported solutions I have that confidence: Java is a way to go.
Although I fully appreciate the scala’s message driven threading like a best practice to play in the concurrent world! Yes , I do. I still feel a lack of vendor’s appreciation, a lack of integration and more: I feel I do something, that somebody somehow translates to some unknown byte code. Brrrr.....
You right, we can’t completely control a native thread in Java on the lowest level , but we have a years of experience in java thread control, that is enough for most of tasks.
I think scala, ruby, python, php, etc… all have heir niches, but to say “java is a dead end!!!” is to cheat themselves.
BTW: for the beast sake: who likes those cumbersome and ugly expressions!!!??? And why it so problematic to create getters and setters, if anyway in any complex business application you have to modify their defaults?
Java is optimal between the freak C masochist choice and .Net girls innocence........
Although I fully confirm that fact - different languages improve our overall experience...
Whether it practical or not??? Chineese does much better in realm of intelligence practice, I'm sure.
I like your comments , buddies, even if they are all offensive…as I can expect.

Comments
So what you practically say is:
1. You don't care writing unnecessary code, even though more code means more bugs, more tests, etc.
2. You don't care about the look of your API. As long as it works - the hell with your clients.
3. You don't care about the fact the languages like Fan and Scala equal or sometimes even beat Java's performance.
4. You don't acknowledge that writing Java and Scala/Fan is the same because you don't control the produced bytecode.
5. You think James Gosling was wrong to admit that Java is done evolving and that it was designed, in the first place, to be simple and less supportive then other "strong languages".
How can you dismiss the years of work of so many smart people?
Did you ever write a true Scala/Python project?
What about Google? You think they're wrong to prefer Python over Java?
(BTW, the creator of Python is also one of the leaders of Django. A Google employee).
1. I do. But all my experience says some unnecessary code is better in complex applications, because it makes things more clear.
2. It took 10 years to learn java API properly, It will take 10 years more to make the same level in scala for average coder. So I do like java API, because it is mature and proven.
3. I do. If that a problem, I'll go native.
4. I do. But it becomes more uncontrollable, because once you used to java lacks, you have a methods to fight them, scala lacks are yet to be discovered.
5. I absolutely in sync with Karl Marks as a Communism inventor, never confronted him, his domain is almost dead, but I have a right to doubt James Gosling , because he is mostly done with his creature and probably already bored...But language is still absolutely alive!!!
Scala is a higher abstraction and probably abstractions will become higher and higher in the future, but I preserve a right to be a conservator for yet several years. Just because amount of issues and bugs in new-born languages so huge you never will beat in production only by mentioning the magic name: James Gosling!!
Continue:
How can you dismiss the years of work of so many smart people?
- I do not dismiss, I just say: smart people have yet several years to work to reach java maturity.
Did you ever write a true Scala/Python project?
- no, did you? I just reading books.
What about Google? You think they're wrong to prefer Python over Java?
- how can google be wrong??? !!!!
(BTW, the creator of Python is also one of the leaders of Django. A Google employee).
- is there a nimbus over his head? does he drive a donkey?
so , does not matter...
LOL...
I don't agree with everything you say, but I worship the way you expressed it.
This is obviously an endless discussion. Mostly due to the fact that the "taste" factor plays a major role here...
Nothing beats Erlang threads. We completely left (that strange language) out.
http://ruben.savanne.be/articles/concurrency-in-erlang-scala
BTW: I never wrote anything in Scala.
Scala uses the same messaging paradigm of Erlang.
Google a comparison between the two approaches. You'll quickly find out that there's no absolute answer.
There are not much differences in the API level, but there are many in the underlying implementation. The actor model originated from Erlang and the whole language is designed around it. Erlang threads (processes in Erlang terminology) are very light weight, there are more mechanisms for detecting failures and hot code swap is another important feature (unloading the whole application through class loader unloading does not count as code swap).
However, these factors are not critical to many (if not most) applications. In many cases, the programming model suffices and Scala's elegance is a more important factor.
Basically, I think you choose Scala because you want to, and you choose Erlang because you have to.
And since we're mentioning all languages I would like to mention that my favorite is Clojure. A very clean syntax and code as data (macros) are powerful features.
Hmmm... Clojure...
Me like it too!!!
cheers.
taste factor plays.
do you like a money?
i believe, you do.
what do you think about next statement:
programmer salary = language popularity + years of expierience;
?
think about, but your answer is redundant.
*
all time then then we repeat "ruby", "scala", "jango", "java can die", "java doesnt fun inuf" and like things we decrease our salaries.
*
tikal as enterprise that feeds 99% (lior?) from java must support java brand and not vice versa.
*
google support runtime for java apps.
google wave robot java api ready and python still in development.
google android has java api not python one.
google guys developed gwt, guice.
*
oracle bought the sun for $7 billion.
how many of them the cost of Java brand? $6.9 billion.
are you think that oracle guys are not smart inuf?
*
let us be not only clever programmers, but also practical people.
Can I comment, that I think the model of concurrency in Scala is right, very efficient. But everything you do in Scala in the threading realm is 100% achievable in Java. Obviously. So scala has no benefit over java in that domain. Just take Scala threading as an example and go java.
About Erlang, no deep knowledge, that I able to share, but it looks like domain specific language if not hardware specific(yes, yes, they have vm). So it is may be great in that domain, but in overall usability it slightly less convenient for practical needs. I do not call to stop learning new languages(secretly I do one myself), but I just say: Java is alive and barking like a HUGE BLACK DOG!!! BARK!!!
So while being practical, forget about evolution?
I'm sure that if you search good enough, you'll find out that someone wrote the same things you just did, only on Java, 10 years ago...
The most successful Jabber server is written in Erlang:
http://www.ejabberd.im/
And take a look at this:
http://highscalability.com/new-facebook-chat-feature-scales-70-million-u...
Shlomo.
it is more like a revolution. and revolution is a case of poor students, but not ours - we have wives, children.
*
are you seriously think that we must kill java in order to give human society chance to progress?
*
i have nothing against scala. you say she is pretty? i'm happy. really. but i want to be with one girlfriend and i'm sure that java still in productive age/state and also beautiful enuf.
*
and all of these marketing games aimed just at the redistribution market where there is the biggest piece of Java. why we should participate in this?
1. If this is a revolution, and revolution is for poor students, then I'm proud being one!
2. We don't kill Java. And yes human society deserves a chance to progress (who are you? Lenin?)
3. Marketing has nothing to do with this. What Java version are you using today? 1.5? 1.6? You don't write Java 1 applications, right? Think of Scala as Java 1.8.
Finally - think about it: why would Spring, JBoss, GlassFish, and many others spend money and time on adding support for Ruby, Python, Groovy, etc. ?
Because it's trendy? I don't think so...
So what exactly in .Net is "innocence"? (let's assume we forget about VB for a moment :-)
:) in our discussion you are lenin, because i play more conservative role. i sure that evolution is too big thing for one man to be care of.
*
i repeat i am not against scala, Euphoria, haskell, focus or what else? i am against strange behavior of some people/enterprises that make advertising for other languages on java events intended for java programmers.
*
ruby, python is widely supported now because them exist and used, not because them better than java. their founders worked hard (also on marketing)to make them what they are and they have their profit now. why we must help them? are you participate someway in scala business?
*
last, but not least. what for god's sake so progressive in this languages? dynamic typing? it was before and i prefer static. thread model? make jsr and you get it in java 8. smart framework? try openxava or naked objects or write your own.
I meant by that the wizard approach some .Net programmers should admire. The easiness you can create and deploy a simple, say, webservice , that actually serves only for .Net clients and transfers only plain objects. I mean the Microsoft’s desire to hide everything that may otherwise overwhelm an innocent head. User friendliness that is close to ignorance. And OK, I’m biased.
Ok...Interesting. Thanks.
As long as wizards give you a good start and do not limit you, they should not disturb you. All IDEs try to create useful wizards.