On 15 July 2010 01:41, Oscar Hsieh <zen...@gmail.com> wrote:

spreadsheets - You got to be kidding me  ...
>

A formula in a spreadsheet will always produce the same output for the same
input, how often you you see a cell with a formula going and updating
another cell as a side-effect?  That's a core tenet of FP


> pixel/vertex shaders - Sounds mathematical but does it have to be done
> functional?
>

Again, if a function is pure then it works exclusively with its inputs.
 This means it can be run multiple times in parallel for different inputs.
So... if your input is one pixel on a 1600x1200 screen, you can process
every single one at the same time on sufficiently powerful hardware.
Very important if you're trying to frag that combine sniper at 80fps


> ant and maven build scripts - Errr ... They are more declarative than
> functional.
>

declarative programming is just a superset of functional programming :)


> SQL - Ok about this one.
> XSLT - I worked on this 4 years ago.  This thing should DIE!!!
>

There will always be a need to transform one complex data structure to
another.
XSLT is a fantastic tool when used for the right job (which it so often
isn't)


> copy-on-write filesystems - Not even a clue what this is
>

ZFS, Btrfs, Ext3 cow, LVM snapshots, volume shadow copy
They're one step up from journalling, and *very* robust


> Javascript - Dont like it and never meet anyone that like it.
>

JS has some beautiful concepts in it, such as prototype-based
inheritance, but of most relevance here is event-binding...
You pass a function, a first-class value, as an argument to an event handler
- that's FP.


> map-reduce - Ok, but this is pretty new.
>
> I am working in a major bank now, My previous job was also with a major
> financial institute.  Not sure
> what was your experience but there was none FP in my previous company,
> and very little (my project is the only one that I am aware of) in my
> current company.
> Unless, of course, if by FP you mean SQL and Excel, then yes most people
> are using those.
>


Three words: "algorithmic quantitative analysis", this is hard-core stuff
deep inside investment banking and hedge funds.



> Thanks
>
> On Wed, Jul 14, 2010 at 8:13 PM, Kevin Wright <kev.lee.wri...@gmail.com>wrote:
>
>> 1.
>> FP did not "lose", it just became quietly mainstream without you even
>> noticing.
>> The following "failures" all contain a strong element of FP:
>>
>> spreadsheets
>> pixel/vertex shaders
>> ant and maven build scripts
>> SQL
>> XSLT
>> copy-on-write filesystems
>> Javascript
>> map-reduce
>>
>>
>> Did Excel lose, or computer games, or XML transforms, or ZFS, or webapps,
>> or Google?
>>
>> Not to mention a fair amount of stuff going on in banks and hedge funds
>> that nobody ever really talks about :)
>>
>>
>> 2.
>> My stated opinion, as per the opening post in this thread, is that I am
>> both pro-FP and pro-OO.  I'd like to imagine that you replied based on the
>> actual content there, and not simply the subject line.
>>
>> I believe in the potential of using both paradigms together.  Seriously,
>> if that wasn't the case then my name wouldn't be on this page:
>> http://www.scala-lang.org/node/7009
>> (which it is)
>>
>>
>>
>>
>> On 15 July 2010 00:55, Oscar Hsieh <zen...@gmail.com> wrote:
>>
>>> Ok, what is the point of this?
>>>
>>> 1.  FP LOST!!!  ... it has been around for more than 50 years, it has its
>>> chances but people vote with their feet!!   When I was doing my CS Bachelor
>>> (1994), FP
>>>       wont be taught until senior years (Scheme was taught in the AI
>>> class).  Even assembly code was taught before that.
>>>      Nowadays the most majority code are still done OO (Java/.Net) and
>>> will stay that way for a while.
>>>
>>> 2.  Why does OO have to fight with FP??  They are just different way of
>>> solving problems.  Why cannot they coexist?  Scala is a good example.
>>>     If you look at Scala, it is actually more OO than Java since
>>> everything in Scala are Objects, even functions.
>>>     On the other hand, I DONT think Scala is a pure FPL, since not
>>> everything is immutable (
>>> http://en.wikipedia.org/wiki/Comparison_of_programming_paradigms),
>>>     thus its threading model is not as good as Erlang's due to that
>>> issue.
>>>
>>> Most people tend to focus on Scala's FP side because that is new to them.
>>>  its OO side - well most people already know OO (go learn Erlang if you want
>>> pure FP).
>>> Lets just hope that we can get the best of both worlds, and lets not to
>>> be too Academic about it, after all, that is probably why FP lost.:)
>>>
>>> So what is next, RDBMS vs ODBMS? :)
>>>
>>> Thanks
>>>
>>> On Wed, Jul 14, 2010 at 9:29 AM, Kevin Wright 
>>> <kev.lee.wri...@gmail.com>wrote:
>>>
>>>> In our recent, erm, "discussion" one oft-mentioned issue came up:
>>>>
>>>>   Is Java's downfall foreshadowed by the lack of FP constructs, and will
>>>> closures be "too little, too late" when they finally arrive?
>>>>
>>>> and, as so often happens in discussions of this
>>>> nature, respondents divided into the pro-FP and pro-OO camps
>>>> (plus one who seemed to think that *any* abstraction was good,
>>>> regardless of paradigm, and that computers would be programming themselves
>>>> in the near future anyhow...)
>>>>
>>>> A *few* posts later, the typical war-lines were drawn:
>>>>
>>>>   "Future programming *will* be (at least partly) functional in nature,
>>>> the needs of concurrency demand it!"
>>>>
>>>> vs
>>>>
>>>>   "Object-Orientation works, expanding Java like this just
>>>> adds unnecessary complexity, and FP has never really left academia anyway"
>>>>
>>>>
>>>> It's very common for developers deeply embedded in the world of objects
>>>> to deride FP as being "complex", "academic", and "overly abstract", but 
>>>> what
>>>> really caught my attention this time was that the pro-FP crowd were giving
>>>> very definite concrete examples of the benefits to be obtained, whereas the
>>>> pro-OO crowd seemed to be hard waving around nebulous principles  - this is
>>>> definitely a role reversal when compared to the usual stereotypes.
>>>>
>>>> Chances are that I'm biased.  After all, I'm very active in the scala
>>>> community and a strong believer in the principles behind functional
>>>> programming, though I'd like to think I can see the benefits (and flaws) in
>>>> both paradigms.
>>>>
>>>> I'd be interested to know the general opinion. Is functional programming
>>>> still widely considered to be "abstract nonsense"?
>>>>
>>>>
>>>> --
>>>> Kevin Wright
>>>>
>>>> mail/google talk: kev.lee.wri...@gmail.com
>>>> wave: kev.lee.wri...@googlewave.com
>>>> skype: kev.lee.wright
>>>> twitter: @thecoda
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "The Java Posse" group.
>>>> To post to this group, send email to javapo...@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> javaposse+unsubscr...@googlegroups.com<javaposse%2bunsubscr...@googlegroups.com>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/javaposse?hl=en.
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google Groups
>>> "The Java Posse" group.
>>> To post to this group, send email to javapo...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> javaposse+unsubscr...@googlegroups.com<javaposse%2bunsubscr...@googlegroups.com>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/javaposse?hl=en.
>>>
>>
>>
>>
>> --
>> Kevin Wright
>>
>> mail/google talk: kev.lee.wri...@gmail.com
>> wave: kev.lee.wri...@googlewave.com
>> skype: kev.lee.wright
>> twitter: @thecoda
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "The Java Posse" group.
>> To post to this group, send email to javapo...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> javaposse+unsubscr...@googlegroups.com<javaposse%2bunsubscr...@googlegroups.com>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/javaposse?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "The Java Posse" group.
> To post to this group, send email to javapo...@googlegroups.com.
> To unsubscribe from this group, send email to
> javaposse+unsubscr...@googlegroups.com<javaposse%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/javaposse?hl=en.
>



-- 
Kevin Wright

mail/google talk: kev.lee.wri...@gmail.com
wave: kev.lee.wri...@googlewave.com
skype: kev.lee.wright
twitter: @thecoda

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to javapo...@googlegroups.com.
To unsubscribe from this group, send email to 
javaposse+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to