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 T
Martin
Posts: 15 / Nickname: modersky / Registered: September 14, 2003 9:46 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 4, 2008 11:49 PM      
Regarding Scala complexity: It's true that Scala is quite a difficult language to implement, and I have a lot of respect for JetBrains' determination to write a complete compiler for it. But in my experience it's generally not a very difficult language to learn. I speak from experience: I have been teaching many hundreds of undergrads in it, and received overwhelmingly positive feedback.

Typically, I have been teaching a 56 hour course on ``advanced programming'' in Scala. The students taking that course had a one year experience in Java. The following year the same students took a course in compiler construction. For the (heavy) project of that latter course, students had an option to write their program in Java or in Scala. In recent years, 100% of the students chose to do it in Scala. If Scala would be such a difficult language to master, I think the students would have chosen differently, because project work was very important for the grade they received.
Andrew
Posts: 18 / Nickname: 55548 / Registered: May 16, 2008 6:33 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 5, 2008 2:19 AM      
> 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.?

main problem was the fact that a small error in a piece of code written by the grad could mess up data structures of important things in other parts of the program a million miles away. for instance, on a large-ish (100kloc) intra-day risk reporting system, a grad was asked to change some code that was peripherally used in the main reconciliation logic. they overwrote an array, eating into another data structure. trouble was that this other structure was some of the reconciliation values, some of the time ;-)

the error was non-deterministic and very costly to track down.

the constructs were less of a problem, although we all tended to use a mainstream set and avoid things like pointers to member fns etc.

Cheers,
Andrew
Fred
Posts: 5 / Nickname: fredgarvin / Registered: January 4, 2008 3:43 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 5, 2008 8:19 AM      
Martin,

Re:
>>>
In recent years, 100% of the students chose to do it in Scala. If Scala would be such a difficult language to master, I think the students would have chosen differently, because project work was very important for the grade they received.
<<<

My guess is that there are other forces at work. First, your teaching Scala is curiously odd, irrespective of the usefulness of Scala. Scala is only just now stabilizing (sort of). So, the fact that you've been teaching a 56 hour course on it is interesting. Perhaps you have a personal affection or bias toward the language with a sprinkle of distaste for Java. And perhaps that bias makes its way into the classroom. Such being the case I'm not at all surprised your students "chose" Scala over Java. The 100% stat is nearly proof positive of that -- an 80 or 90% figure would at least indicate students have some level of independent thought.

In addition since Scala followed Java, your students probably learned more advanced programming techniques in Scala. So it is not surprising that they chose Scala for their project, regardless of what language they learned prior to that.

Lastly, language choice in an academic setting is probably not a real indication of simplicity or usefulness relative to other languages. At MIT Scheme has been the language of choice for years, nuff said there.
Maarten
Posts: 4 / Nickname: terkans / Registered: January 5, 2005 2:30 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 5, 2008 8:30 AM      
> ... First,
> your teaching Scala is curiously odd, irrespective of the
> usefulness of Scala. Scala is only just now stabilizing
> (sort of).

Fred,

It's not really odd for Martin to be teaching his students Scala. You must have missed the fact that he is the main designer of Scala. ;-)
Fred
Posts: 5 / Nickname: fredgarvin / Registered: January 4, 2008 3:43 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 5, 2008 9:20 AM      
Ha! Well, I suppose he is a bit biased then :)
Michael
Posts: 1 / Nickname: emmby / Registered: June 5, 2008 6:33 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 5, 2008 11:38 AM      
I enjoyed hearing Dmitry's take on where IntelliJ is going. The refactoring project sounds exciting. My career has taken me to python+django recently and I've found the state of IDEs in the python world to be a bit lacking compared to IntelliJ on java. I'm getting along fine on WingIDE after finding Komodo to be much too primitive, but I would definitely pay for a python-oriented version of IntelliJ if it was anywhere near as good as the java one.
Fred
Posts: 5 / Nickname: fredgarvin / Registered: January 4, 2008 3:43 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 5, 2008 0:17 PM      
Re:
>>>
I would definitely pay for a python-oriented version of IntelliJ if it was anywhere near as good as the java one
<<<

Python is a dynamic language. No static typeing => No nice IDEs.
Patrick
Posts: 7 / Nickname: pdoubleya / Registered: June 17, 2005 11:28 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 5, 2008 1:05 PM      
> What do you think about the directions for IntelliJ 8, and

It seems they are headed in a good direction. What I do miss with IDEA is having "super text editor" features that I get with jEdit (and previously with EditPlus on Windows, Emacs, others). I still open up jEdit or vi periodically to work with some non-Java files (shell scripts, data dumps, log files, etc.). jEdit does well in that regard with the encoding support, lots of utility scripts, quick per-buffer options access, among other things. OTOH, I wouldn't use jEdit again for Java projects unless I had no other choice.

I'm happy with IDEA for working with Java-oriented projects and am excited about the Scala plugin, which I've been building and testing periodically. I also think it's brave of them to be committing resources to it when it's not clear what the uptake will be, long-term. It's unfortunate that Eclipse, NetBeans and IDEA have such different underlying models that more of the plugin code can't be shared between them.

It's also cool to see that a chunk of the IDEA Scala plugin is being written in Scala itself.

I hope JetBrains' moves to widen their market works for them; they do good work.

> about Jemerov's comments concerning Scala?

So far, my sense is that the flexibility of the language will be considered a plus in the long term, but that in the short term it can be a little daunting if you don't have the right background. I'm happy however that the community is already diverse, and that it includes people like Bill Venners--the sample code in http://www.artima.com/weblogs/viewpost.jsp?thread=232028 really leaves little for a post-Java programmer to complain about, and a lot to look forward to.
Jesse
Posts: 1 / Nickname: jkuhnert / Registered: August 2, 2006 11:20 AM
a good debugger might be enough
June 6, 2008 5:51 AM      
I tried really hard to fully embrace the textmate method of ruby development my friends use but obviously found it lacking in a few important areas. (like good autocompletion) It's a nice editor and all but doesn't come close to the productivity gains realized with a good ide.

It felt like I was using emacs again - but in a bad way. (lots of browser tabs open with rubydoc pages and such)

They do seem to have a sort of douche-y aversion to anything java related, but maybe a good debugger will be just enough to be too irresistible. At that point they would just be impractical / close-minded.

good luck, that community definitely needs a good ide...
sawan
Posts: 3 / Nickname: kst / Registered: August 14, 2006 6:08 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 6, 2008 5:57 AM      
I agree with Jesper. Looking from a different perspective, Is Java language better than Scala in any aspect?

And any powerful language looks complex for a newcomer. It takes reading a text book/specification and getting hands on experience with a project to get comfortable with the language.

Everybody knows the biggest pain with C++ is memory management , and scala developers doesnt have to worry about that, so +1 for scala.

And I feel, by incorporating Scala in to a team, we raise the IQ of the team members, and make them better programmers, producing better code, but I may be wrong!
James
Posts: 1 / Nickname: jarober61 / Registered: June 26, 2003 1:36 PM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
June 8, 2008 4:01 PM      
It would be nice if Dmitry had any awareness of what's been done in Smalltalk and Lisp. He could start by reading <a href="http://patricklogan.blogspot.com/2008/06/does-history-of-computing-matter .html">Patrick Logan</a>, and he could move on to reading <a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&printT itle=When_you_dont_know_what_you_dont_know&entry=3390403242">my response</a>. Then he might try looking at a Lisp or Smalltalk image, and educating himself on what's actually possible in an IDE that's written in itself.
Olivier
Posts: 1 / Nickname: xolotl / Registered: September 29, 2004 7:31 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
August 20, 2008 4:42 PM      
What does Mr Jemerov mean by Scala doesn't have a specification in the sense that Java has ? On the contrary Scala is an exception among these emerging languages in that in does have a real spec, which is absolutely comparable to the JLS and was written before the first implementation of the language.
T
Posts: 1 / Nickname: mtran / Registered: October 15, 2009 8:32 AM
Re: JetBrains' Dmitry Jemerov on IntelliJ 8, Flex, and Scala
October 15, 2009 2:27 PM      
I feel that Scala's complexity is at a totally different level compared to C++. Scala complexity is in the features (trait, variance, pattern matching, etc) that enable advanced designs, while C++ complexity comes from just trying to prevent cosmic code chaos. Also, there's a choice in Scala to not make use of those features, i.e turning off the complexity, and you'll end up with Java-with-kickass-syntax. I can see that IDE support for Scala is probably difficult to implement, due to the breadth and depth of the advanced features, but that says nothing about the usefulness of the language itself. Scala is extremely well thought out, and it runs on JVM - why is it "just academic"?
28 posts on 2 pages.
« Previous 1 2 Next »