views:

373

answers:

4

From what I can tell, in Python and and Django, signals are simply delegated events. Is there anything that functionally differentiates them from the typical notion of events in C#, Java, ActionScript, etc?

+3  A: 

Signals typically have an association with an operating system facility and events are typically application-defined. In some technology stacks, the OS-level stuff may be hidden well enough that there isn't a difference in the API, but in others perhaps not.

Ben Collins
+1  A: 

You might as well ask "Why aren't events simply called signals?". Differences in terminology happen.

Logan Capaldo
Moreover, I believe that "signals" has precedence.
dmckee
It wasn't really a terminology question, I specifically asked if there was some sort of functional reason why the were named differently.
Soviut
How is that not a terminology question? "Why don't these things that are the same have the same name?"
Logan Capaldo
If you read the body of the question, and not the title, it is very clear, I'm asking whether there's a difference in functionality.
Soviut
+2  A: 

Afaik Qt had the first signal/slot implementation. Qt's docs explain the metaphor: "A signal is emitted when a particular event occurs". The distinction is so subtle that the nomenclature has been blurred.

Dustin Getz
+15  A: 

Actually, "signals" have been around longer than events have. In the earliest usage, a signal was an asynchronous way for processes to get notified that events had occurred. Since Unix is much older than Django (and since a lot of the Django work came from pydispatcher, where the original stuff was done), the name has stuck.

Events are really signals, you might say!

John Feminella
+1: Historical context
S.Lott