SlickEdit Community

SlickEdit Product Discussion => SlickEdit® => Topic started by: crygaard on July 14, 2006, 10:09:39 pm

Title: Has SlickEdit abandoned Java?
Post by: crygaard on July 14, 2006, 10:09:39 pm
Are the folks at SlickEdit abandoning Java?

One one of my projects, I use C++.  For that project, the various SlickEdit features work quite well, including refactoring.

On my other project, I'm using Java extensively.  SlickEdit is becoming a real problem on that project.  (I'm use SlickEdit only because it is so difficult to switch between editors when I switch between projects.)

Examples include:
- Class name completion worked on earlier releases, but no longer works.
- Compilation errors from Java 1.4 and 1.5 are not properly parsed when I press <ctrl><shift><down> or <ctrl><shift><up>.
- The folks at SlickEdit don't even bother with Java refactoring, but they really advertise their C++ refactoring.
- On another thread on this forum, another user pointed out that the Java UI builder has been dumped in V11.

It's pretty clear that they are no longer maintaining Java-specific features, and they are not adding features to support Java.  The only Java features in the editor are those V8.0 features that happen to still work properly.

This is rather frustrating, because I have been faithful to SlickEdit since V1.2, when Borland killed Brief.  Now I'm looking for a different editor that supports both C++ and Java.

Chris
Title: Re: Has SlickEdit abandoned Java?
Post by: dsharp on July 17, 2006, 05:27:38 am
I'm not sure it's appropriate to mention another editor on this forum, but Netbeans has recently released their C++ language pack, so assuming the C++ language pack meets your needs for C++ development, you could use Netbeans.

Dave
Title: Re: Has SlickEdit abandoned Java?
Post by: Dennis on July 17, 2006, 01:38:15 pm
With respect to the class name completion issue, I encourage your to put together a small (but complete!) example and submit it to support@slickedit.com.  At this time, I am not aware of any existing issues with symbol completion in Java.
Title: Re: Has SlickEdit abandoned Java?
Post by: Clark on July 17, 2006, 04:40:09 pm
next and prev error should work for you.  Make sure you are using Sun's javac and not Eclipse's javac (which I think is Jikes).  The command "javac --version" will tell you what version of the compiler you are using.  I think Eclipse's javac pukes on this command.

Under Linux, I noticed that "/usr/bin/javac" is eclipse's javac which does not give compiler output that slickedit uderstands.  Jikes used to have an option for a different error message format but it seems to have been removed.
Title: Re: Has SlickEdit abandoned Java?
Post by: Clark on July 17, 2006, 04:56:03 pm
The eclipse java compiler is NOT jikes.  It's the JDT compiler which is written in Java.  It's compiler output is like Jikes and is not yet support.  Install any version of Sun's compiler.  You may need to select the "Java Options..." from the "Build" menu and set the JDK installation directory to "/usr/java/jdk1.XXX".  SlickEdit does attempt to use a Sun compiler instead of the one in /usr/bin automatically.
Title: Re: Has SlickEdit abandoned Java?
Post by: ScottW, VP of Dev on July 17, 2006, 06:16:36 pm
Hi Chris,

Thanks for the feedback and the chance to address your concerns. I wasn't able to reproduce the errors you listed. Class name completion works great on all of my projects.  next-error and prev-error work just fine, too. Have you contacted support about these problems? If not, please do so and I'm sure we can help you resolve them.

It's kind of funny, because I get emails like this occasionally from both C++ and Java users, each feeling that the other is receiving more attention. In our release plans we work to make sure each constituent group benefits from new capabilities. Very often, the new capabilities we develop work across languages and are not specific to a single language.

Since version 8, we have developed the following features for Java users:

So, I don't think it's accurate to say that we are not putting effort into Java. It's true that we don't have a full Java refactoring engine, but the Quick Refactorings handle many of the most common operations and I think you are underestimating the complexity involved with developing a full Java Refactoring engine.

RefactorIT, one of the leading commercial Java refactoring tools, sells for $134.44 for the Developer edition, which is limited to projects of 500 files or less. The Enterprise Edition with no project size limitation sells for $400.61.  I think you can see that it would be hard to add a capability like this to SlickEdit, which sells for $284 for electronic distribution, without increasing the price. Though we did that with C++ Refactoring, we are still working to make it reach its full potential.

I hope this posting helps you to understand our Java strategy. We are very interested in continuing to be a great Java editor. Even lacking a full refactoring capability, I think you'll find that you can write code faster with SlickEdit than any of our competitors. If you've got ideas for additional Java features, I'd love to hear them.

--Scott

Title: Re: Has SlickEdit abandoned Java?
Post by: buggyfunbunny on July 17, 2006, 07:54:12 pm
I too find that error processing doesn't work:  win2K, 11.0.1, jdk1.4.2._11 & 1.5.X.  I remember it working, always before. 
As to sending any more info into Support, I'm not sure what any of us could send. 

As to java/jsp:  it's never going to work very well.  As explained to me by a (V)SE support person lo
those many years ago (I tried to use it immediately, as I was working with jsp from .9):  SE can keep
track of but two syntaxs (language and embedded language).  The problem is that jsp involves lots more;
html (which counts as a language, though it's not really a programming one), javascript, java, stl, user tags,
xml (and all of its mutants), etc.  In order for any editor to work, it needs a stack of language context, and
resolve tags back up.  A tall order.

It also puzzles me that, given the primacy of OO languages overall, that Defs only carries class members, and
not inherited ones too.  This is a "feature" that seems a no-brainer, but still hasn't happened.  The info is
clearly available, since right-click menu has Show Call Tree:  make those members display in Defs by default,
at user choice.

In general, though, java is a server side language.  Toss AJAX and the Google Toolkit into the mix.  my, my.

On the other hand, SE is seeing the wisdom of Ruby (not all java folks agree, of course.)  Given the choice, I'd
rather the effort go to Ruby/Python/database(of your choice). 
Title: Re: Has SlickEdit abandoned Java?
Post by: ScottW, VP of Dev on July 17, 2006, 08:37:41 pm
When reporting problems, it's best to treat this just like you would a defect in your own system and provide the info you'd like to see if you were working on it. The problem you are seeing is very clear to you, but we can't really work on a problem when all we have is a one line statement of the problem. Most don't even tell us what language they are working with.

We've got someone working on the error processing issue, but so far we can't reproduce it and no one has sent us any details to help us track this down. I've got 11.0.1 installed on Win2k and error processing works great on jdk1.5.0_06 and jdk1.4.2_10.

Here's the info we find useful:
1) Platform
2) Version
3) A description of the problem including the steps you performed and the behavior you observed.
4) If the problem is language-specific or language-related, provide the language you are working in. Which compiler are you using?
5) Did it work in the last version?
6) If you can provide a piece of sample code that reproduces the error, please include that.
7) If the problem is related to output, please include a sample of the output, such as the errors output by the compiler you are using in this case.
8) If the problem involves any keystrokes, what emulation are you using?
9) Does the problem occur on a default configuration? Copy the contents of your config directory to a safe place and start SlickEdit with an empty config directory. For 11.0.1, you would leave the 11.0.1 directory in place but remove the contents. If you delete the directory, it will create a config directory based on your last version. We want to see what happens in a default config?

Many of these can be answered by selecting Help > About SlickEdit and clicking the "Copy To Clipboard" button. In some cases we may ask you to send in your state file, but don't send that until we ask for it...it's wicked huge.

If you'd like to help us get to the bottom of this one, please send that information to support@slickedit.com.

On your other points, we have Change Requests filed for enhancing the embedded languages and adding inherited members to the Defs tab. I'm not sure I follow what you mean by "Toss AJAX and Google into the mix." Are you saying that this just makes Java a hard language to support?

Thanks for your help!

--Scott
Title: Re: Has SlickEdit abandoned Java?
Post by: buggyfunbunny on July 17, 2006, 09:39:22 pm
>>I'm not sure I follow what you mean by "Toss AJAX and Google into the mix." Are you saying that this just makes Java a hard language to support?

yes.  and let's do a smiley:   ;)
Title: Re: Has SlickEdit abandoned Java?
Post by: mrothman on July 17, 2006, 11:18:29 pm
I've upgraded to 11 and the patch for 11 on both linux and win32 and I haven't seen any degradation of Java capabilities.  I'm working in Java all the time.  And I sure make plenty of errors, so I know that compilation errors are correctly parsed.  ;)

One java capability that's been in for a while and is very useful is the special facilities for JavaDoc editing.  I've noted the improvements that Scott mentioned in v11.  One thing I haven't seen mentioned is that Doxygen (for documenting C++) accepts the JavaDoc syntax, so it's great if you're doing C++ also.

I also turned on comment wrap right away, and I'm thrilled - this has been bugging me for years.

There are some minor quirks in v 11, but overall it seems very cool.  One of my favorite things is that I finally seem to be able to work seemlessly with exactly the same workspace on both linux and win32: that is, if I have a shared network drive, I can just point either version of SlickEdit at a workspace I created with either version of SlickEdit, and it just works, including the project tag file.  I used to have to make a special configuration as part of the workspace to get this to work.

I think I've stuck with SlickEdit these many years because it has a kind of gestalt that's specific to a certain kind of programming.  It's very hands on, oriented towards developers who are working with the language features very closely (as opposed to things which generate templates for you, such as GUI builders, not that they don't have their place elsewhere), and towards multiple-platform / multiple-language work.  I like that it hews to that audience and doesn't try to be everything to everybody.
Title: Re: Has SlickEdit abandoned Java?
Post by: pchandra on July 18, 2006, 07:38:14 pm
I hate to join the chorus of "next/prev errors no longer work in Java", but I just noticed that is the case for me as well after installing the 11.0.1 patch. I can't use the next-error command, nor can I double-click the line in the .process buffer to have it take me to the appropriate line in the source. I am using RIM's compiler (rapc.exe) at the moment to compile for BlackBerry; however, I was using this compiler w/o problems under 11.0 and I believe the error format is pretty standard. Here is what a sample error looks like:

C:\st\DateTime.java:2168: ')' expected
                buffer.append(formatYear(atoms.length());
                                                           ^


-Parag

UPDATE: Just found a suggestion in another thread that seems to fix it for me: run 'reset-next-error' each time you startup SlickEdit. Is there an 'autoexec.bat' sort of macro file that I could put this command into so that it is run for me automatically? Thanks.
Title: Re: Has SlickEdit abandoned Java?
Post by: hs2 on July 19, 2006, 05:01:21 am
Try Project -> Properties -> Open Tab
and just enter the macros ( e.g. reset-next-error ) / shell commands you want to execute each time the project is opened / activated.
Note: These lines are imm. executed when quitting the dialog ('OK') ! I already did a related bug report ...
HS2
Title: Re: Has SlickEdit abandoned Java?
Post by: Dan on July 19, 2006, 06:45:37 pm
UPDATE: Just found a suggestion in another thread that seems to fix it for me: run 'reset-next-error' each time you startup SlickEdit. Is there an 'autoexec.bat' sort of macro file that I could put this command into so that it is run for me automatically? Thanks.

The VSLICK environment variable will be added as an invocation option to the editor.  So setting it to "-#reset-next-error" will do it (I just tested this).  This may be a suitable workaround until we can reproduce/fix this here.
Title: Re: Has SlickEdit abandoned Java?
Post by: jph on July 20, 2006, 05:26:34 pm
I use Java extensively at work and am generally pretty happy with Slickedit.  My biggest complaint at the moment is the lack of support for JDK 1.5 language features in Live Errors.  I really like the idea of Live Errors, and when I work on projects that can't use 1.5, I turn it on, but otherwise I've been forced to leave it off, since it just doesn't work very well for 1.5.  I was really surprised that Slickedit 11 didn't fix that, since JDK 1.5 has been out for several years now.  Worse than not working, it frequently crashes the editor when I have Live Errors turned on, so I have to be very careful.
Title: Re: Has SlickEdit abandoned Java?
Post by: ScottW, VP of Dev on July 20, 2006, 05:42:47 pm
I couldn't agree more. Live Errors is one of those features that is hard to live without once you get used to using it. Unfortunately, writing the kind of Java parser necessary to do this is a bit more than we have time for.

Our implementation is based on Jikes, an open source Java compiler that offers some really interesting capabilities. Unfortunately, Jikes has a few bugs, and it is not keeping up with the language changes in Java. We're experimenting with using the compiler in the JDK to provide the same kind of functionality. If we can get that to work we will be including it in a future release. Using the same compiler for Live Errors that you use to build your code is the best solution for making sure that the information is accurate and keeps pace with future changes in the language.

--Scott
Title: Re: Has SlickEdit abandoned Java?
Post by: crygaard on August 01, 2006, 04:47:17 pm
With respect to the class name completion issue, I encourage your to put together a small (but complete!) example and submit it to support@slickedit.com.  At this time, I am not aware of any existing issues with symbol completion in Java.

In a Java source code file, on a blank line:

(1) Type "java"
(2) Press the period key.  A list of packages pops up.
(3) Type "awt"
(4) Press the period key.  A list of packages pops up.
(5) Type "event"
(6) Press the period key.  Slickedit erases "event".
(7) Retype "event"
(8) Press the period key.  A list of classes pops up.

With Java 5 Generics, no syntax completion works at all.
Title: Re: Has SlickEdit abandoned Java?
Post by: crygaard on August 01, 2006, 04:57:16 pm
next and prev error should work for you.  Make sure you are using Sun's javac and not Eclipse's javac (which I think is Jikes).  The command "javac --version" will tell you what version of the compiler you are using.  I think Eclipse's javac pukes on this command.

Under Linux, I noticed that "/usr/bin/javac" is eclipse's javac which does not give compiler output that slickedit uderstands.  Jikes used to have an option for a different error message format but it seems to have been removed.

I'm compiling within the editor using Sun's Java 1.4.2.  If there is an undefined symbol, the editor points to the offending line and reports "undefined symbol".  It does not tell me which is the offending symbol.  This defeats the purpose of compiling within the editor, because an undefined symbol requires these actions:

(1)  press <ctrl><shift><down> to find the error
(2)  read the useless error message
(3)  press <ctrl><shift>M to look at the compiler output
(4)  read the actual compiler error message, find the offending symbol, and remember it.
(5)  press <alt><tab> to return to the source code
(6)  Remember and find the offending symbol.
(7)  Repair the problem.

If the system were working properly, steps (2) through (6) would be eliminated.
Title: Re: Has SlickEdit abandoned Java?
Post by: Dennis on August 01, 2006, 09:16:17 pm
I appreciate the detailed bug reports.  The problem with completion of package names will be fixed in the next release of SlickEdit.  Contact support@slickedit.com if you would like to get a hot fix for this problem.

With respect to the error parsing issue, this is a limitation of the error parsing, since it just gets error message from the first line (which contains the file and line number).  Note that next-error *does* position the cursor on the correct column, as indicated by javac.  That's frequently enough in order to see the compile error, but we will look into working past the "first line" limitation in a future release.

Finally, as for Java 5 generics.  We have made some recent fixes to some very specific problems, such as parsing an anonymous class that extends a generic.  I find it hard to believe that it doesn't work at all for you.  Example please.
Title: Re: Has SlickEdit abandoned Java?
Post by: crygaard on August 02, 2006, 11:58:26 pm
Finally, as for Java 5 generics.  We have made some recent fixes to some very specific problems, such as parsing an anonymous class that extends a generic.  I find it hard to believe that it doesn't work at all for you.  Example please.



Consider this source code:

   class SlickEditTest
   {
      static java.util.Hashtable<String,String> _genericMember;
      public static void main( String args[] )
      {
         java.util.Hashtable<String,String> _genericStack;
         _genericMember = new java.util.Hashtable<String,String>();
         _genericStack = new java.util.Hashtable<String,String>();
     
      }
   }

In the blank line:

(1) type "_genericMember"
(2) Press the period key.  Nothing happens.

Alternatively, in the blank line:

(1) type "_genericStack"
(2) Press the period key.  Nothing happens.

Chris
Title: Re: Has SlickEdit abandoned Java?
Post by: crygaard on August 03, 2006, 12:07:59 am
Whoops!  Apologies...

Shortly after I posted the previous message, I determined the problem.  My tag files were built from Java 1.4.2, so naturally SlickEdit couldn't complete the symbols.  I re-built the tag files from Java 5, and the problem was resolved.

However, my original question has not been answered:  Is there still interest in supporting Java?  In particular, will Slickedit ever support refactoring in Java?

Chris


Finally, as for Java 5 generics.  We have made some recent fixes to some very specific problems, such as parsing an anonymous class that extends a generic.  I find it hard to believe that it doesn't work at all for you.  Example please.



Consider this source code:

   class SlickEditTest
   {
      static java.util.Hashtable<String,String> _genericMember;
      public static void main( String args[] )
      {
         java.util.Hashtable<String,String> _genericStack;
         _genericMember = new java.util.Hashtable<String,String>();
         _genericStack = new java.util.Hashtable<String,String>();
     
      }
   }

In the blank line:

(1) type "_genericMember"
(2) Press the period key.  Nothing happens.

Alternatively, in the blank line:

(1) type "_genericStack"
(2) Press the period key.  Nothing happens.

Chris
Title: Re: Has SlickEdit abandoned Java?
Post by: Dennis on August 03, 2006, 02:27:27 pm
Excellent.  I'm glad to hear that context tagging is now working properly for you with Java Generics.  As a side note, one of the features we are investigating for the next release to improve Java support is to simplify using multiple JDK's.  This should minimize the pain when switching between modern (1.5+) and less modern (1.4) Java projects.

I believe the Scott has already addressed Java refactoring, but let me restate some points.  First, we provide two of the most critical refactorings (rename and extract method) for Java with our "quick" (language independent) refactorings.  Second, writing a full-blown refactoring engine is a major undertaking, and even more complex with the advent of generics and other new language features in 1.5.  It would be difficult for SlickEdit to invest this much and retain our low price point.  Nevertheless, we do recognize the demand for Java refactoring.  It's just a big job.
Title: Re: Has SlickEdit abandoned Java?
Post by: ScottW, VP of Dev on August 03, 2006, 03:02:31 pm
Chris,

How can you say that your original question wasn't answered?!?  ???  I gave myself carpal tunnel syndrome typing up that first reply.  ;)

Of course we're still interested in supporting Java! Our support of Java has been continuous and unwavering. Every release of SlickEdit contains additional functionality to make coding in Java faster and more effective. Version 12 will contain additional enhancements for our Java customers. Support for a language cannot be judged solely by the presence or absence of a single feature, particularly one as large as building a refactoring engine.

I can't see into the future well enough to say whether SlickEdit will ever include a parser-driven refactoring engine for Java. We do offer the Quick Refactorings which handle some of the most common transformations performed in refactoring, and we plan to continue to refine these.

I don't know what more I can say. So, it's time for a Haiku...

my reply ignored?
the many features listed
did not convince Chris.

or

supporting Java;
enhancements every release
to ease your coding

--Scott
Title: Re: Has SlickEdit abandoned Java?
Post by: crygaard on August 07, 2006, 04:44:01 pm
RefactorIT, one of the leading commercial Java refactoring tools, sells for $134.44 for the Developer edition, which is limited to projects of 500 files or less. The Enterprise Edition with no project size limitation sells for $400.61.  I think you can see that it would be hard to add a capability like this to SlickEdit, which sells for $284 for electronic distribution, without increasing the price. Though we did that with C++ Refactoring, we are still working to make it reach its full potential.

Are there any hooks in SlickEdit that let me invoke RefactorIT (or another refactoring tool) from within SlickEdit, and have the results show up immediately in my open buffers?  If so, I would be willing to pop $400 for the capability.

If not, then I'm making a feature request:  add hooks for third-party refactoring tools, similar to your hooks for third-party version control tools.

Chris
Title: Re: Has SlickEdit abandoned Java?
Post by: rod_gomz on August 18, 2006, 08:14:10 pm
I think it was appropiate the dump the GUI builder. It seem outdated and not mainted and it lack innovation. There are other better GUI builders and if you are GUI person you won't come to SlickEdit to draw your GuI. Some programmers even do it by hand.

The Java features in Slick are somewhat good. I used IntelliJ IDEA for JAVA though.

I use Slickedit where I can't use IDEA or to supplement IDEA. Slick can do c++ really well. Slick can handle large files. Slick is a good overall editor with great overall support for many languages not just JAVA. I think the C++ is where Slick shines.
Title: Re: Has SlickEdit abandoned Java?
Post by: rod_gomz on August 18, 2006, 08:16:28 pm
I forgot, the XML support is good too. It needs to keep getting better and support XSLT and all those technologies. I think XSLT support is good though. But don't rest on your laurels.
Title: Re: Has SlickEdit abandoned Java?
Post by: PlanetPratt on August 21, 2006, 04:04:37 am
Since version 8, we have developed the following features for Java users:
  • JUnit support was added in v10.

Any idea when support for the new jUnit 4 will be added?  It would be very nice to use with the Java 5 support in SlickEdit.
  (*Chris*)