News for hackers. Stuff that matters.
Re:The Death of the Relational Database by jules on Wednesday March 26, 2008 @05:09PM (#147282)
> Let me break it down. There are 3 models for "programming" (in the general sense) computers: > > 1. Functional 2. Relational 3. Imperative

Could you explain why you picked these three models?

Do you mean relational in the sense that you don't have input-output functions, but relations like:

    plus(4,4,x) => x = 8
    plus(y,4,6) => y = 2
Why can you store data with a relational model store but not with a functional model?
Re:The Death of the Relational Database by davidmathers on Wednesday March 26, 2008 @05:31PM (#147315)
Functional and relational are 2 sides of the same coin. For instance:

x + y = z

Can be viewed as either a function called binary_addition with x & y as inputs and z as the output, or as the description of a relationship between 3 sets.

So, to solve the problem using SQL for example you would create a table binary_addition(x,y,z) and then fill it with all the true values that caused x + y = z to be true and then say "select z from binary_addition where x = 4 and y = 4"

In the functional model the computer stores the process for turning the input values you give it into the output values you want. In the relational model the computer stores a table containing all known possible input values, all known possible output values, and how they relate to each other, and gives you a way to retrieve them.

Note, the functional model is implemented by what that famous guy whose name I can't remember called "function-level" programming languages, not functional (aka lambda) languages.

Re:The Death of the Relational Database by davidmathers on Wednesday March 26, 2008 @06:04PM (#147343)
The famous guy is named Robin Milner. He created the ML language. In lambda languages like lisp or javascript you can use functions as arguments and return values. I function-level, or applicative, languages you can only create new functions by combining existing functions. I think. I've never used a function-level language.