Getting your basics right?

Hey,

So, you use IDE, huh! Cool…isn’t it?

What do you like about an IDE?

Look and feel, code completion, auto-format, quick fixes, code templates, version system and loads of features!

Do you know, how to use them?

“Yeah, I do know many of them, its cool!”

This the most common answer, you would come across, generally from a user, who uses the Gen-Next IDE’s like NetBeans, Intelli J, Eclipse! Even I would say that ;)

Do you have clarity of the concepts?

Hmmm, good question!

So, you don’t, right? Anyways, lets talk about NetCAT, what happened yesterday night- I am participating in NetCAT 6.5, and a discussion that took place late night yesterday, really took me by surprise! Though, we almost concluded the discussion on a positive note, still I am waiting for the replies!

The Big Fight- NetBeans versus Intelli J IDEA

A guy at NetCAT started a thread on filing a RFE, he wants to have a feature similar to the one present in the Intelli J. Initially, I neglected the thread, until it became interesting and never ending! They did file a RFE, at Issuezilla!

NetCAT Mailing list

So, 4-5 people were responding to that thread, and 2 of them had an argument with me, on that issue. They were not able to justify their stand against me, until they sent some screen-shots. Now, everything looked crystal clear and they could very well, justify what they wanted from NB developers…phew ;)

Where’s the clarity of concepts?

Still, something was missing, what? Yeah, the clarity of concepts! How?

Well, one of the guys, who was really pushing this issue again, and again. Hats off, he really had patience and eventually after 30 mails or so, got things right…great ;)

Why 30 mails? Why not 1-2 mails?

I think every technical discussion, does boils down to one thing, concepts/basics. So, if you don’t get those right, you might suffer in the longer run! I am not saying that I am the expert, still what I have experienced (at academic, not industry level) in my last 4-5 years of programming…I’m sharing it with you!

What happened with Intelli J,

Actually, the image the person had sent, had a snapshot of Intelli J’s Java Editor, with Logical View of Project on the left. The code shows, when you use a pre-defined shortcut key, on a method invocation (which is an implementation of an interface method), the editor pop-up a code-completion like window with the list of classes that might have implemented that particular method. That’s ridiculous!

Java language, beautifully explains the concept of dynamic binding with the use of interfaces. So, I felt that Intelli J was contradicting the theory through the above said feature, as one can’t determine while coding, that which implementation JVM would bind the interface reference to. I think that confused the guy, who thought its a cool feature, while its not in such context.

See the comments for the strike-outs!

So, if he had clarity of the concepts, he would have filed a bug report at Intelli J community, then could have proposed a RFE at NetBeans Issuezilla, and the discussion would not have lasted 30 mails.

So, get your basics right, while you use an Integrated Development Environment…Its really important :)

and, NetBeans…

I had no issue with my IDE, untill the discussion reached 30th mail, and now I would vote for the RFE, which suggests that user should have an option to navigate to the implemented method, analogous to the concept of dynamic binding. Though, the RFE needs to be refined so as to make things clear for the developers and community!

Alas, its over, please go through the basics, before you indulge in such discussion! Thanks for your time and patience, for reading this post! Any comments are welcome :)

Updated | 31st July: Voted for RFE #142112 :)

Add to Technorati Favorites

About these ads

3 thoughts on “Getting your basics right?

  1. I don’t agree with the assertion that the concept is ridiculous, and certainly it isn’t a bug. If it is as designed it isn’t a bug regardless of how much one doesn’t like something.

    Too, it is often necessary to see in your own project which classes have implemented method X and to be able to get to them and fix something in some of them without having to hunt all of them down.

    The feature is apparently based on getting work done than the runtime notion of an interface. There is a big difference between source and runtime encapsulation and use cases. Even if not dealing with ones own sources or binary artifacts, many times one needs to know which classes implement a given feature/interface in a library they are working.

    I like the idea ;-)

    Wade

  2. Hi Wade,

    I don’t agree with the assertion that the concept is ridiculous, and certainly it isn’t a bug. If it is as designed it isn’t a bug regardless of how much one doesn’t like something.

    I guess it sounded too harsh. So, I have removed that statement, I can understand your point. Thanks for throwing light on that.

    Too, it is often necessary to see in your own project which classes have implemented method X and to be able to get to them and fix something in some of them without having to hunt all of them down.

    True, and I am not against that..

    The feature is apparently based on getting work done than the runtime notion of an interface. There is a big difference between source and runtime encapsulation and use cases. Even if not dealing with ones own sources or binary artifacts, many times one needs to know which classes implement a given feature/interface in a library they are working.

    Right, that’s what made the discussion last longer than expected..

    I like the idea ;)

    Cool :)

  3. Pingback: NetCAT 6.5 Weekly | Final Report « N, Varun

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s