The reverse of Object Construction
- Jun. 2nd, 2009 at 10:03 PM
Martin Odersky, the creator of Scala, on this Google Tech Talk (@13:54 min) says:
Pattern matching is the reverse of Object construction, that all it is...
I must say, the Functional Programming side of Scala is a whole new world to me, and the pattern matching mechanism a big a part of it, and I have the intention to deep dive all this.

Latest Month
| November 2009 | ||||||
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | |||||
Tags
- .net
- acquisition
- ada
- addons
- adobe
- ai
- ajax
- akitaonrails
- android
- annotations
- ant
- api
- apple
- applet
- arc
- architecture
- artima
- ask
- awk python ruby
- bash
- beanshell
- berkeley
- bigtable
- bill_gates
- bill_verners
- blog
- bonjour
- booch
- book
- bookmarks
- boot
- brazil
- browser
- build
- burn
- c
- c#
- c++
- c_clark
- calculator
- calendar
- cedric
- cgi
- chrome
- clipping
- closures
- code
- code_search
- compiler
- computerworld
- comunity
- creative_commons
- css
- cvs
- cygwin
- delicious
- dell
- design
- design_patterns
- desing
- desktop
- devel
- development process
- distro
- docs
- dreamhost
- dsl
- ducktyping
- dynamiclanguages
- ebook
- eclipse
- eclipse-distro
- eclipse-plugins
- ecma
- encyclopedia
- engadget
- enterprise
- eric_sink
- erlang
- excel
- extreme_programming
- f#
- fink
- firefox
- flash
- flex
- forbes
- fortran
- fowler
- framework
- frameworks
- free
- fun
- functionalprogramming
- gamedev
- games
- ganymede
- garbage_collector
- generics
- genesis
- ghc
- gis
- git
- gmail
- gnu
- go
- gof
- google-code
- google_maps
- gosling
- gparted
- gphone
- gpl
- groovy
- gui
- gwt
- hardware
- haskell
- hibernate
- history
- hoax
- htc
- html
- humaninterfaces
- ibm
- icon
- ide
- ie
- im
- indenter
- install
- intel
- intellij_idea
- interface
- internet
- internet_browser
- interview
- io
- iphone
- ipod
- itunes
- jackpot
- jambi
- java
- java.sun.com
- java_changes
- javadoc
- javafx
- javascript
- jboss
- jbuilder
- jini
- joel
- joshua_bloch
- jruby
- jsf
- jsr
- jude
- junit
- jvm
- jws
- kde
- kernel
- knol
- knoppix
- koffice
- kubuntu
- labs
- lambda
- license model
- lift
- linq
- linux
- lisp
- livejournal
- ljcolligo
- logo
- lotus
- lua
- lucene
- m$
- mandrake
- map
- maps
- martinodersky
- matisse
- maven
- memory_management
- mercurial
- methodology
- metrics
- microsoft
- miguel_icaza
- mono
- mysql
- netbeans
- news
- nintendo
- object oriented
- object_oriented
- office
- office_suite
- olpc
- open_jdk
- open_office
- open_source
- opera
- oracle
- oreilly
- osx
- p3k
- palm
- partition
- patternmatching
- paul_graham
- pc
- people
- performance
- plataform
- plucker
- plugin
- podcast
- pojo
- port
- portable
- practices
- presentation
- programing_language
- programing_paradigms
- programming
- programming language
- programming_language
- programming_paradigms
- project management
- pulse
- python
- qt
- quake
- rad
- rant
- rcp
- recursion
- refactoring
- requirements_engineering
- retro
- reuters
- review
- rottztv
- rss
- ruby
- rumbaugh
- rup
- safari
- samplecode
- scala
- screencast
- screenshoots
- script
- scripting_languages
- scrum
- sdn
- search
- search_engine
- sega
- servlets
- slashdot
- softpedia
- software
- software_enginering
- sound track
- source_forge
- spreadsheets
- spring
- squeak
- standards
- steve_yegge
- struts
- subclipse
- subversion
- subversive
- sun
- suse
- swing
- tail
- tapestry
- tas
- techtalk
- tests
- text-adventures-suite
- thought_works
- tool
- top10
- tss
- ubuntu
- uml
- unicode
- usability
- user_interface
- util
- utilities
- video
- virtual_machine
- vista
- visual_age
- w3c
- wave
- web
- web app
- web developer toolbar
- web2.0
- webwork
- wicket
- wii
- wiki
- wikinews
- wikipedia
- wikispaces
- windows
- workflow
- wtf
- wtp
- xhtml
- xml_rpc
- xp
- xwiki
- yahoo
- youtube
Page Summary
Powered by LiveJournal.com
Designed by Tiffany Chow

Comments
I must say, I've been "envying" attributes of functional-style programs since I read Functional Programming For The Rest Of Us (compiler can automatically paralellize things, hot code redeployment, machine-assisted proofs and optimizations, etc), but I've never been able to make the paradigm leap.
Maybe Scala, which mixes OOP and FP (leaning towards FP when necessary), will allow people like me to make the leap.
I believe that IDE support is one of the most compelling reasons for using a language/platform, and of course, since Java-the-language is ~10 years old, its IDE support is unrivaled, which is one of the biggest barriers to entry for new languages.
Recent advances in Groovy support for Eclipse has made me optimistic again.