|
![](/i/fill.gif) |
Warp wrote:
> This sounds like the same type of argument as "xyz is not an OS" vs.
> "xyz is an OS", depending on your definition of "OS".
Kind of, perhaps.
> One of the basic definition of "lambda function" in programming languages
> is that they are "first-class objects".
Yes. But that's not the only part of the definition. You can store a C++
lambda in a variable, but that's not all that needs to be done to make it a
lambda.
> Some people might use the term "lambda function" as a synonym for
> "nameless function".
That only works if you actually close over the free variables. Unlike a lot
of terms, lambda actually has a precise mathematical definition that was
around before computers, and there are already terms for what C++ is calling
lambda that are correct for what it does (e.g., "downward funarg"). They
really are calling it the wrong thing if they call it "lambda".
> If you really want to be so pedantic about the definition, then by all
> means. It's just rather irritating when you start mocking the language
> because you don't agree with their terminology.
Well, it's well-established terminology that means something different. It's
like if they added "unlimited precision integers" as long as they fit in a
machine register, because, you know, you've got unlimited precision *after*
the decimal point.
> It was not a question of being right or wrong. It was a question of your
> glaringly condescending attitude, which was deliberately inflammatory.
Well, only a little. :-) Point taken. I'll try to tone it down in the
future. My apologies.
> You were not right. You started asking questions until you found
> something which you could argue you are right about. You started with
> prejudiced mocking without even knowing about how the feature will be
> implemented. You had already decided that the feature sucks, without
> even knowing anything about it.
As I said, I knew it wasn't going to start copying stack frames to the heap
and then GCing it later.
> You could use the same argument to say that the syntax of Java and C# suck
> as well.
The syntax of a lot of stuff in Java *does* suck. The syntax of C# gets
increasingly baroque as they add more features. But C++ syntax is so bad you
can't even tell whether a line of code is a type declaration or a variable
declaration or a function invocation without reading all the include files.
To the point where you start getting things like the "typename" keyword
(iirc) just to tell the compiler whether you meant to give a type or a
variable name at that point.
You can't tell me a language with undecidable syntax isn't at least a little
sucky, yes?
--
Darren New, San Diego CA, USA (PST)
My fortune cookie said, "You will soon be
unable to read this, even at arm's length."
Post a reply to this message
|
![](/i/fill.gif) |