![]() |
Available news archives:
comp.lang.tcl
-
comp.lang.python
-
comp.security.firewalls
-
sci.crypt -
comp.lang.php -
comp.lang.javascript
|
|
comp.lang.php archiveRe: What IDE are you using?
From: Andrew DeFaria <Andrew@DeFaria.com>
Date: Thu Oct 27 2005 - 09:20:43 CEST
Oli Filth wrote:
> Andrew DeFaria said the following on 26/10/2005 00:41:
Wrong assumption on your part. If you are confused you could always ask
> I was referring to, for instance, the Microsoft compiler(s) that comes
You have a strange way of looking at the phrase "built in". In any
> I would have thought that it was obvious that that was what I was
Apology accepted.
>>>> You will, BTW, need the interpreter for any of PHP, Perl, etc.
Logical disconnect here again. You never make changes with the
>> Go ahead and make a code modification without PHP, Perl or whatever
By "local interpreter" I was referring to an interpreter on the box that
> Which brings me back to my original point - scripts are (usually)
Now you have me totally confused. The point of the paragraph was to
>>>>> It kind of goes back to the "pain in the arse" argument. I *could*
It is demonstrably telling you what to do! It is telling you what the
> Which functionality specifically does a "good editor" give you that
Being able to edit multiple different languages at the same time and
> You gave the FTP example elsewhere in this thread - not only can MS VS
Really? So I can go into MS VS at work and then poke through the
> (At this point, you're probably thinking that I'm some crazed hardcode
Oh I use Windows too. I don't use MS VS. I don't code in MS C++. I don't
>> By having to spend your time installing, updating, patching,
Ah, actually, well - NO! What's your point! XEmacs already handles it
The point is an IDE is way too big and too focused on one language
Contrast that to something like XEmacs, which has a long history and is
>> By spending time having to learn how to do a simple task from your
Generally the compilers are capable of generating the tags therefore
>>> BTW - "Arse" is the English spelling and pronunciation - when I say
I"m sorry to hear that! ;-)
>> Those English dude are so funny. I'm curious, is it actually
That it is... That it is... I will never get used to things like colour
>>>>> The tools offered by the IDE greatly increase my productivity,
Oh. OK. So sorry. My mistake.
>>> Just offering my views, and attempting to learn the reasoning behind
As a system administrator I have gone through efforts to make my
If I was a "dedicated, all I do is work on this one monolithic PHP
> The biggest single point I agree with wholeheartedly is the lack of
That's funny. XEmacs does a pretty good job dealing with that issue. I
> I wish there was an IDE designed on a similar principle to XEmacs,
Personally, and I've often thought of this, I'd like to make to subclass
I thought, with my brief exposure to MS VS, that it at least attempted
> Maybe there is such a thing already, I don't know...
Actually, I believe with a little work you could probably find packages
>>>> Ah again, you miscommunicated.
Well I've had the same problem and still do on occasion. But I actively
I do this because of time when I used to put type out crap and hit send
>>> You missed the point I was trying to make, I think.
Oh. OK. Sorry. Thought you mean me..
>>>> How do you perform automated nightly building of these large and
There are many of us who do and we really don't appreciate it when your
> But maybe I'm missing something, why would "building everyone else's
Case in point: At a previous client I was asked to look into automating
Then we found that it did have a command line scripting language but
> If the job of building is taken care of on the central build server
Yes. But I'm talking about IDEs which require or assume that you build
>>> As long as the back-office server has access to the actual
Powerbuilder did not have the capability to produce makefile and in fact
> I'll admit at this point that I'm not a build engineer, nor do I ever
Some 120 engineers working on like 10-15 different projects, each a
--
What happened to the first 6 ups?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Oli Filth wrote:
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">Andrew DeFaria said the following on 26/10/2005 00:41:
<br>
<blockquote type="cite">Oli Filth wrote:
<br>
<blockquote type="cite">Andrew DeFaria said the following on
25/10/2005 19:07:
<br>
<blockquote type="cite">Oli Filth wrote:
<br>
<blockquote type="cite">Whether the compiler and linker are
built into an IDE or stand-alone,
<br>
</blockquote>
Huh? What are you talking about? What compiler/linkers are built into
which IDEs? I'm curious...
<br>
</blockquote>
Integrated, whatever, I think you knew what I meant...
<br>
</blockquote>
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.
<br>
</blockquote>
I assumed that the "Huh? what are you talking about ... I'm curious"
was newsgroup sarcasm. </blockquote>
Wrong assumption on your part. If you are confused you could always ask
questions.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">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.
<br>
</blockquote>
You have a strange way of looking at the phrase "built in". In any
event, I'm curious, as I don't use monolithic IDEs such as Visual
Studio, how exactly do you suck out their concept of a project into a
say a makefile such that you can build the whole application or system
via a simple command or script. MS VS may have this but I believe other
monolithic IDEs (e.g. <span>Powerbuilder</span>) don't.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">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.
<br>
</blockquote>
Apology accepted.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">You will, BTW, need the interpreter for
any of PHP, Perl, etc. locally installed.
<br>
</blockquote>
Well, not strictly necessary to make code modification.
<br>
</blockquote>
Again you are being purposely vague here. What do you mean not strictly
necessary to make code modifications?!? </blockquote>
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.
<br>
</blockquote>
Logical disconnect here again. You never make changes with the
interpreter - you make them with an editor. Hence my confusion about
your statement. You need an interpreter to run the code. You need the
compiler/linker to compile and link non interpreted code. To me these
are a given. What you don't need is a monolithic IDE and if you are
crippled by the fact that you cannot work effectively, efficiently or
whatever without your IDE locally installed then you effectively have a
handicap.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">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!
<br>
</blockquote>
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.
<br>
</blockquote>
By "local interpreter" I was referring to an interpreter on the box
that runs the code.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">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.
<br>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">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)
<br>
</blockquote>
Hmm, perhaps you're right on this one.
<br>
</blockquote>
Ah so then you admit that compilers/linkers/interpreters are not build
into IDEs. Good.
<br>
</blockquote>
Was referring to the paragraph as a whole - not that individual
statement...
<br>
</blockquote>
Now you have me totally confused. The point of the paragraph was to
enlighten you to the fact that interpreters like PHP are <b>not</b>
build into IDEs rather they are separate entities - indeed separate
executables that do not require nor use an IDE at all. Do you or do you
not agree with that statement?<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">It kind of goes back to the "pain in
the arse" argument. I *could* write an entire application in
Notepad/XEmacs/generic-text-editor, </blockquote>
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!
<br>
</blockquote>
I gathered that, and I'm trying to find out how/why...
<br>
</blockquote>
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.
<br>
</blockquote>
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.
<br>
</blockquote>
It is demonstrably telling you what to do! It is telling you what the
function you are typing in is when it assists you with the function
prototype. Now you are indeed free to ignore it's suggestion but it is
obviously telling you what it thinks you are doing at this point.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">Which functionality specifically does a "good editor" give
you that isn't available in your average "good IDE"?</blockquote>
Being able to edit multiple different languages at the same time and
having the editor be cognizant of the different languages. Being able
to mark sections of code and it knowing how to comment it out with a
single command (and again be cognizant of multiple languages). Being
able to edit files remotely via ftp or ssh on any server in the world.
Being able to dynamically figure out and complete just about anything -
not just function prototypes. Being able to record complex commands and
play them back with ease - even repeatedly. Being able to edit huge
files, be they code or data or even binary (ever patch an executable
directly with that IDE? XEmacs can!). Being able to compile directly
from the editor, trace the errors back to the source, etc. Being able
to run shell commands in the editor capturing and piping the output so
as to be able to fill in files or code directly. Being able to interact
with version control to check out and in files with ease. Being able to
extend the editor in any way I choose using a flexible and AI like
language called lisp. Etc. etc. Sure some IDEs do some of this. Some
others do other parts of this. But rarely does one IDE do all of it.
Not having to learn a whole new way of doing things, different
keystrokes, different concepts, etc. and repeat that for every IDE for
every language that I use.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite"> 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.
<br>
</blockquote>
Really? So I can go into MS VS at work and then poke through the
firewall to edit machines on my Linux box at home through DSL or some
random box in England? Somehow I don't think I could...<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">(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).
<br>
</blockquote>
Oh I use Windows too. I don't use MS VS. I don't code in MS C++. I
don't code in Visual Basic either (Actually I did do some VB stuff - VB
script stuff - but used XEmacs to do it. MS VS VB is all oriented to
creating Windows GUI programs, but the task at hand was not to produce
a GUI program rather a script. BTW MS VS took up some 500 - 1 gig of my
hard drive! What a waste to write a 100 line VB script! And please
refresh my memory - exactly how much $$$ does one need to put out for
MS VS? Thought so...)<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">By having to spend your time installing,
updating, patching, configuring various IDEs for your various languages
instead of spending time coding
<br>
</blockquote>
You never have to install/update/patch all the individual components
and plug-ins in your tool set?
<br>
</blockquote>
Ah, actually, well - NO! What's your point! XEmacs already handles it
out of the box, is free, and powerful. Cygwin and bash, Perl, PHP, etc
(or Linux etc) is also free, has a great set of tools that are right at
your finger tips. I did have to go out and find visual-basic-mode.el
because that didn't come as default with XEmacs. 30 seconds tops to get
that file, save it then load it. I'm done. Did I have to install Perl
or PHP? Well yes. But so do you - even if you don't use an IDE.<br>
<br>
The point is an IDE is way too big and too focused on one language
whereas I use many languages. I do not, therefore, wish to install
multiple IDEs. And the chances are great that each IDE will do things
their own way and slightly differently. One IDE is enough to learn (in
fact I'd say most people use 20% of the functionality of their IDEs -
that old 80/20 rule) never mind 4 or 5 of them! And inevitably there'll
be updates and patches and functionality changes and problems. Why
would I want to deal with 4 or 5 headaches! Similarly I don't install
AIM and MSN Messenger, Yahoo Messenger and then have to deal with 3
applications doing the same thing, slightly differently, just because I
want to talk to people on those different networks. Instead I install
Trillian which talks to all of them. IOW Economy of my administration
overhead.<br>
<br>
Contrast that to something like XEmacs, which has a long history and is
really quite stable.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">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...
<br>
</blockquote>
See further down...
<br>
<blockquote type="cite">
<blockquote type="cite">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).
<br>
</blockquote>
See tags...
<br>
<blockquote type="cite">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.
<br>
</blockquote>
That's funny because XEmacs does that already...
<br>
</blockquote>
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.
<br>
<br>
This tags facility, I get the impression from some brief Googling that
the tags database has to be manually refreshed?
<br>
</blockquote>
Generally the compilers are capable of generating the tags therefore
it's refreshed as a by product of a build. Then again I rarely used
tags as I have rarely been doing 3rd generation programming. Mostly now
I use Perl and PHP.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">
<blockquote type="cite">BTW - "Arse" is the English spelling and
pronunciation - when I say "English" I mean the English that they speak
in England ;)
<br>
</blockquote>
Are we in England?
<br>
</blockquote>
Well, at least one of us is!
<br>
</blockquote>
I"m sorry to hear that! <span class="moz-smiley-s3"><span> ;-) </span></span><br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">Those English dude are so funny. I'm curious,
is it actually pronounced "ass" like us yanks or is it pronounced "are
esss"?
<br>
</blockquote>
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...
<br>
</blockquote>
That it is... That it is... I will never get used to things like <span>colour</span>
and <span>cheques</span>. For a giggle you should read: <a
href="https://defaria.com/Jokes/Plan4ImprovementOfEnglishSpelling.php">Plan
for Improvement of English Spelling</a>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">The tools offered by the IDE greatly
increase my productivity, </blockquote>
Great! Then you use them! But do not tell everybody else to use them.
<br>
</blockquote>
I never did at any point in this discussion! </blockquote>
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...
<br>
</blockquote>
I've never said that or implied that at any point (well I hope I
haven't) - that was the other guy Ramon...
<br>
</blockquote>
Oh. OK. So sorry. My mistake.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">
<blockquote type="cite">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.
<br>
</blockquote>
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.
<br>
</blockquote>
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).
<br>
<br>
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.
<br>
</blockquote>
As a system administrator I have gone through efforts to make my
window's title the $<span>CWD</span> so I can have the prompt be the
name of the machine I'm working on! When I was at HP in the Language
Lab we had some 435 machines. I received root mail from about 100 of
them as I was the lab administrator. Of paramount importance to me when
I was about to type in a reboot command was exactly which machine am I
rebooting now! We live in different worlds my friend.<br>
<br>
If I was a "dedicated, all I do is work on this one monolithic PHP
application, there are tons of objects and methods that I deal with day
in and day out, I only work on my machine and push stuff up to other
machines where they run my code or test my code" I'd probably use a PHP
oriented editor (actually I probably wouldn't because I already know
XEmacs and that works fine for me - I'd get additional XEmacs packages
to handle what the IDE give you so I can continue to work in XEmacs).
But my work is different. I not only work in several scripting
languages but I write web pages too and edit all kinds of other
language oriented or structured data files all the time.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">The biggest single point I agree with wholeheartedly is
the lack of uniformity amongst IDEs (some are unavoidable, of course,
due to language differences). </blockquote>
That's funny. XEmacs does a pretty good job dealing with that issue. I
do admit that in the different modes there are different commands - but
all of the basic movement, editing, day to day stuff is largely the
same...<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">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).
<br>
</blockquote>
Personally, and I've often thought of this, I'd like to make to
subclass the text edit widget such that I could usurp all text edit
widgets that the windowing system is using and all of them would use
Emacs key bindings and have the ability to talk to the underlying <span>emacsserver</span>
process. Then I could say in this Thunderbird Compose window simply C-x
i /andrew@defaria.com:/some/path/to/a/file.txt and insert it right
here, or whatever. But alas, while this might be doable under X Windows
I wouldn't have the foggiest idea of how to do that to a Windows
machine...<br>
<br>
I thought, with my brief exposure to MS VS, that it at least attempted
to accommodate several languages like C++, VB and C#.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">Maybe there is such a thing already, I don't know...
<br>
</blockquote>
Actually, I believe with a little work you could probably find packages
to have a relatively similar set of "cool tools" in XEmacs and/or write
your own. Problem is you have to learn to code in lisp (and I'm not
very good at that either).<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">Ah again, you miscommunicated.
<br>
</blockquote>
Yup! Is it clearer now?
<br>
</blockquote>
Yes but why do we have to hash such things out? Can't you endeavor to
be clear in the first place?
<br>
</blockquote>
Whilst "think before you type" is a virtue I attempt to adhere to,
doesn't *always* work in practice.
<br>
</blockquote>
Well I've had the same problem and still do on occasion. But I actively
worked on it. Another concept I employ (usually) is the silly and
stupid concept of checking what I typed <b>before</b> I hit the send
button. I'll do it here to. After I'm done typing in what I wanted to
say I go back and read it all. I change those mistakes of "your" but
meant "you're", etc. Some times I add stuff. Sometimes I reword stuff.
Sometime I check it again. I find it useful.<br>
<br>
I do this because of time when I used to put type out crap and hit send
and after a few people pointed out the errors in my communication I
actually felt ashamed and made an effort to improve that. I truly feel
that the way you communicate says something about you - you make an
impression - and I want to make a good impression. I also spell check
my work. These are all things that many people, especially on the
Internet, kinda even bad mouth. Fine. But I can't help but look at such
people as less intelligent. And it's clear to me that they don't mind
if I (and others) do.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">
<blockquote type="cite">You missed the point I was trying to make,
I think.
<br>
<br>
If you know the exact nuances of command-line C compilation and
building, utilising every single feature that makefiles afford, that's
great.
<br>
</blockquote>
BTW I didn't claim that I did.
<br>
</blockquote>
I know - Hypothetical "You" in the general sense.
<br>
</blockquote>
Oh. OK. Sorry. Thought you mean me..<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">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...
<br>
</blockquote>
You don't need to build it on every single person's machine/IDE, do
you? </blockquote>
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...
<br>
</blockquote>
Again, a hypothetical "you". </blockquote>
There are many of us who do and we really don't appreciate it when your
choice of IDE and your method of building does not easily fit into an
automated way of building large quantities of software which is how it
usually, eventually needs to happen in any large organization.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">But maybe I'm missing something, why would "building
everyone else's code" ever involve firing up all their machines? </blockquote>
Case in point: At a previous client I was asked to look into automating
the build process. This particular project used Powerbuilder. Not only
did I have to install <span>Powerbuilder</span> but the only way I
could build was by firing up the IDE and selecting the right project
file and pushing the build button. The lead engineer of the project
knew of no other way to build the software!<br>
<br>
Then we found that it did have a command line scripting language but
nobody ever used that. I tried to reproduce the build from that
scripting language. There were problems. New versions and patches of <span>Powerbuilder</span>
were installed. Still the lead engineer didn't feel comfortable with
this command line build process and didn't feel confident that the
build was being done correctly. Eventually the contract ended. I don't
know if they ever managed to automate that build process - my guess is
that they didn't.<span></span>.<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">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?
<br>
</blockquote>
Yes. But I'm talking about IDEs which require or assume that you build
from within them. See case in point above - a real world actual case.If
an IDE just writes code then it is nothing but an editor is it not?<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">
<blockquote type="cite">
<blockquote type="cite">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.<br>
</blockquote>
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?
<br>
</blockquote>
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.
<br>
</blockquote>
<span>Powerbuilder</span> did not have the capability to produce
makefile and in fact required the installation of <span>Powerbuilder</span>
on the machine doing the building as well as being able to contact the <span>Powerbuilder</span>
thing itself because it stored the source files in what it called <span>PBL</span>
(<span>Powerbuilder</span> Libraries). I know that MS VS can output
makefiles. That being the case, why wouldn't you bop into the command
line and type a simple make if for no other reason than to be building
the same way the production build will be building?<br>
<blockquote cite="mid4oR7f.2447$sA4.2119@newsfe2-win.ntli.net"
type="cite">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.
<br>
</blockquote>
Some 120 engineers working on like 10-15 different projects, each a
compiler or compiler product, all used make (actually <span>clearmake</span>)
from standardized makefiles. Any engineer could build any other
project's code in the exact same manner as they build their own code -
it was simply a <span>clearmake</span> <span>hpux</span> - there
you're done! - whether you working on the Ada compiler, the C compiler,
the C++ compiler, FORTRAN, High Level Optimization, Low Level
Optimization, <span>Codegen</span> or whatever. In fact, if you went
to build the C++ compiler it might build <span>Codegen</span> (because
it had been changed) or maybe High Level Optimization, during your
course of building your C++ compiler. Any engineer who went from one
project to the next immediately felt at home as far as the build
process. He then only need to concentrate on what he was being paid for
- producing his code not producing a build system for the project -
that was done already. Furthermore the Integration group could, and
eventually did, build everybody's code before submitting it to
manufacturing. Professionals have profession build systems that have
more in mind than the individual developer but rather have the
organization in mind. IDEs often make making that build system
difficult by their very choice of IDE.<br>
-- <br>
What happened to the first 6 ups?
</body>
</html>
Received on Mon Nov 21 02:50:52 2005
|