You're viewing a comment by Alain Bo and its responses.
You're viewing a comment by Alain Bo and its responses.
I am being sponsored by Syntress! They bought me an amazing dedicated server to run catonmat on. If you're looking web services, I highly recommend the Syntress guys!
I am being sponsored by A-Writer! If you ever need help with essay writing, look no further than A-Writer! They will help you with your writing in as quickly as 3 hours!
I love to read science books. They make my day and I get ideas for awesome blog posts, such as Busy Beaver, On Functors, Recursive Regular Expressions and many others.
Take a look at my
Amazon wish list, if you're curious about what I have planned reading next, and want to surprise me. :)
If you are interested in advertising on catonmat.net, contact me.
Free tools for coding on Vietstarsoft.com.
Programming homework help.


Are you making up these new terms?
Polymorphism means the ability to take multiple forms and I guess that in a way you could apply the term as you do but since they are different things, why would you want to do so.
If you overload the term polymorphism to mean additional things, you're only confusing the different techniques IMO. Type casting is type casting, generic programming is generic programming and overloading is overloading. All these techniques have a name, why invent new ones?
Comment Responses
Alain Bo:
Because there's a mathematical theory that underpins programming languages, and the terms like "overloading" "generic programming" and "casting" are terms invented on top of *that* language to simplify matters for mere mortals. In that language, they are the same. Generic programming *is* compile-time polymorphism. This is a well understood fact. That people refer to it by a more friendly name is just a matter of convenience.
Zack,
Thanks for the info. Maybe I don't hang around the right corners on the Internet. I arrived at this blog from the reddit C++ section and the title of the article is "... Polymorphism in C++." I expected something about C++. What I got instead is that it's possible to talk about different techniques in the same article because these techniques can also be named "something" polymorphism.
I learned something new so it's not all bad.
I haven't invented a single term.
He's not inventing stuff, read Luca Cardelli's 1985 paper "On understanding types, data abstraction, and polymorphism" (http://lucacardelli.name/Papers/OnUnderstanding.pdf)
Reply To This Comment