I'm Intel's Human Resources Director, and I must say that your qualifications sound intriguing. There's just one sticking point: how do you propose to travel from the DEPTHS OF HELL to our corporate headquarters for an interview?
It's weird how sure people are that CS is about programming. It's like thinking that learning to be a surgeon is 4 years of learning how to cut with a scalpel.
I agree that "it's weird how sure people are that CS is about programming", but I never made that claim. I specifically referred to a "good coder"; I did not mention Computer Science, nor did the parent post.
Besides, as Paul Graham has pointed out, "Computer Science" is really an umbrella term that refers to diverse areas of study, from mathematics to physics to engineering.
What few of these poor schmucks are told or realise is that different languages are basically just a change of syntax (plus some relatively minor technique changes) and therefore easy to pick up if you already have the grounding.
I don't mean to be disrespectful, but isn't this a realisation that a good coder makes by the third year of tertiary education?
I don't want to have the compiler (or run-time environment, or interpreter, whatever) to "guess" at what I mean -- I want to tell it exactly what I mean.
Perhaps this is why huge applications are usually written in languages requiring typecasting, and the "looser" languages are usually relegated to simple task duty.
Dynamically yet strongly typed languages such as Python and Lisp allow you to tell the compiler or interpreter "exactly what you mean" with regard to types, they just don't require you to do so. Where's the beef?
Bruce Eckel, a C++ and Java expert and the author of the "Thinking In..." series of books, wrote recently:
After I had worked with Python for awhile -- a language which can build large, complex systems -- I began noticing that despite an apparent carelessness about type checking, Python programs seemed to work quite well without much effort, and without the kinds of problems you would expect from a language that doesn't have the strong, static type checking that we've all come to "know" is the only correct way of solving the programming problem.
This became a puzzle to me: if strong static type checking is so important, why are people able to build big, complex Python programs (with much shorter time and effort than the strong static counterparts) without the disaster that I was so sure would ensue?
This shook my unquestioning acceptance of strong type checking...
One of the examples discussed in the article compares the following pre-generics code to the generic code:
/* Remove the four-letter words from the specified * collection, which must contain only strings. */ static void expurgate(Collection c) { for (Iterator i = c.iterator(); i.hasNext(); ) { String s = (String) i.next(); if(s.length() == 4) i.remove(); } }
Here's how the same method looks with generics:
static void expurgate(Collection<String> c) { for (Iterator<String> i = c.iterator(); i.hasNext(); ) if (i.next().length() == 4) i.remove(); }
Here's the same method written in Python:
def expurgate(col): return [ s for s in col if len(s) != 4 ]
Now tell me, which of the three is the most consise and readable expression of the idea?
They'll want to know (if they're savvy) how the data crunching numbers will compare UNIX to Windows, MySQL to MS SQL...
If they're savvy, they'll laugh their asses off when you try to equate MySQL with MS SQL, then show you the door.
Why oh why does MySQL get all the attention when vastly superior alternatives that are actually free are ignored? I'm thinking of SAP DB, PostgreSQL, and Firebird.
Really, I either use my bike or public transport. But I use my bike more often than public transport.
That's cool; I wish I could do the same. Where I live, however, there's no such thing as public transport, and the distances that must be traveled to reach much of anything are quite far (I have to drive 1.75 hours just to reach a community college, for example).
Look at Microsoft, a company that understands the mass market as well as any. They choose simple product names comprised of standard English words that actually describe the purpose of the software, which enables lay people to remember the names.
Microsoft understands that lay people don't want to look foolish as they stop in the middle of a conversation to grope for some wacky greek/sci-fi name that a stoner dreamed up at 3 a.m.
Microsoft SQL Server
Microsoft Internet Explorer
The Microsoft Network
When Microsoft deviates from this strategy, as when they slapped the ".NET" suffix on everything, they eventually regret it and change their tack.
There's a lesson to be learned here; this matter is more significant than most geeks realize.
Uh, last time I checked, there was a helluva lot more difference between a car and an RDBMS than between a browser and an RDBMS.
Re:A (hopefully) unbiased opinion on Perl v. Pytho
on
Python in a Nutshell
·
· Score: 1
Some Python developers argue continuation does not bring enough benefit. I think it's shortsighted...
This isn't the primary reason that stacklessness hasn't become standard. The foremost reason is that the Java Virtual Machine (upon which Jython is implemented) can't handle tail recursion efficiently.
Guido wants to avoid significant divergence between CPython and Jython; he argues that people would be much more likely to write Jython-incompatible code if they were able to take advantage of stackless features in CPython.
How about embedded Firebird? (firebirdsql.org)
Just FYI, the news.com article at first (02:30 EDT) claimed Microsoft was to "purchase" SCO IP, not just license it.
But hey, at least MS-based cell phones don't give you cancer!
And that an American software company would lie about security matters to get its way.
I think you'll find this guy does know how to program. As well as being well-respected within the Perl community...
Run that by me again?
Six years of QA experience?
I'm Intel's Human Resources Director, and I must say that your qualifications sound intriguing. There's just one sticking point: how do you propose to travel from the DEPTHS OF HELL to our corporate headquarters for an interview?
(wink ;)
it seems to me that the real target for criticisms of unsustainability should be growth-based economics itself.
...
A-Bomb
In other words: problem -> solution?
knowing full well i'll have to sell my wife
Well, you're off to a good start, having just placed an ad in perhaps the most undersupplied market in the world: Slashdot.
It's weird how sure people are that CS is about programming. It's like thinking that learning to be a surgeon is 4 years of learning how to cut with a scalpel.
I agree that "it's weird how sure people are that CS is about programming", but I never made that claim. I specifically referred to a "good coder"; I did not mention Computer Science, nor did the parent post.
Besides, as Paul Graham has pointed out, "Computer Science" is really an umbrella term that refers to diverse areas of study, from mathematics to physics to engineering.
Oh please. Anyone who is capable of earning a University degree, old or young, is quite clearly capable of learning..
Never been to the United States, have you?
What few of these poor schmucks are told or realise is that different languages are basically just a change of syntax (plus some relatively minor technique changes) and therefore easy to pick up if you already have the grounding.
I don't mean to be disrespectful, but isn't this a realisation that a good coder makes by the third year of tertiary education?
I don't want to have the compiler (or run-time environment, or interpreter, whatever) to "guess" at what I mean -- I want to tell it exactly what I mean.
Perhaps this is why huge applications are usually written in languages requiring typecasting, and the "looser" languages are usually relegated to simple task duty.
Dynamically yet strongly typed languages such as Python and Lisp allow you to tell the compiler or interpreter "exactly what you mean" with regard to types, they just don't require you to do so. Where's the beef?
Bruce Eckel, a C++ and Java expert and the author of the "Thinking In ..." series of books, wrote recently:
One of the examples discussed in the article compares the following pre-generics code to the generic code:
/* Remove the four-letter words from the specified
* collection, which must contain only strings.
*/
static void expurgate(Collection c) {
for (Iterator i = c.iterator(); i.hasNext(); ) {
String s = (String) i.next();
if(s.length() == 4)
i.remove();
}
}
Here's how the same method looks with generics:
static void expurgate(Collection<String> c) {
for (Iterator<String> i = c.iterator(); i.hasNext(); )
if (i.next().length() == 4)
i.remove();
}
Here's the same method written in Python:
def expurgate(col):
return [ s for s in col if len(s) != 4 ]
Now tell me, which of the three is the most consise and readable expression of the idea?
They'll want to know (if they're savvy) how the data crunching numbers will compare UNIX to Windows, MySQL to MS SQL...
If they're savvy, they'll laugh their asses off when you try to equate MySQL with MS SQL, then show you the door.
Why oh why does MySQL get all the attention when vastly superior alternatives that are actually free are ignored? I'm thinking of SAP DB, PostgreSQL, and Firebird.
Ballmer: Well, Bill, looks like it would be more cost effective to just pay North Korea to "get rid of the problem". If you see what I mean...
Really, I either use my bike or public transport. But I use my bike more often than public transport.
That's cool; I wish I could do the same. Where I live, however, there's no such thing as public transport, and the distances that must be traveled to reach much of anything are quite far (I have to drive 1.75 hours just to reach a community college, for example).
There is no excuse for wasting resources.
Yes there is. Resource allocation is often a compromise, not an "either/or".
Do you ever travel by car? If so, don't you know that you're "wasting" fossil fuel resources that would be saved if you rode a bicycle instead?
What's that? You don't have enough time to ride a bicycle everywhere? My point exactly.
Human resources are just as deserving of conservation as material resources. The key is compromise.
Sometimes they do if you squint hard enough.
How did you tear yourself away from torturing small animals long enough to waste your time on this sort of thing?
Yeah, well... my dad could beat your dad up.
No, I certainly will not. You're flat out wrong. I mean, absolutely no one agrees with you ;)
The Whitespace port is already complete:
Yes, yes, yes!
Look at Microsoft, a company that understands the mass market as well as any. They choose simple product names comprised of standard English words that actually describe the purpose of the software, which enables lay people to remember the names.
Microsoft understands that lay people don't want to look foolish as they stop in the middle of a conversation to grope for some wacky greek/sci-fi name that a stoner dreamed up at 3 a.m.
When Microsoft deviates from this strategy, as when they slapped the ".NET" suffix on everything, they eventually regret it and change their tack.
There's a lesson to be learned here; this matter is more significant than most geeks realize.
Uh, last time I checked, there was a helluva lot more difference between a car and an RDBMS than between a browser and an RDBMS.
Some Python developers argue continuation does not bring enough benefit. I think it's shortsighted...
This isn't the primary reason that stacklessness hasn't become standard. The foremost reason is that the Java Virtual Machine (upon which Jython is implemented) can't handle tail recursion efficiently.
Guido wants to avoid significant divergence between CPython and Jython; he argues that people would be much more likely to write Jython-incompatible code if they were able to take advantage of stackless features in CPython.
Like you, I don't agree with his decision.