|
Posted by Oli Filth on 10/07/76 11:30
Andrew DeFaria said the following on 26/10/2005 00:41:
> Oli Filth wrote:
>
>> 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...
>
> No I didn't. That's why I started off with "Huh?" quickly followed by
> "What are you talking about?". Those are questions indicating that I did
> not know what you meant - and I still don't! I can't help it if you have
> failed, once again, to clearly convey your meaning. Perhaps you should
> take a stab at doing so because such unknowns are really getting tiresome.
I assumed that the "Huh? what are you talking about ... I'm curious" was
newsgroup sarcasm. I was referring to, for instance, the Microsoft
compiler(s) that comes with Visual Studio, is run by default, and whose
input (switches, etc.) and output (compiler error messages) are
integrated into the fabric of the IDE. And yes, I do know that one can,
if one wants to, run the MS compiler completely independently, from
command-line.
I would have thought that it was obvious that that was what I was
referring to, considering we're talking about being locked into
monolithic IDEs. My apologies that it wasn't.
>>> You will, BTW, need the interpreter for any of PHP, Perl, etc.
>>> locally installed.
>>
>> Well, not strictly necessary to make code modification.
>
> Again you are being purposely vague here. What do you mean not strictly
> necessary to make code modifications?!?
Exactly that - you don't *need* a local interpreter to make
modifications to, for instance, PHP code. True, it's may be somewhat
brave to make code changes without testing them, but in principle it's
obviously possible.
> Go ahead and make a code
> modification without PHP, Perl or whatever locally installed. Let me
> know how that works out for you and how it even runs then!
Many moons ago, this particular point originated at someone saying that
if, in a crisis, he realised some part of his (PHP) application was
screwing up, he could access the code from anywhere, make the change,
and re-upload it. So even if one does want to test it (which one
obviously does), you still don't *need* a local interpreter.
Which brings me back to my original point - scripts are (usually)
literally just files full of text - no intermediate steps or tools are
required between changing the source code, and that change being
operational.
>>> 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.
>
> Ah so then you admit that compilers/linkers/interpreters are not build
> into IDEs. Good.
Was referring to the paragraph as a whole - not that individual statement...
>>>> 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...
>
> How about the things already mentioned like not being slowed down by
> large monolithic applications that have cutesy ways of telling you what
> to do while lacking in the real day to day functionality of a good
> editor.
I beg to disagree that an IDE "tells me what to do" - certainly it
assists me in doing certain things, or does certain tedious
house-keeping for me, but that's the whole point of a tool.
Which functionality specifically does a "good editor" give you that
isn't available in your average "good IDE"? You gave the FTP example
elsewhere in this thread - not only can MS VS manage a web project over
FTP, but the Windows abstraction of the file system allows you to access
remote files like they were local anyway.
(At this point, you're probably thinking that I'm some crazed hardcode
MS advocate! I'm not, it's just that in my day to day life, I happen to
use their OS and their IDE 99% of the time).
> By having to spend your time installing, updating, patching,
> configuring various IDEs for your various languages instead of spending
> time coding
You never have to install/update/patch all the individual components and
plug-ins in your tool set?
> By spending time having to learn how to do a simple task
> from your old editor in this new IDE editor and finding out it just
> can't do it. You know, stuff like that...
See further down...
>>
>> 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).
>
> See tags...
>
>> 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.
>
> That's funny because XEmacs does that already...
As they say, "you learn something new every day". I've barely ever used
XEmacs, so I didn't know it was capable of doing these things.
This tags facility, I get the impression from some brief Googling that
the tags database has to be manually refreshed?
>> BTW - "Arse" is the English spelling and pronunciation - when I say
>> "English" I mean the English that they speak in England ;)
>
> Are we in England?
Well, at least one of us is!
> Those English dude are so funny. I'm curious, is it
> actually pronounced "ass" like us yanks or is it pronounced "are esss"?
Mostly like your phonetic representation. Although many people here have
been "corrupted" by the influx of American culture via TV and films, and
assume that "ass" is the way forward...
>>>> 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!
>
> Aren't you putting forth the concept that if you are in a large project
> then you gotta be using an IDE or you're a fool? Sorry dude but that's
> specifically saying to most people that you should use this as most
> people do not like to be thought of as a fool...
I've never said that or implied that at any point (well I hope I
haven't) - that was the other guy Ramon...
>> 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.
>
> We've said much already. Do you just not get it or do you simply
> disagree with it? I'll state again: It'd be nice to have function name
> completion, documentation, browsing, etc. I don't often delve into large
> class hierarchies of objects with thousands of methods, calls and tons
> of complexity. I've managed to do OK. I would like such functionality.
> *HOWEVER*... I will not trade an editor that I find much utility in for
> an IDE editor *where I lose a lot of the basic functionality I've come
> to know and expect* and have to do all kinds of learning *for one
> specific language of which I'm only in part of my workday* desktop up
> and then have to do the same thing for the next language/IDE again and
> again. I also like the ability to be able to productive without having
> to have a monolithic IDE application installed on every machine I do
> work on. I like small, well engineered tools that do a small job well
> that I can string together over a monolithic monstrosity that does some
> things well and others not so good. I like to be able to log into a
> machine via a command line and still be able to churn out work without
> having to have a whole gui running before I can do anything. This allows
> me to create scripts to get 10's to 100's of machines churning out
> productive work.
OK, now I'm getting somewhere - you've put forth specific reasons for
why (for you, at least) a dedicated IDE is a pain in some ways. (Up
until now you've mostly been challenging my points without actually
offering reasons for the alternative).
The points you make are good - however for me they mostly don't apply.
It's very rare that I work on a machine that isn't my own (at work, even
if I do, the same IDEs are usually already installed or easily
accessible). If I did, yes of course I'd miss the features of my IDE, I
freely admit, but I'd like to think that I'm competent enough to be able
to deal with it.
The biggest single point I agree with wholeheartedly is the lack of
uniformity amongst IDEs (some are unavoidable, of course, due to
language differences). I wish there was an IDE designed on a similar
principle to XEmacs, (i.e. easily extendible for any
language/platform/package), but still offering scope for all the "cool"
proprietary/language-specific features. If there was, and it was good,
I'd drop MS VS, JBuilder, etc. in a second (possibly).
Maybe there is such a thing already, I don't know...
>>>
>>> Ah again, you miscommunicated.
>>
>> Yup! Is it clearer now?
>
> Yes but why do we have to hash such things out? Can't you endeavor to be
> clear in the first place?
>
Whilst "think before you type" is a virtue I attempt to adhere to,
doesn't *always* work in practice.
>> 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.
>
> BTW I didn't claim that I did.
I know - Hypothetical "You" in the general sense.
>>> 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?
>
> Actually yes I do - sorta. In my capacity I often serve as build/release
> engineer. And yes I do have to build everybody else's code. Otherwise it
> doesn't get out the door. And no I don't come in at 2 Am and log onto
> somebody's desktop to fire up their IDE to push a button to build their
> piece of the software...
Again, a hypothetical "you". But maybe I'm missing something, why would
"building everyone else's code" ever involve firing up all their
machines? If the job of building is taken care of on the central build
server which has full access to all source code, of what relevance is it
what IDE/non-IDE each code module was written in?
>> 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.
>
> Yes generally that's how most people actually build their software. That
> being the case, why would you want your developer to build it in a
> different fashion, thus possibly introducing bugs because the software
> is built one way by the developer and yet another before it's released
> out the door?
Fair point. But decent IDEs allow one to run make-files instead of the
default integrated build process if one wants to, so it's not like one
has lost that option.
I'll admit at this point that I'm not a build engineer, nor do I ever
assume that role, so I'm getting out of my immediate area of experience.
I think it's fair to say, though, that the tools that the build manager
will want to use are inevitably different to the average coder on a project.
--
Oli
Navigation:
[Reply to this message]
|