Recent submissions

Comment · 11 years ago
Comment · 12 years ago
Your analogy doesn't make sense because Verizon doesn't select which calls you receive. A phone company that drops any calls (positive or negative) is just defective. Facebook always curates what they show on your newsfeed. The neutral case where the experiment isn't being run still involves Facebook picking and choosing what to show you.

If you want an analogy relating to socializing, how about a dating site experimenting with showing you more or less attractive people? Is that terrible and unethical?

Comment · 12 years ago
Would you feel the same way if a grocery store played a sad song when you were depressed?
Comment · 12 years ago
Comment · 12 years ago
This is utter nonsense. García Márquez wrote some of the most compelling and beautiful stories of the 20th century. Borges wrote the literary equivalent of late night stoner conversations, covering up a lack of substance with erudition.

I don't deny that the Nobel Prize can be political, but García Márquez was one of the most deserving recipients.

Comment · 12 years ago
Comment · 13 years ago
Even if it's consistent within files, you can still run into big problems. If the different macros supply slightly different functionality, you could end up in a situation where you have two different types of classes that can't be used interchangeably. It's not a problem if you write all the code, but once you start pulling in other code all bets are off.
Comment · 13 years ago
> It really depends which audience this article is targetting...

I disagree. Low quality articles like this are part of the reason why many undergrads are full of strongly held opinions about things they don't know much about. They think you can dismiss a huge paradigm with a glib one-liner: "functions are not objects".

> Yes, but why have that definition, if you already have functions as builtin types?

Because we can't talk about objects without having a definition of what they are? I have no idea what point you're trying to make here. I'm just trying to be clear about my terminology.

> Careful, the wording is a bit lacking here imho: you join two different ideas and make it seem like the second one validates the first, while it's not the case.

Think about it a little bit and you'll see why they are actually very related. His statement about Java is meant to imply that proper higher order functions and OOP are in opposition in some way (at least I assume that's his point, it's still not clear to me because that is obviously incorrect). I am saying that proper higher order functions alone are enough for a very pure form of OOP, so there is clearly no opposition.

> That shows you probably don't follow much the field. Anyway, this article doesn't fit your standard (see first point), ergo this man's whole work doesn't, ergo the whole field doesn't? That twice too much stretching from someone who isn't very careful in his own argumentation.

I'm going to ignore the digs at me and elaborate on what I meant. The author wrote an article about programming languages that was full of elementary errors, both in logic and in technical details. If he can't make a simple argument correctly, how am I supposed to have faith that his research isn't similarly full of errors? It's easy to disguise sloppy thinking in technical writing.

Comment · 13 years ago
This is a low quality article from someone who, given his qualifications, should know better.

The criticisms of functional programming languages range from trivially true (you can't be purely functional and have side effects) to incorrect (it is certainly not difficult to create a circular data structure in Haskell - it's easy given laziness).

The criticism of OOP is verging on nonsensical. Of course functions can be objects. A general definition of an object (following Cook somewhat) is something that satisfies an interface along with some form of dynamic dispatch. There is no reason why a function can't fall under that definition. The distinction between “fundamental” and “derived” isn't a technical argument, it's pseudo-philosophical junk. As several others have pointed out, the fact that Java doesn't have proper first-class functions is also utterly irrelevant. In fact, it is possible to program in a very pure OOP manner in any language with proper closures.

If the author is representative of the quality of researchers working on programming languages, it's no wonder the field seems stagnant.

Comment · 13 years ago
jsgrep looks very neat as well. I like the patch syntax. However, I don't think this example is quite equivalent. In the grasp example, it replaces every binary operator, not just that specific call. Could you show how to represent the same thing in jsgrep?
Comment · 13 years ago
Perhaps I'm being overly pedantic, but in my mind "showed" and "appeared to show" mean very different things.
Comment · 13 years ago
You're right, that's a much better article.
Comment · 13 years ago
As a response to your edit, no it doesn't. So what? If you can infinitely divide space in the manner of Zeno's paradox, then the sum is well defined and easy to do. If you can't, the paradox doesn't apply to reality. What's the problem?
Comment · 13 years ago
You are assuming more about the Planck units than is currently known. Directly from wikipedia:

"There is currently no directly proven physical significance of the Planck length; it is, however, a topic of research."

Comment · 13 years ago
Calculus is a tool for reasoning about exactly this kind of thing. If you think there is an actual paradox present, please explain what it is.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton