Showing posts with label Object-oriented programming. Show all posts
Showing posts with label Object-oriented programming. Show all posts

Thursday, October 07, 2010

Al Wenger Wants To Learn Scala

And so should you.

I came across this post by Al on Tumblr - my idea of TV - not long back and was the first person to reblog it there. Yes!

It is an honest, relatable, inspiring post. And I said so in a comment.

To those of you who might not know - I do have a global audience - Al Wenger is a top notch VC in New York City.

I promptly created a Scala page. This is still early. I first blogged about Scala back in May, and Google still shows only a handful of websites dedicated to Scala. Wow.

Al, I am with you now.



Wait, did I just say a line from The Godfather?

I could hardly call Al a friend, we have met in person but once. And I am strict about using the family metaphor. Some weirdos in Kentucky spoiled it for me.

Al to me is a VC and a blogger, and that is good enough for me.

One small but not unimportant fact I learned about Al during my one meeting with him is that he is Mayor of some horse place upstate.

How My Grandfather Became Mayor The First Time
Scala - Wikipedia: Scala stands for "scalable language", signifying that it is designed to grow with the demands of its users..... Scala code can call Java libraries (or .NET libraries in the .NET implementation). ..... Scala's operational characteristics are the same as Java's. .... Scala is a pure object-oriented language in the sense that every value is an object. .... In April 2009 Twitter announced they had switched large portions of their backend from Ruby to Scala and intended to convert the rest. In addition Foursquare uses Scala and Lift


Enhanced by Zemanta

Sunday, May 30, 2010

One Programming Language

Scala logoImage via Wikipedia
I was over at Hacker News, and came across this wonderful blog post by Babu Srinivasan: If You Had To Learn Just One Programming Language. He lists all the languages and he lists 13 criteria with which to measure them. Then he starts eliminating languages.

List 1: Common Lisp, Scheme, Fortran, Smalltalk, C, C++, Objective C, Ada, Java, Javascript, C#, D, Prolog, Perl, PHP, Python, Ruby, Groovy, Clojure, Lua, Forth, Factor, Erlang, OCaml, F#, Clean, Haskell, Scala.

List 2: Python, Ruby, Groovy, Clojure, Erlang, OCaml, F#, Clean, Haskell and Scala.

List 3: Clojure, Erlang, OCaml, Clean, Haskell and Scala.

List 4: Clojure, OCaml, Haskell/Clean and Scala.

List 5: OCaml, Haskell/Clean and Scala.

Winner: Scala.
Functions are values and values are objects. Therefore functions are objects. Unlike Java which has primitive types int, float etc, Scala is completely object oriented. Numbers, characters, booleans, functions are just objects ..... A big deal is made of duck typing in languages such as Python and Ruby. In Scala you have “Structural typing” which is Duck Typing done right. ..... Scala is a huge language with lots of features: traits, abstract types, higher order functions, closures, native threads, concurrency (Actors), xml processing, implicits, pattern matching, partial functions, monads. You can start using it right away and slowly learn about the more powerful constructs. You can easily write a DSL (Domain Specific Language) using scala...... The extensive set of Java libraries can be put to use...... Scala is much easier to learn for the majority of programmers who have been programming in the imperative style........ With Scala, you can start with imperative or object-oriented style of programming (think of it Java without the verbosity) and migrate slowly to the functional features. ....... Lift is a web framework written in Scala. You can create web apps as easily as you can do with Rails and Django but it will typically run 4 to 6 times faster, use less CPU and it will be lot more scalable.
Reblog this post [with Zemanta]