I assume you disagree with him on his fundamental principles. (See what is best in life)
Do you believe in the open steppe, fleet horse, falcon on your wrist, wind in your hair, or do you espouse some strange "third party" best-in-life principle?
Go back and read the Bruce Eckel article I posted a link to in my original reply.
Sigh. I did. Here are his substantive arguments, in order:
Duck typing is good: ''Languages like Ruby, Smalltalk and Python put the loosest possible constraints on types, and evaluate types only if they have to. That is, you can send any message to any object, and the language only cares that the object can accept the message - - it doesn't require that the object be a particular type, as Java and C++ do.'' and ''Since command(pet) only cares that it can send the speak() message to its argument, I've removed the base class Pet, and even added a totally non-pet class called Bob which happens to have a speak() method, so it also works in the command(pet) function. At this point, a strong, statically-typed language would be sputtering with rage,''
Ans: irrelevant, OCaml has duck typing, but is strongly typed. C++ also has duck typing for template instantiations. The last quote is utter bullshit, since both O'Caml and C++ handle that with aplomb.
Programmers indicating types is bad: ''Argument types and return types? Let the language sort it out! ''
Ans: Type inferen, see previous posts
Python is cool: Indentation is meaningful, not everything is an object, built in cool data types and control constructs (for x in y)
Ans: clearly irrelevant to the typing debate
''To claim that the strong, static type checking constraints in C++, Java, or C# will prevent you from writing broken programs is clearly an illusion.''
Ans: good, cuase I ain't claimin' that.
''In fact, what we need is Strong testing, not strong typing.''
Ans: Why not BOTH?
''And because I can get a Python program up and running in far less time than it takes you to write the equivalent C++/Java/C# program, I can start running the real tests sooner''
Ans: He forgot the if: IF python is faster to code in. I can grant that writing python is faster than writing in staticly typed languages without type inference or great libraries, BUT I'M NOT.
Essentially he argues that static typing is not such a great test. I argue that it's one less thing I have to write unit tests for. His answer is that writing all those types takes programmer time, and my answer is inference.
He never says static typing is bad, he says non-duck typing is bad, and static typing isnt worth the tradeoff of more programmer keyboard time. My answer is to include duck typing and avoid the keyboard time with inference.
You obviously don't know ML. You have to specifically name the constructors for user-defined types. That's essentially the same as having to "write types."
I was thinking of the Caml variant, for which type deduction exists for many kinds of user-defined types. In fact, O'Caml comes very close to implementing "only-by-need" type specification, where leaving ot type information WILL lead to nasty errors in more dynamicly typed languages
In any case, no matter how wrong I am about whatever ML compiler/variant you use, type deduction is VERY good nowadays, and almost invisible (in uncompiled code) in many cases.
What it means is that you obviously don't need static typing in order to be very productive.
That's not my claim. My claim is that static typing increases productivity, all other things being equal, not that static typing is necessary for productivity.
Yes pythoners are productive. I just think they would be more so were python staticly typed.
There are three main arguments against static typing:
1. Writing types is as (or more) error prone than letting the compiler fail on a cast. Ans: Non-sequiter. See ML - I don't have to write types.
2. I need flexibility to change the type expected in client code without changing core code. Ans: This is mostly answered by #1, but I ask the following to prove a point: how come nobody ever has an example where this is actually useful? Why is it that this is almost completely theorietical? Could it perhaps be that it is answered by OO.
3. Pythoners are productive Ans: python's primitives and libraries are incredibly rich. I'm all for that, but it casts serious doubts on the validity of the assertion that static typing is no good.
Lisp's "optional strong typing" is fundamnetally broken. Strongly typed polymorphism is particularly wrong, and object classes as types is barely working.
The ANSI C++ committee is now trying to patch the language into a frankenstein version of Java.
Um, no. They aren't making it simgle inheritance, or 'everything is an object', or any other major differences. They're adding libraries, for the most part.
Why not go for a more easier to understand concept of templates as implemented by languages such as Haskell?
Because C++ templates are substantialy more powerful, and include things such as default arguments and instantiation with non-types. They also make simple methods for F-bounded polymorphism.
Except the Dell would beat the Mac. If we generously give the 2x2Ghz Mac 1.5 times the performance of a similarly spec-ed out 3.06 Ghz P4, (based on the fact that Intel benchmarks show 20% better than Mac and Mac benchmakrs show 30% better than Intel). assuming an extra processor increases performance by 80% (also being generous to Mac, all their benchmarks show higher than that, which makes the single processor systems look flimsy), that makes the Dell 40% faster.
Plus, I configured the machine you're talking about, and it was $2,439, which makes it 14% cheaper than the Mac as well.
Tell him to look at this. Two grand innovations: pinning (mark a page "open" (even on exit) until I explicitly say to kill it) and outline-style tabbed browsing, (naturally organizes browsing behavior into little "books").
I just wish it were open source and ran on linux . . .
If you value your notes more than the cost of paper, don't use pencil. I used pencil for all my math notes, and now they've faded just like my memory. Now I even do math homework in pen.
I would be willing to bet there is quite a bit of Unix code in Windows. How else could you explain the gradual increased steadiness over the past 5 years.
You're right! There's no way a team of programmers could create a stable operating system without stealing Unix code!
SCO should just start suing anyone who produces a "stable" OS. That'll teach those fuckers!
What? The parent of this comment said he didn't pay for parking. Plus, $50 of gas is almost 13 miles a day, which is near the limits of an HT.
Then I factor in all the time and hassle I spend trying to figure out public transportation for days when there's precip, or I have to go to the grocery store, and it just doesn't seem worth it.
It's a very basic introduction to a very deep subject. Anyone who knows C++ knows the vast majority of this information.
Plus, the navigation links on the second article are broken.
For some really exciting C++, see www.gotw.ca or www.cuj.com
Those sites have great articles about templates and overloading.
I assume you disagree with him on his fundamental principles. (See what is best in life)
Do you believe in the open steppe, fleet horse, falcon on your wrist, wind in your hair, or do you espouse some strange "third party" best-in-life principle?
And now, no response as I answer all of the arguments Eckel makes. Come on, show us what you're made of!
IBM is no more philantropical or free software friendly than SCO.
Philantropical - adj. - of or related to the act of giving assets to charitable organizations while simultaneousl living in a warm, humid climate.
Go back and read the Bruce Eckel article I posted a link to in my original reply.
Sigh. I did. Here are his substantive arguments, in order:
Ans: irrelevant, OCaml has duck typing, but is strongly typed. C++ also has duck typing for template instantiations. The last quote is utter bullshit, since both O'Caml and C++ handle that with aplomb.
Ans: Type inferen, see previous posts
Ans: clearly irrelevant to the typing debate
Ans: good, cuase I ain't claimin' that.
Ans: Why not BOTH?
Ans: He forgot the if: IF python is faster to code in. I can grant that writing python is faster than writing in staticly typed languages without type inference or great libraries, BUT I'M NOT.
Essentially he argues that static typing is not such a great test. I argue that it's one less thing I have to write unit tests for. His answer is that writing all those types takes programmer time, and my answer is inference.
He never says static typing is bad, he says non-duck typing is bad, and static typing isnt worth the tradeoff of more programmer keyboard time. My answer is to include duck typing and avoid the keyboard time with inference.
You obviously don't know ML. You have to specifically name the constructors for user-defined types. That's essentially the same as having to "write types."
I was thinking of the Caml variant, for which type deduction exists for many kinds of user-defined types. In fact, O'Caml comes very close to implementing "only-by-need" type specification, where leaving ot type information WILL lead to nasty errors in more dynamicly typed languages
In any case, no matter how wrong I am about whatever ML compiler/variant you use, type deduction is VERY good nowadays, and almost invisible (in uncompiled code) in many cases.
What it means is that you obviously don't need static typing in order to be very productive.
That's not my claim. My claim is that static typing increases productivity, all other things being equal, not that static typing is necessary for productivity.
Yes pythoners are productive. I just think they would be more so were python staticly typed.
There are three main arguments against static typing:
1. Writing types is as (or more) error prone than letting the compiler fail on a cast.
Ans: Non-sequiter. See ML - I don't have to write types.
2. I need flexibility to change the type expected in client code without changing core code.
Ans: This is mostly answered by #1, but I ask the following to prove a point: how come nobody ever has an example where this is actually useful? Why is it that this is almost completely theorietical? Could it perhaps be that it is answered by OO.
3. Pythoners are productive
Ans: python's primitives and libraries are incredibly rich. I'm all for that, but it casts serious doubts on the validity of the assertion that static typing is no good.
3
Lisp's "optional strong typing" is fundamnetally broken. Strongly typed polymorphism is particularly wrong, and object classes as types is barely working.
Strong typing: I'm tired of seeing casting errors at runtime.
Metacode/macros: Sometimes I would like things done at compile time, especially if they have to do with types.
Overloading: Can be implemented with a decent macro system.
OO/functional: So many languages miss one. So few have both (Eiffel, O'Caml)
So many languages are so close, especially ones w/ active user communities, like perl and C++. They're just not there yet . . .
what about composer?
What about composer?
Another brilliant post from someone too lazy to explain themselves.
Until your claims have warrants and data, you're a big fat troll.
The ANSI C++ committee is now trying to patch the language into a frankenstein version of Java.
Um, no. They aren't making it simgle inheritance, or 'everything is an object', or any other major differences. They're adding libraries, for the most part.
Why not go for a more easier to understand concept of templates as implemented by languages such as Haskell?
Because C++ templates are substantialy more powerful, and include things such as default arguments and instantiation with non-types. They also make simple methods for F-bounded polymorphism.
Only on Slashdot would this get modded up as "insightful."
Anywhere else it would be
Moderation +0
50% Funny
50% Overrated
Except the Dell would beat the Mac. If we generously give the 2x2Ghz Mac 1.5 times the performance of a similarly spec-ed out 3.06 Ghz P4, (based on the fact that Intel benchmarks show 20% better than Mac and Mac benchmakrs show 30% better than Intel). assuming an extra processor increases performance by 80% (also being generous to Mac, all their benchmarks show higher than that, which makes the single processor systems look flimsy), that makes the Dell 40% faster.
Plus, I configured the machine you're talking about, and it was $2,439, which makes it 14% cheaper than the Mac as well.
Tell him to look at this. Two grand innovations: pinning (mark a page "open" (even on exit) until I explicitly say to kill it) and outline-style tabbed browsing, (naturally organizes browsing behavior into little "books"). I just wish it were open source and ran on linux . . .
Would that be like "Add color!" or "Tell Gameboy it's very pretty!"? Perhaps you mean Gameboys Advanced . . .
A strong consesus is emerging around a new standard.
If you value your notes more than the cost of paper, don't use pencil. I used pencil for all my math notes, and now they've faded just like my memory. Now I even do math homework in pen.
I would be willing to bet there is quite a bit of Unix code in Windows. How else could you explain the gradual increased steadiness over the past 5 years.
You're right! There's no way a team of programmers could create a stable operating system without stealing Unix code!
SCO should just start suing anyone who produces a "stable" OS. That'll teach those fuckers!
Enough of this sarcastosity! We don't need to hateration . . .
Most users of Macs are in the graphics industry.
You are an idiot. You can't actually believe that more than 50% of people who use Apple computers are graphic industry pros!?
Many are students. Many are just people who want to be "cool" and "different." Many are people who want something that just works.
Most are not in the graphics industry. Shit, most probably aren't in any industry at all.
Car = $1000 + approx. $50/month gas, $150/month parking, $whatever insurance, $whatever maintenance
What? The parent of this comment said he didn't pay for parking. Plus, $50 of gas is almost 13 miles a day, which is near the limits of an HT.
Then I factor in all the time and hassle I spend trying to figure out public transportation for days when there's precip, or I have to go to the grocery store, and it just doesn't seem worth it.
Why don't you write a licence yourself?
Yeah, my bads on that. I thought my settings were on "newest first," but they were on "oldest first."