You are here: Re: What IDE are you using? « PHP Programming Language « IT news, forums, messages
Re: What IDE are you using?

Posted by Oli Filth on 10/25/05 22:28

Andrew DeFaria said the following on 25/10/2005 19:07:
> Oli Filth wrote:
>>
>> Whether the compiler and linker are built into an IDE or stand-alone,
>
> Huh? What are you talking about? What compiler/linkers are built into
> which IDEs? I'm curious...

Integrated, whatever, I think you knew what I meant... You yourself
implied it when you implied that I was locked into MS VS for compilation
purposes.


>> you still need access to a compiler/linker in order to recompile and
>> rebuild after a code change, hence "'specialist' tools" in my earlier
>> point.
>
> Having say C compiler on a machine is not what I would call a specialist
> tool. It should be installed by default. Also, you can run a C compiler
> from a networked location... (C is just an example here...)
>
> You will,
> BTW, need the interpreter for any of PHP, Perl, etc. locally installed.

Well, not strictly necessary to make code modification.


> So the point of having the necessary compiler/linker or interpreter is
> moot. The point is, that you can indeed operate without an IDE except in
> the rare case were the compiler/linker/interpreter, whatever is actually
> built into the IDE (in fact I'd say none)

Hmm, perhaps you're right on this one.


>> It kind of goes back to the "pain in the arse" argument. I *could*
>> write an entire application in Notepad/XEmacs/generic-text-editor,
>
> Of course you could. Many, many do already. In fact, as this whole
> argument has been about, many prefer it that way and yes indeed many are
> more productive that way!

I gathered that, and I'm trying to find out how/why...


>> it would just be a pain in the arse!
>
> Why would it be a pain in the arse (BTW you can say ass - we are all
> adults here and even the FCC allows the word ass!)? I do not find it a
> pain in the ass. In fact I find much utility in such tools. In fact 2, I
> find more utility than I find in the pretty font, overly helpful and
> over resource consuming, specialized IDEs.

The biggest single reason I love an IDE that "understands" the language?
Project navigation. A project with 100 classes split over an equally
large number of source/header files, in a generic text editor, if I
wanted to look up the the implementation of X::Foo(), I'd either have to
remember that Class X is defined somewhere in source file Y, then search
that file (semi)manually, or do a global search for "Foo()" and wade
through the results. In an IDE, I click on X in class-view, then click
on Foo(), and I'm straight there (in VS, I press F12 when the caret is
on a call to X::Foo(), the effect is the same).

Biggest second reason - click on a compiler error message, and it jumps
to the code in question, saves an inordinate amount of time. I don't
actually care that the error is on Line 362 in foo.cpp, I just need to
see the relevant code, NOW.

BTW - "Arse" is the English spelling and pronunciation - when I say
"English" I mean the English that they speak in England ;)


>> The tools offered by the IDE greatly increase my productivity,
>
> Great! Then you use them! But do not tell everybody else to use them.

I never did at any point in this discussion! Just offering my views, and
attempting to learn the reasoning behind the alternate view/methodology.
Believe it or not, I'm genuinely interested in what you (and others)
have to say and why you do things the way you do.


>>> Often IDEs implement concepts of projects and other
>>> things that are not only designed to work from the IDE, but can't
>>> work at all unless you are in the IDE. You loose the concept of how to
>>> construct the program outside of the context of the IDE itself.
>>
>> Ah, perhaps I should've been clearer - when I said "construct", I
>> guess I meant "design", as in the design of class hierarchy,
>> data-types, algorithms, data abstraction, etc., not the physical
>> implementation of dividing into source files, using makefiles, source
>> control, etc.
>
> Ah again, you miscommunicated.

Yup! Is it clearer now?


>> But then, knowing how to build a C app via the command-line, etc.
>> doesn't really offer much insight into how to build a Java app via the
>> command-line, nor how to perform gate-synthesis from VHDL without the
>> IDE. (The point being that the argument that knowing how to do it from
>> basics is a more fundamental/universally-applicable skill doesn't
>> necessarily follow either).
>
> Again you've lost your knowledge of how to build without the IDE. You
> have effectively become dependent on it and can't function without it.
> Doesn't sound like a win to me...

You missed the point I was trying to make, I think.

If you know the exact nuances of command-line C compilation and
building, utilising every single feature that makefiles afford, that's
great. Now sit down in front of the command-line and try to build a Java
app from source - you're back to square one, unless you sift through the
documentation and learn the nuances of Java compilers, etc. The
"fundamental" knowledge of how to organise and build an app from basics
isn't actually that "fundamental" (my term, not yours, I know), because
you have to re-learn it for every language you use.


>>> Take a sizable application that you use your IDE for and
>>> take it out of the IDE. I bet you'll be surprised how it's not an
>>> easy task to do...
>>
>> Isn't that more a compatability issue? Clearly a C++ project done in
>> MS VS won't work in the Borland IDE "straight out of the box", for
>> example.
>
> Figures you'd confuse this too. No I said take it out of an IDE not put
> it into another IDE. That's irrelevant. Tell me Mr. IDE Man... How do
> you perform automated nightly building of these large and vastly
> different applications of an organization where X uses MS VS and Y use
> Borland and Z uses Powerbuilder or some other such crap, late at night
> with nobody else around on some server in the back room somewhere. What
> do you install all of the IDEs that everybody prefers because you cannot
> build their apps without their specific IDE, or specific version of IDE?
> And how to you, in an automated fashion, with nobody there, fire up
> those IDEs and push buttons from a build script? Again, I'm curious...

You don't need to build it on every single person's machine/IDE, do you?
As long as the back-office server has access to the actual source-code
via version-control, then the back-office script (insert alternative
here) runs whatever compiler/tools it runs, and then the results are
available on version-control or over the network, or whatever.

BTW, whatever mechanism you use for writing code is just another member
of the list {X, Y, Z} in your example above - it's just as
compatible/incompatible as anything else.


--
Oli

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация