Sponsored Link •
|
Summary
I don't know any language which is so perverse as to do such a thing, but I want to throw it out there as an idea to torment people.
Advertisement
|
I want you to think about the implications of making the following change to C++ or Java: allowing any constant literal to be used as a type.
This would mean that you can declare instances of them:
42 x;You can inherit from them:
class FourtyTwo : 42 { };You can alias them:
typedef 42 fourty_two;You can overload functions using compile time constants:
int fubar(true x, int n) { return n + 1; } int fubar(false x, int n) { return n - 1; }I know this is a perversion of nature, but it does simplify a language from a designer's standpoint. I bring this up because it looks like I am going this route for the time being as an undocumented feature in the next Heron release, and I thought it might blow a few people's minds.
Have an opinion? Readers have already posted 41 comments about this weblog entry. Why not add yours?
If you'd like to be notified whenever Christopher Diggins adds a new entry to his weblog, subscribe to his RSS feed.
Christopher Diggins is a software developer and freelance writer. Christopher loves programming, but is eternally frustrated by the shortcomings of modern programming languages. As would any reasonable person in his shoes, he decided to quit his day job to write his own ( www.heron-language.com ). Christopher is the co-author of the C++ Cookbook from O'Reilly. Christopher can be reached through his home page at www.cdiggins.com. |
Sponsored Links
|