Article Discussion
JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
Summary: Dmitry Jemerov is a lead developer on JetBrains' IntelliJ IDEA. In this wide-ranging interview with Artima, Jemerov discusses the main focus areas for the upcoming IntelliJ 8 release, as well as his views on IntelliJ's support for Flex and Scala.
28 posts on 2 pages.      
« Previous 1 2 Next »
The ability to add new comments in this discussion is temporarily disabled.
Most recent reply: October 15, 2009 2:27 PM by
Frank
Posts: 135 / Nickname: fsommers / Registered: January 19, 2002 7:24 AM
JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 2, 2008 3:30 PM      
In this wide-ranging interview with Artima, Jemerov discusses the main focus areas for the upcoming IntelliJ 8 release, as well as his views on IntelliJ's support for Flex and Scala:

http://www.artima.com/lejava/articles/javaone_2008_dmitry_jemerov.html

What do you think about the directions for IntelliJ 8, and about Jemerov's comments concerning Scala?
johny
Posts: 11 / Nickname: johnyboyd / Registered: April 26, 2007 3:17 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 2, 2008 4:40 PM      
Admittedly my knowledge of Scala is very minimal - I just started working thru the artima book a few weeks ago, but at this point I agree with the sentiments. It feels 'academic' - which interests me personally, but I wouldn't want to impose it on my team at this point. Feels too complex; and I fear I'll need quite a lot of practice before I can really grok it. The comparison with C++ is sort of how I feel too.

We're embarking on a new, no-legacy code project; and I just don't see any scenarios where Scala offers any advantage over Java from a development/deployment point of view.

If Scala's capabilities show up in some 'killer scenarios' - like reducing the ORM mismatch (the EJB, Hibernate complexities), or DI needs (Spring, etc.), or the Web-middletier mismatches, I think that'll convince the masses to cross-over.

My .02
-jb
Andrew
Posts: 18 / Nickname: 55548 / Registered: May 16, 2008 6:33 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 3, 2008 2:31 AM      
> We're embarking on a new, no-legacy code project; and I
> just don't see any scenarios where Scala offers any
> advantage over Java from a development/deployment point of
> view.

I've read 1/2 of the artima book, and so far I've been very pleasantly suprised. It's a very good read, very well written and formatted.

To me scala doesn't come across as complex. However, it definitely seems possible to misuse the language, as it is far more flexible (particularly syntactically) than Java. Very easy to create a DSL like set of operators and then create code that looks completely foreign.

> If Scala's capabilities show up in some 'killer scenarios'
> - like reducing the ORM mismatch (the EJB, Hibernate
> complexities), or DI needs (Spring, etc.), or the
> Web-middletier mismatches, I think that'll convince the
> masses to cross-over.

The killer combination for me is the ability to mould the syntax. I'm looking for something less verbose than Java, having finally gotten tired of the line count to power ration. The inference, closure support, delayed eval, and full operator support (including things like "?") give me a workable alternative to Oz/Mozart, but on the JVM where I can leverage existing libraries.

So, perhaps not a team language at the moment -- it's too "sharp". But for the original article to compare it to C++ is perhaps unfair. I did commercial C++ for 7 years, and I'd never wish that on anyone.

Andrew
James
Posts: 11 / Nickname: jiry / Registered: November 15, 2007 2:29 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 3, 2008 7:52 AM      
I'm calling BS on the "Scala is as complex as C++." I did C++ professionally for years and there are still strange dark corners that I never fully understood. I've been doing Scala for about a year now for personal projects and you have to do some pretty sophisticated type hacking to make me scratch my head.
Arik
Posts: 1 / Nickname: arikkfir / Registered: June 3, 2008 4:11 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 3, 2008 9:13 AM      
Hi,

I haven't seen any comment about OSGI - is this something JetBrains are considering for inclusion in IDEA 8?
johny
Posts: 11 / Nickname: johnyboyd / Registered: April 26, 2007 3:17 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 3, 2008 9:43 AM      
>
> I've read 1/2 of the artima book, and so far I've been
> very pleasantly suprised. It's a very good read, very
> well written and formatted.

Yup, it's indeed a good read - so far.

>
> > If Scala's capabilities show up in some 'killer
> scenarios'
> > - like reducing the ORM mismatch (the EJB, Hibernate
> > complexities), or DI needs (Spring, etc.), or the
> > Web-middletier mismatches, I think that'll convince the
> > masses to cross-over.
>
> The killer combination for me is the ability to mould the
> syntax. I'm looking for something less verbose than Java,
> having finally gotten tired of the line count to power
> ration. The inference, closure support, delayed eval, and
> full operator support (including things like "?") give me
> a workable alternative to Oz/Mozart, but on the JVM where
> I can leverage existing libraries.

For me, when I yearn for something less verbose than Java,
Python fits quite well. Higher line count to power, easier to program than Scala, a nice set of libraries ....

With Scala, if I've been off reading or dabbling in it for a week, takes me some mental cycles before I can understand the code again ...

I suspect folks will have to use Scala as a 'richer Java' initially (just as with C++ and C) - using a subset of its features.

-jb
Alex
Posts: 8 / Nickname: alexstojan / Registered: June 20, 2005 0:51 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 3, 2008 0:09 PM      
> To me scala doesn't come across as complex. However, it
> definitely seems possible to misuse the language, as it is
> far more flexible (particularly syntactically) than Java.
> Very easy to create a DSL like set of operators and then
> n create code that looks completely foreign.


No language seems complex when you read a textbook about it. Maybe after you start using Scala for large projects you would get a different perspective on it and form a different opinion about its complexity.


> So, perhaps not a team language at the moment -- it's too
> "sharp". But for the original article to compare it to
> C++ is perhaps unfair. I did commercial C++ for 7 years,
> and I'd never wish that on anyone.

You're comparing your 7 years commercial C++ experience with 0 years home-projects Scala experience and drawing conclusions based on that. What I'm trying to say here is that a true language comparison is possible only when you know both languages equally well (including the idioms and all programming techniques it directly supports) and when you used both languages on projects of comparable complexity - not an easy experience to achieve.
peter
Posts: 3 / Nickname: pk11 / Registered: April 7, 2008 2:52 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 3, 2008 3:46 PM      
"That said, Scala support is probably the most asked-for thing from us at the moment. But I don't think people ask for it because they use Scala today. People ask us to support Scala because they think that that is what they're going to use in the future, and expect that they'll need it. Whether they'll actually be able to use that feature [Scala support], I'm not sure about."

this is a kind of chicken-and-egg problem. yes only just the early adopters are using the language right now, but precisely because of the lack of good tools.

people are asking for the plugin not because they are already using scala but because they could consider scala seriously only with good IDE support (how could someone sell scala to a random shop with full of java developers who are used to good tools? it's a cool language, dude, but you have to go back to vim? which I personally do not mind btw)

a good scala plugin would boost the adaption of the language (and the IDE) overnight!
Andrew
Posts: 18 / Nickname: 55548 / Registered: May 16, 2008 6:33 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 4, 2008 1:34 AM      
> For me, when I yearn for something less verbose than
> Java,
> Python fits quite well. Higher line count to power, easier
> to program than Scala, a nice set of libraries ....

I agree, python is very nice. However, I find that I can't live without static typing, particularly in a large system. I used python intensively for a year, and then stopped just like that. Although I loved it for it's natural expressability, I didn't miss it. I also got tired of the hacks for things like accessibility, the self parameter etc.

Andrew
Andrew
Posts: 18 / Nickname: 55548 / Registered: May 16, 2008 6:33 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 4, 2008 1:46 AM      
> > To me scala doesn't come across as complex. However,
> it
> > definitely seems possible to misuse the language, as it
> is
> > far more flexible (particularly syntactically) than
> Java.
> > Very easy to create a DSL like set of operators and
> then
> > n create code that looks completely foreign.
>
>
> No language seems complex when you read a textbook about
> it. Maybe after you start using Scala for large projects
> you would get a different perspective on it and form a
> different opinion about its complexity.

No need for misdirected aggression; I was clearly stating my opinion (e.g. "To me..."), and I clearly indicated that I've only read about it and made toy programs in it.

However, I'm extrapolating having build large commercial systems in various languages: C, C++, Smalltalk, Java, Lisp. I've also come to the language having programmed smaller systems in Mozart/Oz which meshes well with the Scala approach.

> > So, perhaps not a team language at the moment -- it's
> too
> > "sharp". But for the original article to compare it to
> > C++ is perhaps unfair. I did commercial C++ for 7
> years,
> > and I'd never wish that on anyone.
>
> You're comparing your 7 years commercial C++ experience
> with 0 years home-projects Scala experience and drawing
> conclusions based on that. What I'm trying to say here is
> that a true language comparison is possible only when you
> know both languages equally well (including the idioms and
> all programming techniques it directly supports) and when
> you used both languages on projects of comparable
> complexity - not an easy experience to achieve.

I wasn't stating that I was doing a full comparison.

I guarantee, however, that some of the problems in C++ won't haunt Scala programs. Wild pointers, odd memory errors and the like. As for complexities and misuse of the language (such as template metaprogramming), I doubt scala could rise to those painful "heights". I concur with one of the other poster -- In my 7 years of C++ programming, there were various dark areas of the language I still didn't know and wouldn't go near. As for getting first timers started in C++ (which happened occasionally when we brought in graduates), don't get me started.

Enough about me: what's your experience with C++ and Scala in large projects?

Andrew
Alex
Posts: 8 / Nickname: alexstojan / Registered: June 20, 2005 0:51 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 4, 2008 9:49 AM      
> No need for misdirected aggression; I was clearly stating
> my opinion (e.g. "To me..."), and I clearly indicated that
> I've only read about it and made toy programs in it.

I apologize if I sounded aggressive; it wasn't my intention :)


> I guarantee, however, that some of the problems in C++
> won't haunt Scala programs. Wild pointers, odd memory
> errors and the like. As for complexities and misuse of
> the language (such as template metaprogramming), I doubt
> scala could rise to those painful "heights". I concur
> with one of the other poster -- In my 7 years of C++
> programming, there were various dark areas of the language
> I still didn't know and wouldn't go near. As for getting
> first timers started in C++ (which happened occasionally
> when we brought in graduates), don't get me started.

It's true that some C++ problems won't appear in Scala, but you might get all kinds of different problems. Java was supposed to eliminate lots of problems that C++ programmers have to deal with (pointers , memory issues), but if you look at those user groups there are other types of problems they complain about. The same will probably happen with Scala, it's just that the language is not being seriously used (yet).

> Enough about me: what's your experience with C++ and Scala
> in large projects?

I don't have any experience with Scala - I just read the tutorial on their web site and I also liked what I saw there but, as I said above, I really don't know what would it be like to use Scala on a large project. I mostly use C++ and my experience with it seems to be quite different than yours. Specifically, we built a quite extensive C++ framework to use for our applications and I see very few pointer and memory problems. I admit, though, that our framework does not use template metaprogramming which, I agree, can get nasty. As always, there's more than one way to accomplish the same thing, so it all depends on the kind of C++ code we get to deal with, which ultimately affects our perception of the language.
Alex
Posts: 8 / Nickname: alexstojan / Registered: June 20, 2005 0:51 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 4, 2008 11:52 AM      
> As for getting
> first timers started in C++ (which happened occasionally
> when we brought in graduates), don't get me started.

I'm just curious to know what problems did you encounter when trying to get new graduates up to speed with C++. Was it the syntax, the concepts (I don't mean the new C++0x 'concept' construct), the language inconsistencies, etc.?
johny
Posts: 11 / Nickname: johnyboyd / Registered: April 26, 2007 3:17 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 4, 2008 0:44 PM      
>
> Enough about me: what's your experience with C++ and Scala
> in large projects?

I am curious about large-scale commercial or open source projects using Scala. I'm aware of Lift - the web framework, that's all.

The scala website or googling yields nothing notable.

rgds
-jb
Dick
Posts: 9 / Nickname: roybatty / Registered: September 15, 2003 4:57 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 4, 2008 3:16 PM      
I pretty much agree with Dmitry on his assessment of Scala and Groovy in the whole ecosystem of JVM development for the future - not that I'm agreeing with his assessment of the strengths or weaknesses of the languages.

The JVM seriously needs something like Boo http://boo.codehaus.org
Jesper
Posts: 1 / Nickname: megagurka / Registered: December 9, 2007 9:26 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 4, 2008 10:19 PM      
I think it's unfair to compare Scala to C++. Yes, you can write very complex type expressions in Scala (even emulate C++ meta programming), but those expressions would be complex in any language (but maybe more readable in Haskell for example). And in some sense Scala is simpler to use than Java generics because of declaration site variance.

Every feature in Scala is well founded and you can't really make it any simpler without sacrificing JVM compatibility or expressiveness. IMO, Scala is the best candidate for replacing Java and it would be mistake not to support it in IDEA.
28 posts on 2 pages.
« Previous 1 2 Next »