[Aurora] No generics????

Hi,
Looking at the votes in the tracker, here are the features that has more
votes:
1. (2424) AspectJ support
2. (2950) Reload class and continue to debug during debug Session
3. (7090) Update IDEA's parser to support JSR14 - Generics
4. (2397) Editor: Split function should be able to display to different
files.

Etc...
Items 1, 2, 4 and various other are listed in the planned feature list of
Aurora, however item 3 is not...
I wonder, aren't you JetBrains guys yourselves looking forward to use
generics?

Guillaume


34 comments

Same here. I always missed this from C++

Jacques
"Guillaume Pothier" <gpothier@free.fr> wrote in message
news:b4g903$g9n$1@is.intellij.net...

Hi,
Looking at the votes in the tracker, here are the features that has more
votes:
1. (2424) AspectJ support
2. (2950) Reload class and continue to debug during debug Session
3. (7090) Update IDEA's parser to support JSR14 - Generics
4. (2397) Editor: Split function should be able to display to different
files.

>

Etc...
Items 1, 2, 4 and various other are listed in the planned feature list of
Aurora, however item 3 is not...
I wonder, aren't you JetBrains guys yourselves looking forward to use
generics?

>

Guillaume

>
>


0

I wonder, aren't you JetBrains guys yourselves looking forward to use
generics?


Unfortunately set of features cannot be increased unlimitedly. Otherwise we
would have too long release cycle for Aurora.

--
Valentin Kipiatkov
JetBrains, Inc
http://www.intellij.com
"Develop with pleasure!"


"Guillaume Pothier" <gpothier@free.fr> wrote in message
news:b4g903$g9n$1@is.intellij.net...

Hi,
Looking at the votes in the tracker, here are the features that has more
votes:
1. (2424) AspectJ support
2. (2950) Reload class and continue to debug during debug Session
3. (7090) Update IDEA's parser to support JSR14 - Generics
4. (2397) Editor: Split function should be able to display to different
files.

>

Etc...
Items 1, 2, 4 and various other are listed in the planned feature list of
Aurora, however item 3 is not...
I wonder, aren't you JetBrains guys yourselves looking forward to use
generics?

>

Guillaume

>
>


0

Well, why then you plan to support AspectJ, where it's usage is just
limited to some users? I'm definitely sure, that much more people
would benefit from Generics support.

Tom


"Valentin Kipiatkov" <valentin@intellij.com> schrieb:

>> I wonder, aren't you JetBrains guys yourselves looking forward to use
>> generics?
>
>Unfortunately set of features cannot be increased unlimitedly. Otherwise we
>would have too long release cycle for Aurora.

0

I agree with Thomas' comment completely.

I guess Aspects got more votes in the tracker than Generics ;)

At least generics has a JSR so it will become part of the language. It's slated for JDK 1.5 which the JCP states will be released in the first half of 2004. At worst that could be 15 months away so one view is that there's plenty of time for them to support generics when (only when) they become part of the JDK.

Personally, I wanted Generics support and am indifferent to Aspects.

0

I think putting Aspect's support is in keeping with IDEA's roots, i.e. making a powerful new programming paradigm easy to use. Automating the process of refactoring and integrating JUnit functionality significantly change the development process, as will Aspect support. Generics support really doesn't change or improve the development process.

The one caveat is Valentin's mention of extending the AspectJ language... I'd urge IntelliJ to get involved in pining down the AspectJ specs, rather than simply exploiting their vagueness. Vendor-specific extensions would be bad, even for IntelliJ.


Well, why then you plan to support AspectJ, where
it's usage is just
limited to some users? I'm definitely sure, that much
more people
would benefit from Generics support.

Tom

0


"Thomas Singer" <idea@regnis.de> schrieb:

Well, why then you plan to support AspectJ, where it's usage is just
limited to some users? I'm definitely sure, that much more people
would benefit from Generics support.


Well, I feel the same. But you have to consider that AspectJ got more than
twice as many votes than Generics (3000:1400). I guess that made at
least a part of the decision for AspectJ.

Anyway, with the fact in mind that Generics are definitely coming with the
next Java release and can really ease almost every programmers life, at
least some very basic support would be nice for Aurora.

Regards,
Sascha


0

If you want, I can push any issue to a high vote number. You just need
to create a dozen users in the tracker.

The only difference is, that the AspectJ protagonists have screamed
louder.

Tom

0

If you want, I can push any issue to a high vote number. You just need
to create a dozen users in the tracker.


I hope community members are honest enough to not do such things...

--
Valentin Kipiatkov
JetBrains, Inc
http://www.intellij.com
"Develop with pleasure!"


"Thomas Singer" <idea@regnis.de> wrote in message
news:s0dp6vkrutaoleoj17pra5fctst5er2t9k@4ax.com...

If you want, I can push any issue to a high vote number. You just need
to create a dozen users in the tracker.

>

The only difference is, that the AspectJ protagonists have screamed
louder.

>

Tom



0

I agree with this. But looking at the tracker votes, generics are in the
third position. Many new features of Aurora are way below this.
Moreover, it seems to me (well...) that aspects are much more difficult to
integrate to IDEA than generics, isn't it?
I hate to say this, but Eclipse is planning generics (and other jdk1.5
stuff) for v2.2, the first milestone of which will supposedly be released in
may. I am waiting for generics support in an IDE for a long time now, and
although I quite dislike Eclipse for various reasons, the availability of
generics would certainly push me to switch...

Someone mentioned in this thread that IDEA will have AspectJ support because
AspectJ users screamed louder than generics supporters, so let's scream...
Guillaume

"Valentin Kipiatkov" <valentin@intellij.com> a ?crit dans le message news:
b4i17b$fva$1@is.intellij.net...

I wonder, aren't you JetBrains guys yourselves looking forward to use
generics?

>

Unfortunately set of features cannot be increased unlimitedly. Otherwise

we

would have too long release cycle for Aurora.

>

--
Valentin Kipiatkov
JetBrains, Inc
http://www.intellij.com
"Develop with pleasure!"

>
>

"Guillaume Pothier" <gpothier@free.fr> wrote in message
news:b4g903$g9n$1@is.intellij.net...

Hi,
Looking at the votes in the tracker, here are the features that has more
votes:
1. (2424) AspectJ support
2. (2950) Reload class and continue to debug during debug Session
3. (7090) Update IDEA's parser to support JSR14 - Generics
4. (2397) Editor: Split function should be able to display to different
files.

>

Etc...
Items 1, 2, 4 and various other are listed in the planned feature list

of

Aurora, however item 3 is not...
I wonder, aren't you JetBrains guys yourselves looking forward to use
generics?

>

Guillaume

>
>

>
>


0

I hope so, too, but my experience tells me the opposite.

Tom


"Valentin Kipiatkov" <valentin@intellij.com> schrieb:

>> If you want, I can push any issue to a high vote number. You just need
>> to create a dozen users in the tracker.
>
>I hope community members are honest enough to not do such things...

0

I hope so, too, but my experience tells me the opposite.


Don't be too offensive. Actually we don't plan features to be implemented
basing only on voting. Voting is only one of criterias.

--
Valentin Kipiatkov
JetBrains, Inc
http://www.intellij.com
"Develop with pleasure!"


"Thomas Singer" <idea@regnis.de> wrote in message
news:97jp6vg2b9eas9d5814dvoefqa0405o33m@4ax.com...

I hope so, too, but my experience tells me the opposite.

>

Tom

>
>

"Valentin Kipiatkov" <valentin@intellij.com> schrieb:

>

>> If you want, I can push any issue to a high vote number. You just need
>> to create a dozen users in the tracker.
>
>I hope community members are honest enough to not do such things...

>


0

I completely agree with Thomas

0

Guillaume Pothier wrote:

Hi,
Looking at the votes in the tracker, here are the features that has more
votes:
1. (2424) AspectJ support
2. (2950) Reload class and continue to debug during debug Session
3. (7090) Update IDEA's parser to support JSR14 - Generics
4. (2397) Editor: Split function should be able to display to different
files.

I wonder, aren't you JetBrains guys yourselves looking forward to use
generics?

Guillaume


It would be unwise for IDEA to support an Early Access feature of Java.
JSRs are subject to change. It makes a lot more sense to wait until
generics are included in the standard JDK (slated for JDK 1.5 - 4th
quarter 2003 or 1st quarter 2004).

Aloha,
La'ie Techie

0

I would also like to ask for generics. I feel that Aspects most probably got a high vote as it is new and sexy... . Also saying that generics is currently eap and therefore hard to supports is a bit disengenuous as the eap has been available for a long time and is supposed to be pretty stable...

0

I think putting Aspect's support is in keeping with
IDEA's roots, i.e. making a powerful new programming
paradigm easy to use. Automating the process of
refactoring and integrating JUnit functionality
significantly change the development process, as will
Aspect support. Generics support really doesn't
change or improve the development process.


WHAT?? Yah it only increases your factoring possibilities by an order of magnitude. You'd be right to say that aspects allow you to increase factoring possiblities by (at least) that much as well - however there are all sorts of ways to do AOP that aren't AspectJ or some other extra-compilation-step solution.

That's not to say Idea shouldn't make AspectJ folks happy, but Generics is a much bigger win in terms of its applicability to a wide audience.

0

I'm speaking to several of the posts here... AspectJ is in the pipeline
so don't beat yourself (or IntelliJ team) up trying to fight it or have
generics substituted. Personally, I want both AspectJ and Generics. I
expect that there is still a chance that generics could get on the plan
for Aurora. Put positive energy toward encouraging generics with things
like more votes for it.

Best,
Jon

0

Guillaume Pothier wrote:
> Moreover, it seems to me (well...) that aspects are much
> more difficult to integrate to IDEA than generics, isn't it?

The problem is, if you really need the kind of aspects that AspectJ
offers, your IDE has to support it. There is no way around it.

On the other hand, I suspect most people would use generics to make
typed collection. In that case, there is a way around. In most project,
I would create a UsersList, NameSet, or RulesIterator in a few minutes.

With generics, I'll save a few minutes.
With AspectJ integration, I don't have to choose between AspectJ and IDEA.

...

may. I am waiting for generics support in an IDE for a long time now, and
although I quite dislike Eclipse for various reasons, the availability of
generics would certainly push me to switch...


I wonder : what kind of project are you working on, where using generics
would justify/compensate losing IDEA as your IDE?

Alain Ravet


0

I agree, I'm a huge Idea fan but the fact that generics aren't even on the Aurora feature set has me a little taken aback. I like Eclipse a lot less than Idea but generics will have such a large impact on shrinking my codebase that I will seriously consider switching.

Intellij, please at least give me some hope that this will be implemented sometime in the next 3-6 months.

-Steve

0

Steve Conover wrote:
> ..generics will have such a large impact on shrinking my codebase
that I will seriously consider switching.

Genuine question : such a large impact, really?

Except for typed collections, that would be cleaner, I never felt a huge
pain from not having them. When it hurt me too much, I would create them
by hand. No big deal. Generics would be nice, though.

Alain Ravet

0

That's not to say Idea shouldn't make AspectJ folks
happy, but Generics is a much bigger win in terms of
its applicability to a wide audience.


I just meant to say that Generics isn't something that changes your mindset. Generics are IMHO just syntactic sugar that reduce the amount of code you have to write to make type specific collections, but don't change the way you think about the design or development. If you wanted a collection of things before, you still want a collection with generics. No change.

Thinking in aspects makes a much bigger change than generics. I think that IntelliJ is more about the revolutionary than the evolutionary, and AFAIK generics isn't even evolutionary, it's simply putting something into Java that the original language designers deliberately left out.

Having said that... for any change to the Java language, if an IDE doesn't support the new features, it's a problem. I'd be disappointed and very surprised if IDEA doesn't support generics by the time, or very soon after Java SDK 1.5 comes out.

0

Well, AOP might change the user's mind, but I (and sure, a lot more)
don't care.

I have to solve my problems here and now and Generics are one major
point that would make code more robust. Everybody would benefit from
Generics, where as Aspects are just for a subset of the users useful.
That's the point.

If even SUN detected the Generics usefulness, than it must be very
important. As long as I know, Aspects will not make their way into the
JAVA language in the near future.

JetBrains, why bother with another neat feature, that only a few users
find useful, where the major crowd would not benefit from it? Some
users said, that they prefer to switch to Eclipse, if it supports
Generics and IDEA doesn't. Compared to other reasons, I would not
underestimate this warning.

Cheers,
Tom


Ash Searle <jiveadmin@jetbrains.com> schrieb:

>> That's not to say Idea shouldn't make AspectJ folks
>> happy, but Generics is a much bigger win in terms of
>> its applicability to a wide audience.
>
>I just meant to say that Generics isn't something that changes your mindset. Generics are IMHO just syntactic sugar that reduce the amount of code you have to write to make type specific collections, but don't change the way you think about the design or development. If you wanted a collection of things before, you still want a collection with generics. No change.
>
>Thinking in aspects makes a much bigger change than generics. I think that IntelliJ is more about the revolutionary than the evolutionary, and AFAIK generics isn't even evolutionary, it's simply putting something into Java that the original language designers deliberately left out.
>
>Having said that... for any change to the Java language, if an IDE doesn't support the new features, it's a problem. I'd be disappointed and very surprised if IDEA doesn't support generics by the time, or very soon after Java SDK 1.5 comes out.
>

0

I don't want to start another war here - especially in the current
international context -,
but I don't understand what this fighting is about : usefullness of
AspectJ vs generics?

(Note: I put generics support high in my "five favourites features for
4.x" list. Just below AspectJ.
So, it's all about relative usefullness and priority)


Tom,

> Well, AOP might change the user's mind, but I (and sure,
> a lot more) don't care.

I didn't care about Refactoring, till I read about it.


> I have to solve my problems here and now and Generics are
> one major point that would make code more robust.

Do you mean that :
- the code you are writing today is not robust enough, and that
- it is all because you can't use generics, that are btw, not part of
the language?
What prevents you from writing a typed collection class, by hand, when
you need it? IDEA Templates should make this a snap. Except for
"generic" frameworks, when you are not the final user, this workaround
works pretty fine.


> If even SUN detected the Generics usefulness, than it must be very
important.

OT, but Sun motivations are multiple. Fighting .Net, and staying above
the water are 2 of them.


> Everybody would benefit from Generics,

I think the people who will benefit the most from generics are the very
one who take today the time to create typed collections by hand when
they need it, or see the benefits. The others don't bother, or just
don't see a problem.


> .. where as Aspects are just for a subset of the users useful.
That's the point.

1?/ Starting with version 4.x, a major subset, the crowd of JBoss users,
will see and discover the usefullness of AOP.

2?/ Have you seen the number of AOP frameworks available : jAdvise, JAC,
Nanning, JBoss, Rickard Ockbert's, AspecJ, ..
When I see a bunch of smart people coming from various ways to a common
place, and devoting a lot of time developing, and proselytising, I
suspect they could have found something very interesting/important.

> As long as I know, Aspects will not make their way into the JAVA
language in the near future.
Sun put Dynamic proxy in the language in version 1.3 if I'm correct, and
it's the fundation stone of many home-baked AOP frameworks. I don't know
where the push came from, but I wouldn't be surprised if aspect-ing was
in the line-up.


> users said, that they prefer to switch to Eclipse, if it supports
> Generics and IDEA doesn't. Compared to other reasons, I would not
> underestimate this warning.
I would. But it's just me : I don't like harm-twisting.

Alain Ravet

0

> Well, AOP might change the user's mind, but I (and sure,
> a lot more) don't care.

>
>I didn't care about Refactoring, till I read about it.

I refactored by hand before I did know, what refactoring is.

> I have to solve my problems here and now and Generics are
> one major point that would make code more robust.

>
>Do you mean that :
>- the code you are writing today is not robust enough, and that

Typecasts are inherently unstable.

>- it is all because you can't use generics, that are btw, not part of
>the language?
>What prevents you from writing a typed collection class, by hand, when
>you need it? IDEA Templates should make this a snap. Except for
>"generic" frameworks, when you are not the final user, this workaround
>works pretty fine.

Very smart idea: create a new class for each type to store in a
collection. You can't be serious.


I do not say, Aspects could not be useful. I just say, there are a lot
people, who do not want to use them, but want to use Generics.

Maybe the Aspects RFE can be compared to the collapse-code-RFE. There
were some people, who said, they could not life without it. Then
JetBrains implemented it with a lot of effort, but I'm sure, there
ain't much people needing or using it. I don't want time wasted again
for a feature, that only a few people will use.

Cheers,
Tom

0

Tom

>>I didn't care about Refactoring, till I read about it.
>
> I refactored by hand before I did know, what refactoring is.

You didn't see the big "R" ? :( Gosh. I knew it would happen. Actually,
I meant "Refactor Mercilessly", but I didn't want to sound too XP. So, I
just used a big "R". My mistake.

>>Do you mean that :
>>- the code you are writing today is not robust enough, and that
>
> Typecasts are inherently unstable.

"unstable"? What do you mean?

>> What prevents you from writing a typed collection class, by hand,
>> when you need it? IDEA Templates should make this a snap.
>> Except for "generic" frameworks, when you are not the final user,
>> this workaround works pretty fine.
>
> Very smart idea: create..

Thank you. Yes, it's very smart. But I take no pride in it; it's just a
java idiom, a workaround. It's either that, or write "un-robust" code.
In my case, it's - almost - always to make clearer code.

> .. smart : create a new class for each type to store in a
> collection. You can't be serious.

Yes, yes, I'm serious, but No, No, don't be afraid. Not for EVERY type,
but for EVERY type that YOU NEED/WANT to see in a typed collection.

As I work Test-First, I'm bold, and not scared easily, by untyped
collections. When I'm scared, I add more tests. So, I WANT typed
collections rather later than earlier. I always start with untype
collections, or typed array.

Looking back at my code, I - almost - always create typed collections
for 1 reason :
- make the code intention clearer,
(and avoid comments)
and in 1 same context,
- as an evolution of a typed array, or untyped collection.


I'd be happy to have generics support, though. In the meantine, I have a
working and robust workaround.


Alain

0

I see little point in further arguing the toss over which is the more
useful/powerful/stable/etc. It is obvious that there is strong support (and
need) for both, and that they are both important extensions to the java
toolkit. This is the very thing that makes this issue so contentious
(coupled with the fact we are talking about two things which are orthogonal
to all intents and purposes).

Most agree that we ultimately need both, but as we can't have both right
now, the disagreement has stemmed from which should be done first. At the
end of the day, that's IntelliJ's call, they have their own reasons.
Whether they implement Aspects or Generics first, neither will be a waste of
time.

For now it looks like Aspects won 1/3 of us are going to be disappointed
initially, but we'll survive ;)

N.

Thomas Singer wrote:
>> > Well, AOP might change the user's mind, but I (and sure,
>> > a lot more) don't care.
>>
>> I didn't care about Refactoring, till I read about it.
>

I refactored by hand before I did know, what refactoring is.

>
>> > I have to solve my problems here and now and Generics are
>> > one major point that would make code more robust.
>>
>> Do you mean that :
>> - the code you are writing today is not robust enough, and that
>

Typecasts are inherently unstable.

>
>> - it is all because you can't use generics, that are btw, not part of
>> the language?
>> What prevents you from writing a typed collection class, by hand,
>> when you need it? IDEA Templates should make this a snap. Except for
>> "generic" frameworks, when you are not the final user, this
>> workaround works pretty fine.
>

Very smart idea: create a new class for each type to store in a
collection. You can't be serious.

>
>

I do not say, Aspects could not be useful. I just say, there are a lot
people, who do not want to use them, but want to use Generics.

>

Maybe the Aspects RFE can be compared to the collapse-code-RFE. There
were some people, who said, they could not life without it. Then
JetBrains implemented it with a lot of effort, but I'm sure, there
ain't much people needing or using it. I don't want time wasted again
for a feature, that only a few people will use.

>

Cheers,
Tom



0

I think that's exactly right.

When Generics is part of Java next year I'm sure IntelliJ will support it.

I personally don't like using technology in live projects before it's formally specified/standardised so I'm happy to wait a while longer.

(This was becoming a bit of a religious war wasn't it.)

0

I could not agree more...
Better than fighting, let's try to elaborate on what generics can do for us.
For me there are two big advantages:
- less casts
- and more important, make the code more self understandable. What will I
get if I iterate over this List? What is the type of the keys of this Map?
Well this is quite obvious, but nonetheless very useful.
Guillaume

"Jon Steelman" <steelman@mindspring.com> a ?crit dans le message news:
b4ivct$hgv$1@is.intellij.net...

I'm speaking to several of the posts here... AspectJ is in the pipeline
so don't beat yourself (or IntelliJ team) up trying to fight it or have
generics substituted. Personally, I want both AspectJ and Generics. I
expect that there is still a chance that generics could get on the plan
for Aurora. Put positive energy toward encouraging generics with things
like more votes for it.

>

Best,
Jon

>


0

>- less casts
>- and more important, make the code more self understandable. What will I
>get if I iterate over this List? What is the type of the keys of this Map?

=> We will get more compile time safety. Bugs show up as early as
possible, not first when the appropriate line of code is ran.

These are the reasons, why I want to use Generics as soon as possible.
If any IDE supports it before official release of Java 1.5, we
seriously will consider using this IDE.

Cheers,
Tom


"Guillaume Pothier" <gpothier@free.fr> schrieb:

>I could not agree more...
>Better than fighting, let's try to elaborate on what generics can do for us.
>For me there are two big advantages:
>- less casts
>- and more important, make the code more self understandable. What will I
>get if I iterate over this List? What is the type of the keys of this Map?
>Well this is quite obvious, but nonetheless very useful.
>Guillaume

0

How about consolidating all of my DAO classes into basically one. That in itself is a reason to switch IDE's. Generics opens up huge factoring possibilities.

Another thing about AspectJ. It seems strange that IntelliJ would go out of their way to support one specific language extension. There are plenty of pure-Java approaches to AOP that work great - I'm using Nanning on a project and it rocks! Someone here mentioned all the different API's you can use to do AOP.

So the decision is not whether or not to support AOP. I'm doing AOP today within Idea.

0

Steve Conover wrote:
> Someone here mentioned all the different API's you can use to do AOP.
That's me :)

> So the decision is not whether or not to support AOP.
> I'm doing AOP today within Idea.

I know, but interceptor based AOP doesn't cover the same ground are byte
weaving stuff, like AspectJ. You could use both in the same piece of
code. It would even make sense.

Remark:
- To use Nanning or write manually typed collections, all you need is
emacs or vi.
- To use AspectJ, on the other hand, you really need your IDE to support
it. Currently, you have to choose : IDEA xor AspectJ.


I'd be interested to hear from JetBrains people why they chose to
include AspectJ in Aurora : user votes, faith in the product, marketing,
... (I'd vote for 1 and 2).

The real neat thing would be for them to use AspectJ to develop future
IDEA version. That would be another good reason.

Alain Ravet.


0

Please sign in to leave a comment.