Talk:Futures and promises
|WikiProject Computing / CompSci||(Rated Start-class, Low-importance)|
- 1 Requested move
- 2 "Promise" term
- 3 Java 1.5 Futures
- 4 Twisted's Deferred
- 5 what about C# TPL
- 6 Future is associated with a thread or not?
- 7 Lucid
- 8 Future vs Promise
- 9 What is stinging or forcing?
- 10 Should mention jQuery's Deferred / Promise implementation
- Even with the additions that 2ndMouse suggests, the article would still cover both futures and promises, and as GTBacchus points out, there is no need for the disambiguating term. Future (programming) has been moved to futures and promises as the result of a move request. Stemonitis 08:06, 28 March 2007 (UTC)
I really don't believe that the use of the definition of "Promise" is the correct term to be used in this article, but rather "expectations". Humans expect things that are better than was previously presented before, and this is the future of anything. Everything that has been invented and engineered was due to to the fact that people were confronted with a limited problem that involved the expectations of something better. To promise something would imply that a time machine would have already been invented, for example. It is more accurate to say that the belief in the invention of a time machine by now was a possibility, or even an expection, in that era. To promise this would guarantee that it was definitely a reality now. That is if a promise is like anything my loving girlfriend pulls off time and time again. I've had a few drinks in the past few hours, so I hope I make some sense. E-mail me if you have any questions, I'm sure I'd find it entertaining arguing with you. Bring it on nerds. email@example.com
- Well, since Wikipedia documents, not invents, the issue is a bit moot. They're called "futures" and "promises" in the field, so calling them anything else on Wikipedia will just confuse matters. (Oh, and where i come from, you can only make promises about the future, and promises can be broken. :) --Piet Delport 12:47, 10 January 2006 (UTC)
Java 1.5 Futures
Is there any relation to Future interface in the Java API?
- Not really. You can think of Java's
Futureas a one-element, one-shot, thread-safe result queue. It's useful for thread synchronization, but doesn't implement any of the techniques described in this article. --Piet Delport 10:46, 3 February 2006 (UTC)
- Addendum: As the article mentions, there is a dialect of Java, called Flow Java, which does implement single-assignment and future variables. The website has a nice paper and presentation about how they are used, and what kind of problems they can solve. --Piet Delport 09:52, 5 April 2006 (UTC)
Is this the same as Twisted's deferred object? If not, how does it differ?
- Not meaningfully.
Deferreds are similar to Java 1.5's
Future, discussed above; the main difference is that they're usually used without threads, and have their results processed by a dual callback/errback chain instead of a polling/blocking caller. --Piet Delport 23:55, 19 September 2006 (UTC)
- That's correct, although this feature of Twisted was inspired by promises in E. The differences are mainly due to the fact that Twisted is strictly a library/framework; it doesn't change the Python language. --DavidHopwood 02:24, 21 March 2007 (UTC)
what about C# TPL
I think C# TPL implements this concept. I wonder why it is ignored in the list of languages implementing the concept [Futures]
Future is associated with a thread or not?
"Futures and delays are well defined in terms of their denotational semantics in the Actor model. These definitions do not require recourse to low level implementation concepts such as threads."
"a future is associated with a specific thread that computes its value. This computation may be started either eagerly when the future is created, or lazily when its value is first needed. A lazy future is similar to a thunk (in the sense of a delayed computation)."
In the first statement it is said the a future does not require do recourse to threads, however, in the second statement it is said that a future is associated with a specific thread. Shouldn't it be associated with a specific computation instead of a thread? —Preceding unsigned comment added by 126.96.36.199 (talk) 14:00, 30 June 2009 (UTC)
Does Lucid really support futures in the sense meant here? It supports stream-based dataflow, but that's not the same thing. I don't know enough about the language to be sure, though. --David-Sarah Hopwood ⚥ (talk) 04:57, 25 September 2009 (UTC)
Future vs Promise
some differences in usage between "future" and "promise" are discussed below
What is stinging or forcing?
The article says "Obtaining the value of an explicit future can be called "stinging" or "forcing"." but does not explain what these mean or whether there is a difference. — Preceding unsigned comment added by Gvanrossum (talk • contribs) 18:50, 11 January 2012 (UTC)
Should mention jQuery's Deferred / Promise implementation