This can be a GREAT idea, if it includes good support for developing stored procedures, where "good" means with navigation, cross-referencing, searching and refactoring features. All of the tools I've tried, although generally acceptable for SQL editing, database querying and so on, were completely unusable for developing stored procedures (including TOAD for PL/SQL s.p.).
I would love to see IDEA become highly customizable to closely match my work preferences, something akin to the Eclipse perspectives. IDEA is moving in so many directions, Ruby, Swing GUI builder, etc., features that I may need on one project but not another, that I feel it no longer 'works the way I do' which is something that drew me to the tool in the past! For example, since I prefer Maven over Ant, I would love to choose a 'Maven 2 Flavor' of IDEA that seamlessly conforms to the POM such that adding dependencies in IDEA automatically synchronizes the POM without me needing to know anything about Maven!. With each 'Flavor' those features that are not needed simply are not available. For example, if I am creating a Maven/Spring/Hibernate/JSF/Facelets project I do not need the Swing GUI designer to be available. So in a sense each of these 'Facets' combine to create the 'Flavor' that I am wanting.
As a platform Eclipse is very attractive but does not give me the feeling that it 'works like I do'. I believe that in order for IDEA to continue to compete with this platform, it must align itself as a 'personal platform' that allows developers easily to choose, configure, and assemble the desired modules that match their work style on a project by project basis.
What's the main value of an integrated profiler for you, compared to, for example, YourKit's IntelliJ IDEA integration?
I don't mind firing up a profiler to measure CPU time and allocation patterns, but for the simple act of finding out why a specific object isn't garbage collected I just want to select an object in the debugger and select a command Find Backward References.
Good news to see IntelliJ IDEA 7.0.3 EAP support Flex. I have been using IDEA for years for all my Java coding and I think with the Flex facet it is a very strong competitor to Flex Builder and FDT. I do not expect IntelliJ to develop a design view feature - for that I can use Flex Builder but you could make me really happy with an IDEA Flex debugger for my day to day work. Any plans?
Good news to see IntelliJ IDEA 7.0.3 EAP support Flex. I have been using IDEA for years for all my Java coding and I think with the Flex facet it is a very strong competitor to Flex Builder and FDT. I do not expect IntelliJ to develop a design view feature - for that I can use Flex Builder but you could make me really happy with an IDEA Flex debugger for my day to day work. Any plans?
Flex debugger is already being developed for 8.0. And the design view for Flex is not planned at all for now.
-- Dmitry Jemerov Development Lead JetBrains, Inc. http://www.jetbrains.com/ "Develop with Pleasure!"
Speaking of a godlike debugger, let me paint a picture of what I'd like.
Imagine you've just started a new contract and have to come up to speed on some codebase. Or imagine you're trying to figure out where code is spending it's time or chewing up memory.
Now imagine a 2d zoomable canvas which displays all the packages and classes in the project - it could be arranged in numerous ways and you could hide/show the standard java packages and third party jars.
Now you run the code and as each line of code is executed, the appropriate class flashes. There's a slider control which adjusts the speed of code execution - 10 lines per second, 100 lines per second, etc.
Now lets zoom in. Ooh look, there are the methods within the classes I'm interested in and they flash as they get called. Not only that, I can see that method foo has called bar which has called zed because foo and bar are highlighted to show they're on the call stack. As they pop off the stack, the highlighting disappears.
Instantly you could get a feel for what the code is doing and see the common paths that executing code takes - eg the struts or jsf lifecycle.
Zoom a bit more and perhaps you could see lines of code.
And off to the side you could see a graph of memory usage. Ah, the memory usage goes up when the executing code goes into the classes in that package over there!
Now that's a visual debugger.
The great thing is, I don't see any reason why this can't be done! In fact someone could probably write it as a plugin. But it may as well be Jetbrains that does it. I mean, this would really blow other IDEs out of the water.
The profiling is more a minor bonus. I want it mostly to get a feel for the common paths the codebase takes to do stuff - eg a web request.
And being able to easily filter out certain paths would be nice. "Ok, I can see now how megacorp's useless custom logging framework code works. I'll right click to tell the debugger to never delve down into the logging class' methods."
My thesis was about a tool a little similar to this. It sounded like a great idea, but even for your basic quicksort algorithm the visualization is hard to grasp.
Looking at that animation for a JSF or Struts application would be like a bird's eye view on New York with every moving car highlighted at once. Does not help much if you can filter that by district.
Neville Ridley-Smith wrote:
The profiling is more a minor bonus. I want it mostly to get a feel for the common paths the codebase takes to do stuff - eg a web request.
And being able to easily filter out certain paths would be nice. "Ok, I can see now how megacorp's useless custom logging framework code works. I'll right click to tell the debugger to never delve down into the logging class' methods."
What I most want to do is get an overview, like the speed reading technique of just flipping through a book looking at the headings to get a feel for things before reading the content.
To come up to speed on a code base or method, I read through each line, doing copious ctrl-b's and ctrl-alt-left's to fully understand what it's doing. With a debugger like this I could run this through at say 10 lines per second and get a general overview before reading the detail. And then run it through again to reinforce what I've just tried to grok.
I would hope that IJ gets out in front of the iPhone development. Just like JetGroovy and the Ruby plugin, this could be on par with those quality releases. I see Android is getting there as well as the Flex Development. Keep up the good work guys.
I would hope that IJ gets out in front of the iPhone development. Just like JetGroovy and the Ruby plugin, this could be on par with those quality releases. I see Android is getting there as well as the Flex Development. Keep up the good work guys.
Web development for iPhone is the same thing as Web development for anything else, so no special IDE support is required for that. And the SDK-based iPhone development will be (most likely) based on Objective C, which is a C-based language (with C preprocessor and other stuff). We don't support C currently, and don't have any plans for that right now.
-- Dmitry Jemerov Development Lead JetBrains, Inc. http://www.jetbrains.com/ "Develop with Pleasure!"
a little suggestion: what's bugging me is that there is no way to navigate through the code at a "to that specific place"-level. this will probably confuse everyone, so i'll give an example:
private void connectZones() { for (Zone[] l_zone : m_zones) { cursore here } }
now lets say idea warns me about l_zone not being final and m_zones possibly being null. i want to press a key that allows me to jump to l_zone or m_zones to do whatever i want to do. then i'll ctrlaltleft back to my original position. right now i have 3 choices: + the mouse + press f2 and hope there are no warnings below the cursor + use the cursor keys.
something simple like "highlight all warnings&syntax errors on the screen, add some popup (similar to the alt+enter import popup) to any of them telling me which key to press to jump there would solve that. it would be way faster than anything of the 3 ways i have now. (the popups should be activated by a hotkey of course - too distracting otherwise)
What I really would like to have is a "goto where I look at" action. Maybe a high-resolution webcam with eye tracking software? ;)
HamsterofDeath wrote:
a little suggestion: what's bugging me is that there is no way to navigate through the code at a "to that specific place"-level. this will probably confuse everyone, so i'll give an example:
private void connectZones() { for (Zone[] l_zone : m_zones) { cursore here } }
now lets say idea warns me about l_zone not being final and m_zones possibly being null. i want to press a key that allows me to jump to l_zone or m_zones to do whatever i want to do. then i'll ctrlaltleft back to my original position. right now i have 3 choices: + the mouse + press f2 and hope there are no warnings below the cursor + use the cursor keys.
something simple like "highlight all warnings&syntax errors on the screen, add some popup (similar to the alt+enter import popup) to any of them telling me which key to press to jump there would solve that. it would be way faster than anything of the 3 ways i have now.
You think that's funny, but I've long thought such a thing would be useful. It would essentially be a second pointer. The technology needed to integrate such sensors into eyeglasses has existed for quite a long while, so in principle it could be done.
That would be great when coding! No need to move the hands from keyboard to mouse. Just looking at a point and pressing a key would be much faster than reaching for the mouse. :) I hope that those techniques will become commonly available at some point...
Don't expect it too soon - we're doing a very big internal refactoring, and I don't think we'll have a stable enough version before it's completed.
How many weeks / months do you expect before we have a flex debugger available. As much as I hate to not use IDEA, without a proper debugger makes it hard to do any serious development (for me) so I might have to use FB in the interim.
>> Hello Peter, >>> that's great news - where is the EAP? :) >>> >> Don't expect it too soon - we're doing a very big internal >> refactoring, and I don't think we'll have a stable enough version >> before it's completed. >>
How many weeks / months do you expect before we have a flex debugger available. As much as I hate to not use IDEA, without a proper debugger makes it hard to do any serious development (for me) so I might have to use FB in the interim.
Diana EAP will start quite soon, and it will include a prototype Flex debugger.
-- Dmitry Jemerov Development Lead JetBrains, Inc. http://www.jetbrains.com/ "Develop with Pleasure!"
EAP is in last stage preparation (release notes already done ;)
Sanjiv Jivan wrote: >>
>>Hello Peter, >> >> >>>that's great news - where is the EAP? :) >> >>Don't expect it too soon - we're doing a very big internal refactoring, and >>I don't think we'll have a stable enough version before it's completed. >> >>
How many weeks / months do you expect before we have a flex debugger available. As much as I hate to not use IDEA, without a proper debugger makes it hard to do any serious development (for me) so I might have to use FB in the interim.
Thanks, Sanjiv
Edited by: Sanjiv Jivan on Mar 19, 2008 6:30 AM
-- Best regards, Maxim Mossienko IntelliJ Labs / JetBrains Inc. http://www.intellij.com "Develop with pleasure!"
This can be a GREAT idea, if it includes good support for developing stored procedures, where "good" means with navigation, cross-referencing, searching and refactoring features. All of the tools I've tried, although generally acceptable for SQL editing, database querying and so on, were completely unusable for developing stored procedures (including TOAD for PL/SQL s.p.).
Please ignore
I'd love to see Ant debugging as part of IDEA.
This exists in both Eclipse and NetBeans - it's a large gap in IDEA's abilities.
Douglas Bullard
+1
I would love to see IDEA become highly customizable to closely match my work preferences, something akin to the Eclipse perspectives. IDEA is moving in so many directions, Ruby, Swing GUI builder, etc., features that I may need on one project but not another, that I feel it no longer 'works the way I do' which is something that drew me to the tool in the past! For example, since I prefer Maven over Ant, I would love to choose a 'Maven 2 Flavor' of IDEA that seamlessly conforms to the POM such that adding dependencies in IDEA automatically synchronizes the POM without me needing to know anything about Maven!. With each 'Flavor' those features that are not needed simply are not available. For example, if I am creating a Maven/Spring/Hibernate/JSF/Facelets project I do not need the Swing GUI designer to be available. So in a sense each of these 'Facets' combine to create the 'Flavor' that I am wanting.
As a platform Eclipse is very attractive but does not give me the feeling that it 'works like I do'. I believe that in order for IDEA to continue to compete with this platform, it must align itself as a 'personal platform' that allows developers easily to choose, configure, and assemble the desired modules that match their work style on a project by project basis.
I don't mind firing up a profiler to measure CPU time and allocation
patterns,
but for the simple act of finding out why a specific object isn't garbage
collected
I just want to select an object in the debugger and select a command Find
Backward References.
/Mikael
Good news to see IntelliJ IDEA 7.0.3 EAP support Flex. I have been using IDEA for years for all my Java coding and I think with the Flex facet it is a very strong competitor to Flex Builder and FDT. I do not expect IntelliJ to develop a design view feature - for that I can use Flex Builder but you could make me really happy with an IDEA Flex debugger for my day to day work. Any plans?
Hello Peter,
Flex debugger is already being developed for 8.0. And the design view for
Flex is not planned at all for now.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Speaking of a godlike debugger, let me paint a picture of what I'd like.
Imagine you've just started a new contract and have to come up to speed on some codebase. Or imagine you're trying to figure out where code is spending it's time or chewing up memory.
Now imagine a 2d zoomable canvas which displays all the packages and classes in the project - it could be arranged in numerous ways and you could hide/show the standard java packages and third party jars.
Now you run the code and as each line of code is executed, the appropriate class flashes. There's a slider control which adjusts the speed of code execution - 10 lines per second, 100 lines per second, etc.
Now lets zoom in. Ooh look, there are the methods within the classes I'm interested in and they flash as they get called. Not only that, I can see that method foo has called bar which has called zed because foo and bar are highlighted to show they're on the call stack. As they pop off the stack, the highlighting disappears.
Instantly you could get a feel for what the code is doing and see the common paths that executing code takes - eg the struts or jsf lifecycle.
Zoom a bit more and perhaps you could see lines of code.
And off to the side you could see a graph of memory usage. Ah, the memory usage goes up when the executing code goes into the classes in that package over there!
Now that's a visual debugger.
The great thing is, I don't see any reason why this can't be done! In fact someone could probably write it as a plugin. But it may as well be Jetbrains that does it. I mean, this would really blow other IDEs out of the water.
What do you think?
so basically you suggest to merge a profiler and debugger to simulate the effect of magic mushrooms while the program is running.
The profiling is more a minor bonus. I want it mostly to get a feel for the common paths the codebase takes to do stuff - eg a web request.
And being able to easily filter out certain paths would be nice. "Ok, I can see now how megacorp's useless custom logging framework code works. I'll right click to tell the debugger to never delve down into the logging class' methods."
My thesis was about a tool a little similar to this.
It sounded like a great idea, but even for your basic quicksort algorithm
the visualization is hard to grasp.
Looking at that animation for a JSF or Struts application would be like
a bird's eye view on New York with every moving car highlighted at once.
Does not help much if you can filter that by district.
Neville Ridley-Smith wrote:
Were you able to control the speed?
What I most want to do is get an overview, like the speed reading technique of just flipping through a book looking at the headings to get a feel for things before reading the content.
To come up to speed on a code base or method, I read through each line, doing copious ctrl-b's and ctrl-alt-left's to fully understand what it's doing. With a debugger like this I could run this through at say 10 lines per second and get a general overview before reading the detail. And then run it through again to reinforce what I've just tried to grok.
Hello Dmitry,
that's great news - where is the EAP? :)
Hello Peter,
Don't expect it too soon - we're doing a very big internal refactoring, and
I don't think we'll have a stable enough version before it's completed.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
I would hope that IJ gets out in front of the iPhone development. Just like JetGroovy and the Ruby plugin, this could be on par with those quality releases. I see Android is getting there as well as the Flex Development. Keep up the good work guys.
Hello Steve,
Web development for iPhone is the same thing as Web development for anything
else, so no special IDE support is required for that. And the SDK-based iPhone
development will be (most likely) based on Objective C, which is a C-based
language (with C preprocessor and other stuff). We don't support C currently,
and don't have any plans for that right now.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
a little suggestion:
what's bugging me is that there is no way to navigate through the code at a "to that specific place"-level. this will probably confuse everyone, so i'll give an example:
private void connectZones() {
for (Zone[] l_zone : m_zones) {
cursore here
}
}
now lets say idea warns me about l_zone not being final and m_zones possibly being null. i want to press a key that allows me to jump to l_zone or m_zones to do whatever i want to do. then i'll ctrlaltleft back to my original position. right now i have 3 choices:
+ the mouse
+ press f2 and hope there are no warnings below the cursor
+ use the cursor keys.
something simple like "highlight all warnings&syntax errors on the screen, add some popup (similar to the alt+enter import popup) to any of them telling me which key to press to jump there would solve that. it would be way faster than anything of the 3 ways i have now.
(the popups should be activated by a hotkey of course - too distracting otherwise)
Message was edited by:
HamsterofDeath
Shift-F2 would work better.
What I really would like to have is a "goto where I look at" action.
Maybe a high-resolution webcam with eye tracking software? ;)
HamsterofDeath wrote:
You think that's funny, but I've long thought such a thing would be useful. It would essentially be a second pointer. The technology needed to integrate such sensors into eyeglasses has existed for quite a long while, so in principle it could be done.
Here's a paper:
- "Vision-Based Eye-Gaze Tracking for Human Computer Interface"
http://www.umiacs.umd.edu/~knkim/paper/ieee_smc99_hci-eyegaze.pdf
It's also used to help people with serious physical disabilities communicate with computers:
- http://www.eyegaze.com/
And, as they say, "much much more." Google gives many hits for "Eye Gaze Tracking"
Randall Schulz
Here is a video about eye gaze tracking in action: http://hci.stanford.edu/research/GUIDe/
That would be great when coding! No need to move the hands from keyboard to mouse. Just looking at a point and pressing a key would be much faster than reaching for the mouse. :) I hope that those techniques will become commonly available at some point...
How many weeks / months do you expect before we have a flex debugger available. As much as I hate to not use IDEA, without a proper debugger makes it hard to do any serious development (for me) so I might have to use FB in the interim.
Thanks,
Sanjiv
Edited by: Sanjiv Jivan on Mar 19, 2008 6:30 AM
Hello Sanjiv,
>>
>> Hello Peter,
>>> that's great news - where is the EAP? :)
>>>
>> Don't expect it too soon - we're doing a very big internal
>> refactoring, and I don't think we'll have a stable enough version
>> before it's completed.
>>
Diana EAP will start quite soon, and it will include a prototype Flex debugger.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
EAP is in last stage preparation (release notes already done ;)
Sanjiv Jivan wrote:
>>
>>Hello Peter,
>>
>>
>>>that's great news - where is the EAP? :)
>>
>>Don't expect it too soon - we're doing a very big internal refactoring, and
>>I don't think we'll have a stable enough version before it's completed.
>>
>>
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
MM> EAP is in last stage preparation (release notes already done ;)
Let's see them, then. ;)
Best,
Andrei