What, in actually legible text, has he just patented?
That's a wonderfully good question.
A CS professor can write a book full of
algorithms, and a second year CS major can
read the book and tell whether a random piece
of code uses an algorithm from the book.
Why can't a professional software engineer
read a patent application and understand what
will infringe and what will not?
I think the balance between protecting the
patent owner and protecting the public requires
a plain English (at the very least, something
that a CS major can read) reform to patenting.
China, though in possesion of the exact same technology, was not able to exploit the power of printed text until Europe broght the industrial revolution to Asia.
I think it's more likely that the powers that
be chose not to. The power of language is well
understood and tightly controlled by each
Dynasty. Political commentaries are basically
unheard of, except when written by appointed
observers directly to the Emperor. Even then,
there was some chance of losing your head if
your criticisms struck a nerve.
Early in the Qing Dynasty, Western missionaries
competed with native astronomers in computing
a new calendar. This is important, because
Emperors ("Son of Heaven") derive some of their
power from accurately predicting climate and
cosmic events. Because the missionaries knew
calculus, they won the contest and were
appointed positions in government. Other
missionaries brought innovations like cannons.
None of these alerted the Dynasty enough to
make fundamental reforms to catch up, and
a couple of hundred years later China would be
repeated humiliated, losing wars to just about
every other Western power, including Japan.
Japan, on the other hand, got a rude shock
when Americans arrived. They instituted a
set of reforms under the Emperor Meiji, and
leapfrogged China. The Japanese do have an
alphabet, but they also use thousands of
ideograms to this day. The language did not
seem to impede their development that much,
once they gathered the political will to do
it.
I believe that Gutenberg invented his press
without ever learning about the Chinese version,
and therefore deserves full credit for the
invention.
Generally, independent reinvention is credited
only when it occurs at roughly the same period
in time.
The Chinese [...] deserve derision for sticking
with an unbelievably inefficient alphabet, which
prevented them from progressing past medieval
levels of development for over a thousand
years.
First of all, there is no alphabet. Chinese
words are not spelled using a finite set of
symbols arranged in one dimensional order.
Secondly, I think many other factors contribute
more than the limitations of the language.
Let me cite a few:
Questioning is generally associated with
challenge and hostility, and is frowned upon.
Scientific development requires questioning.
Aside from a few exceptions, Chinese
political leaders are generally satisfied with
obedient neighbors, and are not territorially
expansive. This limits their contact with
the outside world, and decreases the need for
military technology.
The Chinese are arrogant about their
place in the world, and are often in denial*
about the abilities of other powers.
The civil service examinations emphasize
the study of classics and "high" arts, and so
the acceptance of technocrats into civil
service is usually accidental. The lack of
a technocrat government means that scientific
development is neglected.
China stayed a (real) monarchy until early
in the 20th century. The Chinese monarchies
are not exceptions in their neglect of
peasants, and how technology could uplift
their lives.
Chinese is a dominant language in Hong Kong,
Taiwan, and Singapore. How is it impeding
scientific progress there? You might also
be aware of China's own technological
progress over the last few decades.
* For example, Western missionaries introduced
calculus and cannons to China early in the
Qing Dynasty (about 400 years ago), yet this
did not really stir the rulers into something
akin to the Meiji Reforms in Japan. A couple
of hundred years later (plenty of time to catch
up), Qing would be punished by repeated
invasions from various Western powers, and
still be foolish enough to believe that some
fanatics had magic to be invulnerable to
Western bullets.
After I did the same to the "Ultimate" Mac, and removed Bluetooth and Modem (but still with 120 GB HD), it cost $2,920.00.
Yes, but now you don't have the option to spend
the $1000 you saved in raw CPU speed, if that's
what you really need. Lack of options at the
high end is the "worry" I'm talking about.
If you re-spec'ed it by downgrading all the goodies of the "Ultimate" paclage, why are you still comparing them?
Because the PC is proving to be more flexible.
That is, for the same price, you can get what
are probably more powerful CPUs by sacrificing
items you don't need. If you don't need that
much CPU power, you can spend the same money
on the peripherals.
Basically, you don't want to be in a position
where you don't have anything more expensive
to sell a buyer, and that's where Apple is at
the high end desktop workstation.
I spec'ed out a dual Xeon based on the "Ultimate"
PowerMac, and it came to just under $5,000
without Bluetooth. Re-spec'ing it to a CD-RW
drive (from a DVD+RW), 1.5 GB (from 2 GB) RAM,
80 GB (from 120 GB) hard disk, and a cheaper
32 MB video card (from 128 MB) would bring it
to the neighborhood of Apple's $3,800 "Ultimate"
package. Apple certainly has reason to be
concerned at the top end.
And competition is always good -- it keeps companies honest.
I wish. Fierce competition among long distance
carriers resulted in a completely lopsided rate
system, where new customers get the best breaks
(remember getting $50 or $100 off if you switch?),
while old customers get little or nothing for
their loyalty. The rates probably did come down
in the end, but I wish they'd compete without
concentrating entirely on signing new customers
and take care of existing customers some more.
The cel companies should employ modern network standards along the lines of IPv6, DHCP, and ZeroConf.
IPv6 is an addressing and routing scheme to
extend the number of nodes on a network. I fail
to see how this applies to cell phones, each of
which already has a unique routable address.
No, it's not the phone number.
DHCP is used to configure a node. Some new
cell phones are already configured over the
air today.
ZeroConf is used to discover services. I have
no idea why you think this will apply to a
cellular network.
When you turn on your phone you're on the network.
What do you think happens today? Do you have
to log on? Provide a password? Talk to an
operator?
Who else is on the network? Your phone tells you.
A million other people are on the network.
Want to call someone? Select their name from your buddy list.
I've been doing that for years. It's a bit
tedious to enter the data in the first place,
but with vCards over IR or Bluetooth, it'd
be quite trivial.
All this archaic ten-digit dialing, ringing, answering, messaging is all going to seem very quaint in ten years.
I don't do ten-digit dialling today, so
that's not worth discussing.
Ringing? How else does a phone tell you that
somebody wants to talk to you? (I'm including
"vibrate" in the same category.)
Answering? This is when you start the
connection. In the future it might not involve
pressing a button, but certainly you will have
to answer your phone somehow.
So I'm afraid I don't really know what you're
talking about.
Mr. White is [an idiot], if only because he believed the results of his tests enough to publish them, and make a fool of himself
I don't think there is reason to believe that
the White benchmarks are invalid. First of all,
they are out-of-the-box configurations, still
valid for those who don't want to hack their
software. Secondly, it predates this dual
processor hack.
Its conclusion can now be called into question,
but I think "idiot" is far too harsh. If he
is intellectually honest, he will redo his
benchmarks applying this recent discovery.
Since graphics professionals are somewhat more
likely to require and afford top-of-the-line
hardware, it's not an unreasonable assumption
to optimize for at all.
Adobe could have rewritten some key functions to be altivec optimized. But the Macintosh market is smaller, (and therefore less potential profit).
Be careful with your math. Although the Macintosh
market is comparatively small, it's not
necessarily a correspondingly small part for
a maker of software for graphics professionals.
I would not be surprised if the Macintosh
products bring 10% (double the apparent
Macintosh market share) or even 20% of Adobe's
sales.
make it so that you can't be re-elected as president if you have a budget in the red
Blanket rules have difficulty envisioning every
possible future. Every so often a government
needs to spend more than it makes on a grand and
expensive project, and borrowing is sometimes
better than heavily taxing the population right
now. Examples of this sort of project might be
a new network of high speed long distance mass
transit, or a Mars colony. Banning it outright
means politicians will only do short term
things with immediate payoff.
In a democracy, voters shouldn't delegate their
duty to monitor the government to these
automatic blanket rules. If your President
spends billions on projects you don't approve
of, vote him out of office. What's the problem
with that system?
My memory failed me. You are correct that
corn-fed cows are typically fed about six
months on grass when they are weaned.
Here's an interview
with author Michael Pollan, who bought a cow to
understand its "life story" and the economics of
raising it for profit. It disputes some of
the points you raised about antibiotics and
the effects of a corn diet.
I don't have figures to dispute your 95%, but
the point is that once we figure out how to
get the valuable marbling, it's pretty
irresistible to go for it. After all, it's a
highly competitive business with slim margins.
But the problem is, that alot of people [...] see the movement physics as impairment, not realism
Your point is well taken.
I think the most interesting thing about more
realistic physics is that it has the potential
of taking the game out of the designer's hands.
The game can provide you the ability to modify
terrain, but the player figures out you can use
that feature to build a "dam", and then blow up
the "dam" to flood your enemy, or use the dam
to irrigate your crops more effectively. The
designer only has to provide the problem and
the simulation, but is freed from providing
specific solutions to puzzles.
Imagine a space flight simulator, where
naturally a game designer would not have
expert personal knowledge on. However, if
the physics is properly simulated, it's not
impossible for good players to figure out their
own tactics and maneuvers that the designer
never even thought of. I'm talking about
that idea, applied to the other genres like
FPS, RTS, or RPG.
Basically, the opportunity to play in a
world that doesn't even feel "designed",
the way a Doom level must be. Many games
today play like you're playing against the
designer (in absentia), trying to figure
out what he was thinking, which I think takes
away from an immersive effect.
Or they might be so much smarter than us that they realize they don't need to kill everyone who differs from them
Possible, but looking at the way we consider
animal and plant life, I wouldn't bet on it.
Yes, we try to preserve endangered species,
and there are animals we consider pets and
protect like our own children. However, we
also do a lot of medical experiments on
certain animals exactly because they are
somewhat like us (but not quite).
Most importantly, I don't see any one single "supercrop" taking over and displacing all others. This is not happening now, and it isn't any more likely to happen now
If you live in the US, how many kinds of potatoes
can you buy at your grocery? I would expect it
to be two or three. How many kinds of apples?
Probably three or four, with a couple more
"mixed" breeds. The Russet potato and the
Red Delicious apple are in fact pretty close
to the supercrop you don't see. Not
coincidentally, both require large doses of
pesticides.
GM crops intensify the problem. It becomes
even more possible to develop a crop that is
cheaper to grow (pest-resistant, long shelf
life, etc) and more popular (sweet, crunchy,
etc) than anything else out there. When that
happens, most farmers will be forced to
abandon their own crops or face bankrupcy.
That goes for all current crops, and farm animals as well.
That's the problem. Humans have interfered with
natural selection by adding our preferences
(sweet apples, meaty potatoes, etc) into the mix.
This is not a problem if you plant a favorite
apple tree in your backyard, but becomes a
problem when we systematically remove space for
all other kinds of apples (ugly ones, sour ones,
etc) to make room for our apples.
These monocultures are highly susceptible to
pests, as you can imagine, and therefore
require large amounts of pesticide. The lack
of biodiversity is its single point of failure,
if you will. Potatoes are in a similar
situation. Because Russet potatoes are big
and white (perfect for french fries), they've
squeezed out other species, and the land they're
planted on are heavily poisoned with pesticide.
Want another example? Americans prefer
"marbled" beef, where fat and lean meat are
interleaved. The best way to achieve that is
to have the cows feed on corn (most beef you
can buy in the US come from cows that have
never tasted grass). Unfortunately, cows can't
digest corn, so they are also fed antibiotics
to keep them alive. They are also fed hormones
to accelerate their growth to slaughter weight,
from about five years down to just 18 months.
Do you really think all of this comes for free
(I'm not talking about dollar cost) to the one
who eats it?
After all, if it's the easiest curriculum, can you really expect to be treated with that much respect? I hope you see my point.
Are we talking about pay or respect?
You can have little respect for some sales type
who partied through college, but if he signs
that billion dollar deal for your company, he'll
make more than you (software developer).
You can have great respect for some summa cum
laude PhD type whose papers are lauded, but if
he can't code his way out of a paper bag, he
may not even get hired as a software developer.
Respect is based on what people have gone
through. Pay is based on the value they can
generate.
Finally, the relative ease of some college
majors is often overstated. While there are
some that are easier to just pass, most of
them are very hard to excel at, because they
usually do have a share of majors with the right
aptitude and attitude. On the other hand,
courses like CS and EE often overstate their
own difficulty, flunking students who later
do well anyway as real engineers.
I would not consider the lack of an explicit cast "correct" in that example. That is, unless you want a compiler warning because the prototype does not match it's usage.
First of all, your compiler will most likely
issue an error, rather than a warning.
Omitting an explicit cast will catch the error
of a missing prototype. Adding an unnecessary
cast hides the error. Which one is more
correct usage of the language?
There ARE cases when one needs to optimize the heck out of the code, to fit time, space, or both.
Right, but that's not what I was talking about.
the big vendor [...] may choose to give up on that 5% in exchange for less expense in their software development.
That's exactly my point. A big vendor, probably
a public company, has a responsibility to its
shareholders to maximize profit. If the
additional 5% market can yield more revenue than
cost, they should pursue it even if it
means optimizing some code. Note that the same
optimization (paid for by the 5%) can also
strengthen the 95% marketshare.
Like I said, $100 for a more efficient app
(which costs $50 for new computers) to
make your old machine last one year longer, or
$400 for a new box? I really think there can
be such a market (for Microsoft, I mean, not
for just anybody competing with Word on the low
end). Remember that these are tough times.
no argument, however lucid and rational, will ever convince an anti-war protester that taking out a ruthless dictator is the right thing to do.
I can think of a few things that could help:
Plan the war better. Expect the resistance,
and occupy Baghdad in a more orderly fashion to
avoid the looting of hospitals and museums.
Plan the post-war transparently. There was
very little discussion before the war, and
transparency is the best way to quell any
murmurs about oil interests.
Find terrorists in Iraq. Remember, the war
was partly about how Saddam was harboring and
aiding terrorists. So far, they don't seem to
be crawling all over the place like in
Afghanistan.
Find illegal weapons. Or produce the
pre-war intelligence (that doesn't need as much
protection as before) that led you to believe
they exist.
Listen. Invest heavily in diplomacy. Many
opponents of GWB don't think he really tried
enough to make diplomacy work.
Try to understand that it looks like GWB
accomplished the "regime change" objective,
but still cannot prove either a terrorist link
or a WMD link, much less dispel rumors of an
oil link. Did you know that US troops were
sent to protect the Iraqi oil ministry's
documents, while it allowed hospitals and
museums to be looted? It obviously doesn't
prove an oil link, but you need to admit to
yourself that it doesn't look very good,
either.
The point is not who is wrong and who is
right. A President, especially a
"compassionate conservative", is doing
something wrong if he is polarizing his
country. It's obviously not easy, but that's
why you didn't just elect any random idiot
for the job, right?
it's basicly the same syntax. If you understand C++ [...], you're going to grok C
The context in which "C/C++" appears most often
is a job ad, where it is in fact crucial whether
you find yourself a C expert, a C++ expert, or
an expert in both. In fact, even an experienced
embedded systems C++ programmer may be
unfamiliar with exceptions and templates, which
are generally only usable on higher powered
machines.
A person who doesn't make a distinction in
this case is not likely to hire the best
person for the job.
C++ compilers understand C code.
No, they don't. C doesn't require an explicit
cast to convert any pointer to a void *, and
vice versa. C++ does. What you have is a
compiler with two modes, only one of which can
be active for one source file. Try this if
you don't believe me:
char *a = new char;/* correct C++ */ char *b = malloc(1);/* correct C */
You will get a compile error on one line or
the other.
Some versions of C++ preprocess the code
into C
Irrelevant. Many languages are "pre-processed"
into assembly before it turns into object
code.
The modules link together without any changes.
Even less relevant on two separate fronts.
One, ever heard of name mangling? C++ needs
to be specially written (as opposed to linking
with just other C++ code) to link with C, and
instance methods are not even callable from
C. Two, many other languages are designed
to link with C. So what?
C++ really is a superset of C. The only difference I find [...]
That's irrelevant. The important difference is
that a good C++ program looks little like a
good C program. In fact, it's easier to
translate good Pascal into good C than good C++
into good C.
That's what makes them separate languages,
and more importantly, that's what makes them
two separate programming skills.
That's a wonderfully good question.
A CS professor can write a book full of algorithms, and a second year CS major can read the book and tell whether a random piece of code uses an algorithm from the book. Why can't a professional software engineer read a patent application and understand what will infringe and what will not?
I think the balance between protecting the patent owner and protecting the public requires a plain English (at the very least, something that a CS major can read) reform to patenting.
I think it's more likely that the powers that be chose not to. The power of language is well understood and tightly controlled by each Dynasty. Political commentaries are basically unheard of, except when written by appointed observers directly to the Emperor. Even then, there was some chance of losing your head if your criticisms struck a nerve.
Early in the Qing Dynasty, Western missionaries competed with native astronomers in computing a new calendar. This is important, because Emperors ("Son of Heaven") derive some of their power from accurately predicting climate and cosmic events. Because the missionaries knew calculus, they won the contest and were appointed positions in government. Other missionaries brought innovations like cannons. None of these alerted the Dynasty enough to make fundamental reforms to catch up, and a couple of hundred years later China would be repeated humiliated, losing wars to just about every other Western power, including Japan.
Japan, on the other hand, got a rude shock when Americans arrived. They instituted a set of reforms under the Emperor Meiji, and leapfrogged China. The Japanese do have an alphabet, but they also use thousands of ideograms to this day. The language did not seem to impede their development that much, once they gathered the political will to do it.
Generally, independent reinvention is credited only when it occurs at roughly the same period in time.
The Chinese [...] deserve derision for sticking with an unbelievably inefficient alphabet, which prevented them from progressing past medieval levels of development for over a thousand years.
First of all, there is no alphabet. Chinese words are not spelled using a finite set of symbols arranged in one dimensional order.
Secondly, I think many other factors contribute more than the limitations of the language. Let me cite a few:
- Questioning is generally associated with
challenge and hostility, and is frowned upon.
Scientific development requires questioning.
- Aside from a few exceptions, Chinese
political leaders are generally satisfied with
obedient neighbors, and are not territorially
expansive. This limits their contact with
the outside world, and decreases the need for
military technology.
- The Chinese are arrogant about their
place in the world, and are often in denial*
about the abilities of other powers.
- The civil service examinations emphasize
the study of classics and "high" arts, and so
the acceptance of technocrats into civil
service is usually accidental. The lack of
a technocrat government means that scientific
development is neglected.
- China stayed a (real) monarchy until early
in the 20th century. The Chinese monarchies
are not exceptions in their neglect of
peasants, and how technology could uplift
their lives.
Chinese is a dominant language in Hong Kong, Taiwan, and Singapore. How is it impeding scientific progress there? You might also be aware of China's own technological progress over the last few decades.* For example, Western missionaries introduced calculus and cannons to China early in the Qing Dynasty (about 400 years ago), yet this did not really stir the rulers into something akin to the Meiji Reforms in Japan. A couple of hundred years later (plenty of time to catch up), Qing would be punished by repeated invasions from various Western powers, and still be foolish enough to believe that some fanatics had magic to be invulnerable to Western bullets.
Yes, but now you don't have the option to spend the $1000 you saved in raw CPU speed, if that's what you really need. Lack of options at the high end is the "worry" I'm talking about.
Because the PC is proving to be more flexible. That is, for the same price, you can get what are probably more powerful CPUs by sacrificing items you don't need. If you don't need that much CPU power, you can spend the same money on the peripherals.
Basically, you don't want to be in a position where you don't have anything more expensive to sell a buyer, and that's where Apple is at the high end desktop workstation.
I spec'ed out a dual Xeon based on the "Ultimate" PowerMac, and it came to just under $5,000 without Bluetooth. Re-spec'ing it to a CD-RW drive (from a DVD+RW), 1.5 GB (from 2 GB) RAM, 80 GB (from 120 GB) hard disk, and a cheaper 32 MB video card (from 128 MB) would bring it to the neighborhood of Apple's $3,800 "Ultimate" package. Apple certainly has reason to be concerned at the top end.
I wish. Fierce competition among long distance carriers resulted in a completely lopsided rate system, where new customers get the best breaks (remember getting $50 or $100 off if you switch?), while old customers get little or nothing for their loyalty. The rates probably did come down in the end, but I wish they'd compete without concentrating entirely on signing new customers and take care of existing customers some more.
IPv6 is an addressing and routing scheme to extend the number of nodes on a network. I fail to see how this applies to cell phones, each of which already has a unique routable address. No, it's not the phone number.
DHCP is used to configure a node. Some new cell phones are already configured over the air today.
ZeroConf is used to discover services. I have no idea why you think this will apply to a cellular network.
When you turn on your phone you're on the network.
What do you think happens today? Do you have to log on? Provide a password? Talk to an operator?
Who else is on the network? Your phone tells you.
A million other people are on the network.
Want to call someone? Select their name from your buddy list.
I've been doing that for years. It's a bit tedious to enter the data in the first place, but with vCards over IR or Bluetooth, it'd be quite trivial.
All this archaic ten-digit dialing, ringing, answering, messaging is all going to seem very quaint in ten years.
I don't do ten-digit dialling today, so that's not worth discussing.
Ringing? How else does a phone tell you that somebody wants to talk to you? (I'm including "vibrate" in the same category.)
Answering? This is when you start the connection. In the future it might not involve pressing a button, but certainly you will have to answer your phone somehow.
So I'm afraid I don't really know what you're talking about.
I don't think there is reason to believe that the White benchmarks are invalid. First of all, they are out-of-the-box configurations, still valid for those who don't want to hack their software. Secondly, it predates this dual processor hack.
Its conclusion can now be called into question, but I think "idiot" is far too harsh. If he is intellectually honest, he will redo his benchmarks applying this recent discovery.
Since graphics professionals are somewhat more likely to require and afford top-of-the-line hardware, it's not an unreasonable assumption to optimize for at all.
Adobe could have rewritten some key functions to be altivec optimized. But the Macintosh market is smaller, (and therefore less potential profit).
Be careful with your math. Although the Macintosh market is comparatively small, it's not necessarily a correspondingly small part for a maker of software for graphics professionals. I would not be surprised if the Macintosh products bring 10% (double the apparent Macintosh market share) or even 20% of Adobe's sales.
Blanket rules have difficulty envisioning every possible future. Every so often a government needs to spend more than it makes on a grand and expensive project, and borrowing is sometimes better than heavily taxing the population right now. Examples of this sort of project might be a new network of high speed long distance mass transit, or a Mars colony. Banning it outright means politicians will only do short term things with immediate payoff.
In a democracy, voters shouldn't delegate their duty to monitor the government to these automatic blanket rules. If your President spends billions on projects you don't approve of, vote him out of office. What's the problem with that system?
Here's an interview with author Michael Pollan, who bought a cow to understand its "life story" and the economics of raising it for profit. It disputes some of the points you raised about antibiotics and the effects of a corn diet.
I don't have figures to dispute your 95%, but the point is that once we figure out how to get the valuable marbling, it's pretty irresistible to go for it. After all, it's a highly competitive business with slim margins.
Your point is well taken.
I think the most interesting thing about more realistic physics is that it has the potential of taking the game out of the designer's hands. The game can provide you the ability to modify terrain, but the player figures out you can use that feature to build a "dam", and then blow up the "dam" to flood your enemy, or use the dam to irrigate your crops more effectively. The designer only has to provide the problem and the simulation, but is freed from providing specific solutions to puzzles.
Imagine a space flight simulator, where naturally a game designer would not have expert personal knowledge on. However, if the physics is properly simulated, it's not impossible for good players to figure out their own tactics and maneuvers that the designer never even thought of. I'm talking about that idea, applied to the other genres like FPS, RTS, or RPG.
Basically, the opportunity to play in a world that doesn't even feel "designed", the way a Doom level must be. Many games today play like you're playing against the designer (in absentia), trying to figure out what he was thinking, which I think takes away from an immersive effect.
Possible, but looking at the way we consider animal and plant life, I wouldn't bet on it. Yes, we try to preserve endangered species, and there are animals we consider pets and protect like our own children. However, we also do a lot of medical experiments on certain animals exactly because they are somewhat like us (but not quite).
If you live in the US, how many kinds of potatoes can you buy at your grocery? I would expect it to be two or three. How many kinds of apples? Probably three or four, with a couple more "mixed" breeds. The Russet potato and the Red Delicious apple are in fact pretty close to the supercrop you don't see. Not coincidentally, both require large doses of pesticides.
GM crops intensify the problem. It becomes even more possible to develop a crop that is cheaper to grow (pest-resistant, long shelf life, etc) and more popular (sweet, crunchy, etc) than anything else out there. When that happens, most farmers will be forced to abandon their own crops or face bankrupcy.
Like AIDS drugs in Africa?
That's the problem. Humans have interfered with natural selection by adding our preferences (sweet apples, meaty potatoes, etc) into the mix. This is not a problem if you plant a favorite apple tree in your backyard, but becomes a problem when we systematically remove space for all other kinds of apples (ugly ones, sour ones, etc) to make room for our apples. These monocultures are highly susceptible to pests, as you can imagine, and therefore require large amounts of pesticide. The lack of biodiversity is its single point of failure, if you will. Potatoes are in a similar situation. Because Russet potatoes are big and white (perfect for french fries), they've squeezed out other species, and the land they're planted on are heavily poisoned with pesticide.
Want another example? Americans prefer "marbled" beef, where fat and lean meat are interleaved. The best way to achieve that is to have the cows feed on corn (most beef you can buy in the US come from cows that have never tasted grass). Unfortunately, cows can't digest corn, so they are also fed antibiotics to keep them alive. They are also fed hormones to accelerate their growth to slaughter weight, from about five years down to just 18 months.
Do you really think all of this comes for free (I'm not talking about dollar cost) to the one who eats it?
No, and that's why nothing matters except for our current, here and now, enjoyment and satisfaction.
You don't really know if you're going to live another ten minutes, why not rob a bank right now?
IIRC, C++ name mangling is not standardized, so your hack will only work on one pair of compilers.
Are we talking about pay or respect?
You can have little respect for some sales type who partied through college, but if he signs that billion dollar deal for your company, he'll make more than you (software developer).
You can have great respect for some summa cum laude PhD type whose papers are lauded, but if he can't code his way out of a paper bag, he may not even get hired as a software developer.
Respect is based on what people have gone through. Pay is based on the value they can generate.
Finally, the relative ease of some college majors is often overstated. While there are some that are easier to just pass, most of them are very hard to excel at, because they usually do have a share of majors with the right aptitude and attitude. On the other hand, courses like CS and EE often overstate their own difficulty, flunking students who later do well anyway as real engineers.
First of all, your compiler will most likely issue an error, rather than a warning.
Omitting an explicit cast will catch the error of a missing prototype. Adding an unnecessary cast hides the error. Which one is more correct usage of the language?
Right, but that's not what I was talking about.
the big vendor [...] may choose to give up on that 5% in exchange for less expense in their software development.
That's exactly my point. A big vendor, probably a public company, has a responsibility to its shareholders to maximize profit. If the additional 5% market can yield more revenue than cost, they should pursue it even if it means optimizing some code. Note that the same optimization (paid for by the 5%) can also strengthen the 95% marketshare.
Like I said, $100 for a more efficient app (which costs $50 for new computers) to make your old machine last one year longer, or $400 for a new box? I really think there can be such a market (for Microsoft, I mean, not for just anybody competing with Word on the low end). Remember that these are tough times.
I can think of a few things that could help:
- Plan the war better. Expect the resistance,
and occupy Baghdad in a more orderly fashion to
avoid the looting of hospitals and museums.
- Plan the post-war transparently. There was
very little discussion before the war, and
transparency is the best way to quell any
murmurs about oil interests.
- Find terrorists in Iraq. Remember, the war
was partly about how Saddam was harboring and
aiding terrorists. So far, they don't seem to
be crawling all over the place like in
Afghanistan.
- Find illegal weapons. Or produce the
pre-war intelligence (that doesn't need as much
protection as before) that led you to believe
they exist.
- Listen. Invest heavily in diplomacy. Many
opponents of GWB don't think he really tried
enough to make diplomacy work.
Try to understand that it looks like GWB accomplished the "regime change" objective, but still cannot prove either a terrorist link or a WMD link, much less dispel rumors of an oil link. Did you know that US troops were sent to protect the Iraqi oil ministry's documents, while it allowed hospitals and museums to be looted? It obviously doesn't prove an oil link, but you need to admit to yourself that it doesn't look very good, either.The point is not who is wrong and who is right. A President, especially a "compassionate conservative", is doing something wrong if he is polarizing his country. It's obviously not easy, but that's why you didn't just elect any random idiot for the job, right?
The context in which "C/C++" appears most often is a job ad, where it is in fact crucial whether you find yourself a C expert, a C++ expert, or an expert in both. In fact, even an experienced embedded systems C++ programmer may be unfamiliar with exceptions and templates, which are generally only usable on higher powered machines.
A person who doesn't make a distinction in this case is not likely to hire the best person for the job.
C++ compilers understand C code.
No, they don't. C doesn't require an explicit cast to convert any pointer to a void *, and vice versa. C++ does. What you have is a compiler with two modes, only one of which can be active for one source file. Try this if you don't believe me:
You will get a compile error on one line or the other.Some versions of C++ preprocess the code into C
Irrelevant. Many languages are "pre-processed" into assembly before it turns into object code.
The modules link together without any changes.
Even less relevant on two separate fronts. One, ever heard of name mangling? C++ needs to be specially written (as opposed to linking with just other C++ code) to link with C, and instance methods are not even callable from C. Two, many other languages are designed to link with C. So what?
That's irrelevant. The important difference is that a good C++ program looks little like a good C program. In fact, it's easier to translate good Pascal into good C than good C++ into good C.
That's what makes them separate languages, and more importantly, that's what makes them two separate programming skills.