News for hackers. Stuff that matters.
Re:C++17: I See a Monad in Your Future by marssaxman on Thursday February 27, 2014 @06:15PM (#7315980)
We are not mathematicians. Those terms are not really part of our industry.
Re:C++17: I See a Monad in Your Future by jroesch on Thursday February 27, 2014 @06:43PM (#7316162)
Though many of us are computer scientists (at least by education), and engineers. Vocabulary does not just manifest out of thin air. Where do you think the words function, or algorithm came from? I can tell you they were in use before 1950. We have already collectively borrowed a huge amount of vocabulary from mathematics. There is nothing wrong with adopting a few more that accurately describe what these objects are. For example we could call Functor Mappable or some such but it falls short in describing the abstraction. For example functions of one argument form a Functor and its "map" is function composition. So for functions Mappable is a pretty poor name.

Edit: Yes languages get this wrong but I was focusing on the borrowing of vocabulary more so than the correct usage of it. Many words are abused like Functor to mean function object in C++, functions referring to procedures, ad-hoc vs. parametric polymorphism, strong and weak typing ect.

Re:C++17: I See a Monad in Your Future by bjz_ on Thursday February 27, 2014 @06:57PM (#7316260)
Unfortunately the term 'function' is somewhat misused in most programming languages, where 'procedure' would be a better term. The Wirth languages, Haskell, and Nimrod are the few that seem to get this right.
Re:C++17: I See a Monad in Your Future by axman6 on Thursday February 27, 2014 @11:31PM (#7317252)
Ada too, it has distinct procedures and functions; the latter producing only one output based only on its inputs (though I believe recently they added the ability to also have out parameters so multiple values can be returned).
Re:C++17: I See a Monad in Your Future by marcosdumay on Thursday February 27, 2014 @09:03PM (#7316783)
Eh, sorry, but you work with a machine whose purpose is to manipulate mathematical constructs, following a mathematical algorithm, receiving mathematical symbols as input, and outputting that same class of symbols, originally invented by mathematicians, and improved by them through several iterations until they achieved the form they have now.

Oh, and lots and lots of your peers are formed in an specialization of mathematics called "Computer Science".

Re:C++17: I See a Monad in Your Future by marssaxman on Friday February 28, 2014 @02:13PM (#7320813)
Of course. But the fact that I'm doing this work on a device built from electronic components does not make me an electrical engineer, and the fact that physicists discovered the principles which make semiconductors possible does not make the work I'm doing a part of physics.

One might as well say that biology is a branch of philosophy, because it was the source of all the natural scientists; but such a description, in modern times, would not be particularly informative.

Re:C++17: I See a Monad in Your Future by freyrs3 on Thursday February 27, 2014 @06:39PM (#7316142)
Um, which industry do you work in? Enormous amounts of words from mathematics have been incorporated into the programming lexicon. Vector, matrix, index, graph, tree, function, domain, ... the list goes on and on.
Re:C++17: I See a Monad in Your Future by Pacabel on Thursday February 27, 2014 @07:34PM (#7316461)
The words you listed tend to have well-understood meanings in numerous contexts aside from mathematics that are still related in some way to the software concept.

Some of those words are very likely non-mathematical words that were adopted and re-purposed by mathematicians. "Tree" is inspired by how the data structure's shape is very similar to that of trees (that is, the plants), for example.

Re:C++17: I See a Monad in Your Future by freyrs3 on Thursday February 27, 2014 @07:52PM (#7316543)
You missed the point, they all come from mathematics and their meaning in the context of programming is precisely related to their mathematical context.