Re: Learning C++
In article <4f039929-dfa8-48f3-ad11-70dceee314c3@r24g2000yqd.googlegroups.com>, James Kanze <james.kanze@gmail.com> wrote:
On Jan 11, 10:05 pm, Ian Collins <ian-n...@hotmail.com> wrote:
Brian wrote:
On Jan 5, 4:14 pm, Ian Collins <ian-n...@hotmail.com> wrote:
When a project mixes code from different sources (open
source libraries for example), makefiles are usually the
best, if not only, option. Every project I work on has a
mix of local and open source code, so the build system has
to cope with both. There's so much open source code out
there, the sooner a developer gets to know how to build
form the command line, the better.
The following comments are from the review of the new book
"You Are Not A Gadget" in the Wall Street Journal --
http://online.wsj.com/article/SB1000142405274870348100457464640219295...
"There's a dominant dogma in the online culture of the
moment that collectives make the best stuff,
There is no rule one way or the other.
It all depends on awareness of individuals.
but it hasn't
proven to be true. The most sophisticated, influential and
lucrative examples of computer code like the page-rank
algorithms in the top search engines or Adobe's Flash always
turn out to be the results of proprietary development.
Indeed, the adored iPhone came out of what many regard as
the most closed, tyrannically managed software-development
shop on Earth."
There's no denying there's tons of open source out there,
but so much of it is of low quality.
There are also a lot of high quality, long standing opens
source projects as well.
I doubt it. Haven't seen a single one to date.
The products my team develops use several
The only advantage I see is the abscence of commercial pressure.
So, it is more relaxed environment. But that often means
sloppiness.
and they are a lot better quality than a large piece
of smelly proprietary software we have to use.
Well, the proprietary code IS smelly in that in vast majority
of cases it is non documented and written in such a way as to
make it virtually unreadable by someone else. Job security issue.
I don't know about lots; there are some reasonably good open
source projects,
I wish I saw one.
even if they're far from the majority. And a
lot of closed source is pretty poor as well.
Indeed. Except because of typical viciousness in the sw
business, it tends to be much less documented and much less
readable.
(Of course, when
the projects aren't open source, it's hard to know whether
they're good, or just lucky.) The very best software (in terms
of reliability) generally comes from more or less rigorously
organized environments,
Well, it immediately associates with viciousness in my mind.
The most disgusting environments I had to deal with use this
"rigorous" approach, which turns out to be a living hell.
There is a subtle balance between precision and humaneness.
Long subject.
which puts most freeware at a disadvantage,
With freeware people somehow think that the only think they have
to do is to write there "latest and greatest", "revolutionary"
piece of code and documentation and clarify part of it is not
their concern. Most of that code ends up being unreadable
without wasting days on trying to understand their densely
packed piles of totally undocumented crap.
but a lot of commercial firms aren't that well organized either.
Well, when you are too much concerned with the "bottom line",
you have not much time left and no incentive for people to
take it to the level of elegance and document it so it would be
a breeze to read. Just the other way around, the more unreadable,
the more undocumented your code, the better is it for your
"job security". Sick stuff basically.
In the end, if you are purely interested in statistics,
Which is meaningless.
all it takes for an open source to survive is
stubbornness on the part of the author
True.
---a commericial project
which is really, really bad finishes by going out of business.
But does it make sense to include all of the open software that
no one uses in the statistics?
Well, the open source gives you at least one consolations:
if something does not work as you expect it, you can change it
and make your own verions. Except you never seem to have enough
time to even BEGIN to read all those piles of totally undocumented
spaghetti code. So it does not work out at the end.
But at least you do have the option.
In the end, if you need a program to do something, evaluate it
on its merits. Without letting open source or not influence
your judgement.
Well, all equal, i do prefer the open source version.
At least you are not locked in into some dead end situation.
I think the major problem with sw business is the pricing issue.
If companies like microsoft would not set a precedence of charging
an arm and a leg for their stuff, it would be much more beneficial
to the whole industry.
Sure, everybody wants a "free ride". But most people can afford
to pay some small amount of money to be able to play with some
fancy sw toy. Say like $50 for someting that really gives you some
joy for a least a couple of months.
The idea of "open source" has its limitations in that those,
who spend a considerable amount of time to write some piece of
code, are forced to simply give it away for free. And to whom?
To some parasites that are forever looking for a "free lunch"?
If you spend years of your life writing some piece of code,
why aren't you compensated for your effort? Are any of those
parasites, using your code, are willing to dedicate years of
THEIR lives to do the same? Or are they simply interested in
sucking?
Basically, people need to pay more attention to the fact that
you have to pay something to get something of value. You need to
be greatful to those, that gave you some joy by writing such a
beautiful piece of code.
And if you are NOT greatful, you are ripping YOURSELF,
and not the other as you might think.
That's the verdict.
--
Programmer's Goldmine collections:
http://preciseinfo.org
Tens of thousands of code examples and expert discussions on
C++, MFC, VC, ATL, STL, templates, Java, Python, Javascript, PHP,
organized by major topics of language, tools, methods, techniques.