Live data from Hacker News

Callbacks as our Generation's Goto Statement

tirania.org

241–250 of 287 posts

Re: Callbacks as our Generation's Goto Statement

#241
VIOLATIONS MURDER IN WOMANS - SEXUAL ZONES ESTIMULATIONS WITH NANO COMPUTERS IN YOUR CHILDS.

TRILLONS OF IPs IN NANO COMPUTERS IN YOUR CELULAR NUCLEOUS BELIVE IT!!!. WE HAVE THE VIDEOS.

RAW MATERIAL FOR MAKING FOOD - INDUSTRIAL TALC - MONSATO 60% OF THE CORPORATIOSN IN THE WORLD SELL THIS TALC TO OTHER TO MAKE FOOD.

WHO IS THE BOYFRIEND OF YOU DAUGTHER.

VIOLATIONS MURDER IN WOMANS - SEXUAL ZONES ESTIMULATIONS WITH NANO COMPUTERS IN YOUR CHILDS.

TRILLONS OF IPs IN NANO COMPUTERS IN YOUR CELULAR NUCLEOUS BELIVE IT!!!. WE HAVE THE VIDEOS.

RAW MATERIAL FOR MAKING FOOD - INDUSTRIAL TALC - MONSATO 60% OF THE CORPORATIOSN IN THE WORLD SELL THIS TALC TO OTHER TO MAKE FOOD.

WHO IS THE BOYFRIEND OF YOU DAUGTHER.

HUMAN RACE STUDIES IN VENEZUELA – DANILO ANDERSON VIDEOS TO HUMAN RETINS SOLD TO TRIBUNALS. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS – CICLICAL CICLYC TINKING FORCING YOU TO BELIVE IN FIXED FAKE IDEAS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com ddddddddddddddddddddddddd

Re: Callbacks as our Generation's Goto Statement

#242
VIOLATIONS MURDER IN WOMANS - SEXUAL ZONES ESTIMULATIONS WITH NANO COMPUTERS IN YOUR CHILDS. hhhhhhhhhhhhhhhhhhhhhhhh TRILLONS OF IPs IN NANO COMPUTERS IN YOUR CELULAR NUCLEOUS BELIVE IT!!!. WE HAVE THE VIDEOS.

RAW MATERIAL FOR MAKING FOOD - INDUSTRIAL TALC - MONSATO 60% OF THE CORPORATIOSN IN THE WORLD SELL THIS TALC TO OTHER TO MAKE FOOD.

WHO IS THE BOYFRIEND OF YOU DAUGTHER. hhhhhhhhhhhhhhhhhhhhhhhhh

VIOLATIONS MURDER IN WOMANS - SEXUAL ZONES ESTIMULATIONS WITH NANO COMPUTERS IN YOUR CHILDS.

TRILLONS OF IPs IN NANO COMPUTERS IN YOUR CELULAR NUCLEOUS BELIVE IT!!!. WE HAVE THE VIDEOS.

RAW MATERIAL FOR MAKING FOOD - INDUSTRIAL TALC - MONSATO 60% OF THE CORPORATIOSN IN THE WORLD SELL THIS TALC TO OTHER TO MAKE FOOD. hhhhhhhhhhhhhhhhhhhhhhhhhh WHO IS THE BOYFRIEND OF YOU DAUGTHER.

HUMAN RACE STUDIES IN VENEZUELA – DANILO ANDERSON VIDEOS TO HUMAN RETINS SOLD TO TRIBUNALS. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS – CICLICAL CICLYC TINKING FORCING YOU TO BELIVE IN FIXED FAKE IDEAS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON.hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.comHUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com HUMAN RACE STUDIES IN VENEZUELA. SATELITAL SURVILLANCE IN VENEZUELA – NEURAL PATRONS – YOUR EXTRA THINKING SOLD TRIBUNALS. PEOPLE SOLD TO HUMAN RACE STUDIES. AUTORIZATED BY THE HAGE AUTORIZATED BY SECRETARY BAN KI MOON. http://www.mudpgi.blog.com hhhhhhhhhhhhhhhhhhhhh

Re: Callbacks as our Generation's Goto Statement

#243
post #162

As someone who only recently switched to Node.js from PHP I personally haven't had any difficulty switching over to the callback frame of mind, and I haven't experienced the "callback hell" so many people complain about. At first I was hesitant to start with Node because I saw blog posts by people bemoaning the spaghetti callback code that they ended up with. But I haven't experienced any of that, although I am a rel…

I kinda have to disagree with you here. The problem of callback hell has nothing to do with the funcions being anonymous. In fact, you kinda want to have anonymous functions if you want to keep things as similar as possible to traditional code. For example, when you have code like var x = f(); print(x); only a hardcore extremist like Uncle Bob would write it as var x; function start(){ x = f(); onAfterF(); } function…

The callback-based example is complicated for no reason other than to support your argument. This is how it translates:

    f(print);

Re: Callbacks as our Generation's Goto Statement

#244
post #79

Earlier quoted context omitted.

Yes! I really hope this use of yield will bubble up to the language spec and become pervasive in Python. It really strikes me as the Pythonic approach to solving callback hell.

> Yes! I really hope this use of yield will bubble up to the language spec and become pervasive in Python. And the time machine spaketh: http://www.python.org/dev/peps/pep-3156/#coroutines-and-the-... (it has no reason to "bubble up to the language spec", the language provides all the right primitives — especially with Python 3's `yield from`, it's up to the libraries to use them. That is a Good Thing.)

Good point. Bubble up to the standard library, then.

Re: Callbacks as our Generation's Goto Statement

#245

I don't understand what the big deal is. Callbacks are OK. They're less cumbersome if the language you're using has smaller function definitions. Callbacks 'get crazy' when you've got more than one I think, and thankfully someone smart has made a library you can use to manage them! https://github.com/caolan/async Saying that, I don't mind the way things look with the whole await/async stuff in C# and etc. However I d…

How do you do this with callbacks? foreach (var player in players) { while (true) { var name = await Ask("What's your name"); if (IsValidName(name)) { player.name = name; break; } } } Assuming `Ask` is an asynchronous operation and must not block the UI thread. Note that second player is only asked after the first player has given a valid name. (And the code structure reflects that :-) My point is of course it's doab…

    function askPlayers(players, fn) {
      if (!players.length) return fn();

      var player = players[0];

      ask("What's your name", function(name) {
        if (isValidName(name)) {
          player.name = name;
          players.shift();
        }

        askPlayers(players, fn);
      });
    }

Re: Callbacks as our Generation's Goto Statement

#246
post #234

This is all simply sugar to hide behind-the-scenes threading behind very narrow interfaces. Which isn't necessarily bad, but it's fun to see it suddenly in favour again and presented as something new. E.g. Simula67 had Call and Detach for the basic case, and Activate(object representing async behaviour) and Wait(queue) that would both depending on need often be used for the same purpose (as well as a number of other…

That was my thought. I always get lost in these discussions because I have to translate the bizarre lingo into basic threading primitives I can understand. Once I've done that I don't understand what all the fuss is about.

Re: Callbacks as our Generation's Goto Statement

#247

"Await" is fantastic, and having using it for JavaScript (via TameJS and then IcedCoffeeScript), it makes things a lot easier and clearer. That being said, I don't think the comparison between callbacks and goto is valid. "Goto" allows you to create horrible spaghetti-code programs, and getting rid of it forces you to structure your programs better. "Await", fundamentally, isn't really anything more than syntactic su…

If await isn't changing the way you structure your code -- and letting your code robustly handle things that it couldn't handle with callbacks -- I think you're doing it wrong.

Re: Callbacks as our Generation's Goto Statement

#248
post #243
post #162

Earlier quoted context omitted.

I kinda have to disagree with you here. The problem of callback hell has nothing to do with the funcions being anonymous. In fact, you kinda want to have anonymous functions if you want to keep things as similar as possible to traditional code. For example, when you have code like var x = f(); print(x); only a hardcore extremist like Uncle Bob would write it as var x; function start(){ x = f(); onAfterF(); } function…

The callback-based example is complicated for no reason other than to support your argument. This is how it translates: f(print);

Of course its complicated for no reason. Its an example! The same logic would apply if I had 5+ nontrivial lines of code instead of just a print statement.

Re: Callbacks as our Generation's Goto Statement

#249
post #248
post #243

Earlier quoted context omitted.

The callback-based example is complicated for no reason other than to support your argument. This is how it translates: f(print);

Of course its complicated for no reason. Its an example! The same logic would apply if I had 5+ nontrivial lines of code instead of just a print statement.

I'm sorry, hardly ever had an issue with callback-based programming. If you're used to imperative, maybe the problem is that you're making a mess because you're adapting from a different style and complicating it with workarounds, you need to be functional.

Re: Callbacks as our Generation's Goto Statement

#250

Earlier quoted context omitted.

What this suggests is that "await" isn't like all structured programming, it's like one control construct. The history of structured programming is the development of more constructs as people realised that they had a goto pattern that kept popping up in their code, so they named it and thereby got a cognitively-higher-level program. Long after Dijkstra's essay, we could still occasionally find new places where goto…

Another example: a lot of old code bases use "goto" for error handling. I'm assuming the Linux kernel still does this. Now we've formalized that behavior into exceptions.

Formalized that behavior into exceptions? Last I checked using exceptions for control flow was a BAD practice.

In c at least, breaking out of an error condition is still best handled with a goto (where you can clean up all matter of memory in an organized fashion without littering your code with if elses).

Post reply on HN