Rui Maciel said:
Yet, that has absolutely nothing to do with C++ and only brings confusion,
needless confusion, to every newbie that is taking his first steps into
programming.
We obvoiusly meed tifferent newbies and your claim of "every" is false to
say it mildly.
And I still see no explanation on how learning use of *make* is less a
distraction.
A suggestion to just use the compiler directly with the command line at
least would make sense.
So, by using an IDE a newbie not only is forced to do more to perform the
same
task
LOL, the part you efficiently deleted showed that it is actually less, but
why bother with facts if they don't fit the dogma.
but he will also end up understanding less.
That is true -- he will not learn to use a tool that is not needed. What is
next, that IDE does not teach to perform lege artis brain surgery either?
It's pretty much settled what is the best tool here.
and we all lobe Big Bother too.
What? Typing in a dozen letters is "extreme amount of redundant typing"?
How
many LoC do your projects usually carry?
12/0 makes a big number. And we should find some common mathematics branch
to compare numbers in the same way.
My project sizes are irrelevant and 'usual' has little sense there.
Why should anyone waste their time writing wizards if they can perform the
same
task faster, easier, cleaner and with greater understanding of what is
going on
by just opening a text file and type away the code?
To save that typing over and over and over, and start with correct code.
Really, why we bother with using compilers too, we could type in the machine
code directly... O,O
I don't understand this problem you have with keyboards
I don't have any problem with the keyboard. I do have problem with false
claims, that state "their way" needs less time or less interface activity of
any kind.
, particularly when the
subject is none other than programming.
Typing in the above text is programming? In C++?
If you wish to program you are forced to
use the keyboard and use it extensively. In fact, being forced to move
your
hands away from the keyboard is a major hindrance in any programmer's work
flow.
So, pointing out large amounts of clicks needed to pass through the
multiple
wizards that you must run through in order to start off terribly basic
projects... Well, it doesn't make IDEs look good.
I wonder what is the amount of false claims allow me to shout cheat and
liar.
Is it so hard to admit "I was wrong, sorry". Or "Ok, I bluffed, it was
called, let's move to next subject."
I'm sure with some more sophisticated trying you could provide an example
that is not covered so frelling directly by a wizard, so it would show
advantage on pushed side however made up... Or just remain with the real
examples, where make have the actual upper hand.
You don't understand the virtues of being able to fine-tune your tools in
order
to have full control over it and therefore make them work exactly as you
want?
No, I don't buy in the hedge-fond like benefits that never cash in. I
want flexibility when it is needed, and go with the simplest thing when is
suffice.
guess I am not a control freak, and to me it is enough to have exactly the
amount of power I have intention to use. Probably comes from the
confidence that I can gain more power as need becomes actual.
If all your needs fitted neatly with all the basic features that an IDE
usually
offer then congrats.
I never said that IDE (especially some single IDE) prevented me from using
anything else too if there was a need. The whole approach is more than
wierd to me -- an IDE is one tool in the box, quite powerful, and usable in
the bulk. For good. It will not file for adultery if some tasks are
solved fith anything even more fit.
Yet, as soon as you are faced with non-trivial tasks, such
as supporting 3rd party compilers or integrating 3rd party tools into your
project (automatic code generators, for example) then you are suddenly
forced
with a usability barrier which is needlessly hard to work around.
Sure, that is what I said a few post upwards.
If we are at it, should add, that '3rd party' normally targets the common
tools, and say VS counts as such. A library intended for use in Windows
development has more than fair chance to include VS compatible project file,
and much work needed to make it plugable is done by the vendor.
Certainly it may be for a different version.
I saw a couple 3rd party compilers/tools aim to integrate in the VS too.
If people spend their own money on them instead of using something
different, I'd wager that way is useful for something. ;-)
On the other hand, if you aren't tied to an IDE and instead rely on a text
editor then, at worse, you can simply edit your Makefile and type in a
couple of
additional targets. And you are done. Easy as that.
Is there any new point here?
What are you talking about?
Which part is not clear?
My CD player has an eject button. It is good for me. I certainly could want
finer control, a slider to control the speed of ejection. Some interface to
adjust how it recognizes the power of push. how on earth could I live with
just one dumb button? It is limiting like hell.
You fail to understand that no one was born knowing how to operate an IDE.
Or make, or anything.
You're back to false claims, that typing magic text in a magic file taking
care of magic punctuation and layout is genuinely easier for anyone to grasp
than some other interface like drag&droping a file into the project manager
pane.
And we're talking about interface patterns that are common to a wide variety
of programs -- you used any one and can figure the next, while make is a
specific program from the distant past that stayed afloat just due to weird
evolutionary accidents.
If it is so perfect why people work on other build systems, and use those?
That
means that in order to first find out that the "special field" you mention
exists, that person is forced to needlessly comb through piles of
documentation
and waste their time waltzing around the IDE's menus and absurd amount of
dialogs.
You push hard on my bullshit threshold, please admit that you neves have
actually seen any of those dialogs, just heard some fairy tales like that
about the 12-head dragon. Please execute at least one, than you can report
the correct count and amount, and not mislead anyone.
To use the project wiz for the task starting this post you don't need
anything and can proceed with the info on screen. At least for one having
at least an IQ of 90 and able to read the language of the interface.
Okay, I counted in ability to use common UI like push buttons and edit
boxes.
The field is there well visible and is filled with the compiler switches, so
anyone actually knowing the needed switch shall only do as much mental work
to discover a non-readonly editbox is there to enter the text...
Knowing what the needed switch is asks for fair amount of RTFM, so I wager
whoever has that level will not have problem with entering.
A common case is different: one has no clue whatsoever about the options,
don't bother with RTFM ever, for anything, and then gets annoyed that the
explanation/reminder text in the options UI is not enough to do the imagined
thing. (what may be just not doable too)
That part of IDE IMO serves only those who have a fair clue what they want.
And the make version does not have even that much spoilers.
To add insult to injury, that pseudo-skill is rendered useless as soon
as the next IDE is released.
Well, there are controls I use much so I expect them to be at a place I got
used to. Possibly up to the pixel.
Project/compile options are definitely NOT in that category, and it never
occoured to me to memorize or rely on the current interface there. (As I
wrote it changed a lot -- guess for that very reasoning. Peoplegetting
there will push the button wherever it is.) Other parts of the interface
are stable for rearrange would mean a ton of complaints.
On the other hand, if you rely on a text editor then just open a file and
tweak
your option. That's it. You are done.
In that case I need to actually memorize that the option is /Fg /K12x --
on the interface version I just pick from "Use/not use precompiled headers"
or "optimize speed" or "want assy output". I read about the effect of them
some 15 years ago and just select the one I want not caring the
ciphertext -- that is more efficient than the whole RTFM.
As already stated, if you can provide the switch itself entering it is
exactly as easy.
If what a newbie wants is simply to learn how to write C++ code then why
on
earth should he be forced to waste time with tutorials targeting some
application's unending, bloated UI and multitude of features? It appears
that
your idea of simplicity carries a heavy burden of unjustified complexity
and
extra work.
Err, is there any well-established method for a newbie to "simply learn how
to write C++ code"?
Or for one already having a base in C++ to create, say a Windows application
that is an editor of some kind?
Do you mix distinct use cases for reason or really can't separate them?
If the part of the work is like "calculate the 100th digit of pi and print
it on stdout" then all you use from the IDE is to create a windows console
application, initiate build, navigate on errors, initiate debugger, debugger
basics.
If the task is to create an application with a dialog and do something with
the input, you need shall learn the parts to edit resources, description of
support classes for that dialog and common controls, steps to take so data
on UI appears in variables.
If it is a document-view app, then also to add message handlers, paint and
deal with GDI and so on.
Those are not distractions but parts of what needed for the work -- but
you're welcome to go back and do sutuff Petzold-style on a bare API. Or
skip the whole thing and claim that digits of pi should be enough for
anyone, and wanting UI is for the devil. ;-)
And yet it got you nowhere in your knowledge of that specific API and you
were
forced to waste your time learning how to handle a wizard which, if you
are any
serious with your programming projects and your projects are anything
beyond the
1k LoC, you only end up doing a handfull of times in a time frame of
years.
You sure know too well where I got. ;-)
That's irrelevant, as debugging isn't an exclusive domain of the IDE.
No, but it is (regretfully) integral part of SW development. And having a
single interface instead of several saves much time.
Unfortunately that is a problem which the IDE imposes on everyone, not
only
newbies. If you are expected to do anything with an IDE then you are
forced to
waste your time learning how to use it instead of just writing the damn
code.
Uh oh, and I many people shall waste like 12+5 years on going to school too,
instead just starting to work.
And waste time on learning C++ (or other language to program) instead of
just conjure working out of thin air.
My experience is clearly that time invested in learning in general -- also
time to learn to use and/or create sharp tools is an investment that pays
off multiplied.
One important property of good tools is intuitive interface (that is either
naturally fits the problem/solution space or builds on elements already
learnt elsewhere).
If you pick any alternative, those also have learning to do. That may be
less, but may be just the same -- as launching a build must happen some way
whatever you use.
Also, you can learn an item the same time that is useul for more things in a
more sophisticated tool.
Then, most importantly the amount of learning needed in SW development on a
regular basis (that covers languages, existing SW components and the problem
domain) exceeds the loerning need for IDE-like tools by 2-3 magnuitudes at
least, so it hardly worth mentioning. *If* actually happens -- as skipping
that little part may lead to inefficiency, dragging -- or inefficient
handling of preventable problems that are pretty expensive.
If, instead, you use a text editor then you just open it and code away.
There
is no bloat, there are no irrelevant, distracting, useless features which
end up
doing more harm than good. It's just you and the text file. And that
means
being far more productive.
You keep repeating empty claims.
For one features that irrelevant are not distracting. If a feature is
useless, I don't use it. One man's irrelevant useless feature is anothers
life essence.
Not long time ago in a Spolsky he talked about some doc/text editor, and
that it was undergo trimming, discarding some of the bloat. I.e. they
discarded the char/word count statistics. "Great idea" I thought, i surely
never used that and could not think a sane mind to be interested.
Then reading ahead I found that complaints started pouring in, that
journalists and similar folks are no longer able to use the editor for work.
As they are supposed to deliver some measure of that very count.
There is an observation, that most people use maybe 10% of an application's
interface or less. But you can't cut the other 90%, as it is different
for different users.
The features of the IDEs I use are definitely needed in my work and save
much time and accuracy. I would use simple editor, or other tool, if it
were more effective. (I use too, without hesitation, or write a tool if the
time spent on that is less than the estimated alternative -- or that has a
hateful/boring effect).
If a simple editor is good for your work, use that, I don't care as long as
I am not responsible for your output end effectivity -- and it remains
abstract whether your performance is optimal or not.
But you should not pass judgement about other people's work you have no clue
about.
No, that means that if you only need to do simple, straight forward
projects
then you start, at best, at the same level as if you hadn't picked an IDE
to
begin with and picked a text editor instead.
More repeated falseness.
Yet, you don't have any freedom, as you are kept firmly wedged between
what the
IDE supports and what the IDE forces you to avoid.
The freedom to chose the IDE itself suffice -- asmy using it implies more
freedom is not needed.
And I surely won't sacrifice real features and
benefits for some imaginary "more freedom". That in another context you'd
apostrophe as "bloat" and "irrelevant" and other fine words quoted above.
So if meanwhile you find
your project in need for some tool or feature which your IDE doesn't
support...
Well, you are screwed. That doesn't happen if you don't work with IDEs.
Like in don't use plane, as it may crash, you rather walk thousand miles
than risk the chance.
Btw getting screwed time to time appears a fundamental part of SW
development (or life in general), regardless usage if IDE. So the
possibility does not scare me too much. ;-)
I don't believe that being forced to waste time to try to figure a way to
force
your IDE to do anything that it wasn't built to do does anyone any good.
It's
still your IDE burdening you with extra work which you shouldn't be doing
to
begin with and you would easily avoid by using a text editor.
Huh?
No, it's the burden of being forced to do far more to accomplish less.
more false claims.
So you not only advocate that a person should waste their time by learning
how
to work with a piece of software which pretty much ends up making you work
less
efficiently but, if that wasn't enough, you also suggest that a person, on
top
of that, should waste even more time learning how to work with multiple
software > packages just to be able to chose one among them.
Oh, come on, I can't be that stupid or evil to advocate that -- everyone
(else?) knows that there is the one and ony ultimate text editor (and build
tool, and guess language, and os, and...) that solve every possible need of
anyone.
The world got on the wrong track to ever try to write more than one editor
and the writes of surplus should have been sent to room 101 in due time.
People should stick to use thet one true thing and learning about
possibility (let alone featires) of the others is a serious sin to be
banished.
O,O
And, keeping in mind the
subject of this discussion, you suggest that a person should waste all
that time
doing all that as a prerequisite to simply learn how to program.
Actually for the language-learning context my claim was that the newbie
could just fire ahead. And learn along following the tutorial. But never
mind.
Before jump to learning I'd certainly suggest some exploration of whats and
whys, and I still see a world before banishing, and there is more than one
kind of thing open to possible learning. So some choice must be made
before start. ;-)
That, compared to just picking up pretty much any text editor and just
hack
away.
*Any* text editor? Ah, I see, text editors have four legs, and IDEs have
two, right, so the rest figures.
And using an IDE is supposed to do what? Save you time? It doesn't look
like
it.
why bother looking
That doesn't make any sense.
Too bad, it is easier to refuse the clear parallel than admit a poor claim
and retract it.
And why is this relevant?
You tell me -- you implied my experience is limited in some ways while it is
not. Now what? ;-)
But never mind, so much fun was enough for a couple of weeks.
Everyone has a right to believe in whatever