And lets say if you put all these on your resume. So I am a Excel, Pixel shadder and algorithmic quantitative analysis expert, what is the chance for me to land a job? Again I am not saying FP is dead, I am saying FP lost.
On Thu, Jul 15, 2010 at 5:22 AM, Kevin Wright <[email protected]>wrote: > > > On 15 July 2010 01:41, Oscar Hsieh <[email protected]> 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 >> <[email protected]>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 <[email protected]> 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 <[email protected] >>>> > 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: [email protected] >>>>> wave: [email protected] >>>>> 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 [email protected]. >>>>> To unsubscribe from this group, send email to >>>>> [email protected]<javaposse%[email protected]> >>>>> . >>>>> 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 [email protected]. >>>> To unsubscribe from this group, send email to >>>> [email protected]<javaposse%[email protected]> >>>> . >>>> For more options, visit this group at >>>> http://groups.google.com/group/javaposse?hl=en. >>>> >>> >>> >>> >>> -- >>> Kevin Wright >>> >>> mail/google talk: [email protected] >>> wave: [email protected] >>> 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 [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]<javaposse%[email protected]> >>> . >>> 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 [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<javaposse%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/javaposse?hl=en. >> > > > > -- > Kevin Wright > > mail/google talk: [email protected] > wave: [email protected] > 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 [email protected]. > To unsubscribe from this group, send email to > [email protected]<javaposse%[email protected]> > . > 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
