Clojure is a kick ass Dynamic Programming Language, Clojure is also a Functional Language and "a Lisp". Clojure is not Lisp but is heavy inspired by Lisp, some folks consider Clojure a Lisp dialect. Lisp Rock a lot, unfortunately Lisp didn't take off as a primary option at the enterprise main stream development language.
Clojure target the JVM, JavaScript via ClojureScript and CLR(for .NET platform) so far the best we have in Clojure runs on the JVM and I hope it keep this way. You can generate java classes from a clojure code or you can call java from clojure so interop is good. This is great for a plenty of reasons like: You can use all your frameworks and you basically don't need to re-invent the wheel, people basically create wrappers(Clojure functions) calling java frameworks. There are Clojure libraries and framework as well considering that the language is really really really fresh => 2009 we already have a awesome community and ecosystem.
I spent 4 intensive mouths studying Clojure last year. First it start as curiosity and them it got Heavy, Like Death Metal, the issue with Death Metal is that the very first time you hear it sucks and you wan't throw up, granted that for some people it never gets good, but like all matters of the heart it's about taste and you need some time to get the taste for Functional Programming and Clojure.
Diego Pacheco: Agile Coach / Software Architect
Coaching, Software Architecture / Development through real world stories, courage and openness.
January 10, 2012
January 7, 2012
Scala Pattern Matcher, why should I care!?
Scala Pattern Matcher in a stupid simple definition is a switch++. So it's like a switch statement but far more powerful and fun :-) Why the hack should I care about this, well there some reasons. Instead of just writing down advantages and scenarios that you use it I will should what you can do with a Pattern Matcher in practices trough code.
Did you know we can use pattern matcher in order to do recursion, oh yeah, we can easily use to do recursion, whats the advantage, well the code gets cleaner and also easy to read and understand, check this Factorial code written using pattern matcher out.
Did you know we can use pattern matcher in order to do recursion, oh yeah, we can easily use to do recursion, whats the advantage, well the code gets cleaner and also easy to read and understand, check this Factorial code written using pattern matcher out.
Why Scala is so Cool?
Scala was suffer lots of criticism on late 2011, some "failure/Step Back" public appear and let several people worried. If you din't read this links before I high recommend you read it, but if you don't have practical experience with Scala becareful some things may mess with you head deeply and create a wrong concept of the language for you. So take it easy :-) Here are the links
There are practical and useful feedback about tooling, language features -> more related with performance that deftly will be great for the Scala community to improve the language and make things better, smother and stronger. Other things are pure FUD and the worst thing unfortunately often people don't really understand what really things means in practice. I sow people got crazy with binary compatibility issues, and basically saying we don't have this issue in java, sure Java don't let you do what Scala does. You don't have the same degree of flexibility / excitability, so If you got affected by that without realizing this your are not being fare with the Language.
- http://www.infoq.com/news/2011/12/scala-fresher
- http://www.infoq.com/news/2011/11/yammer-scala
- http://www.infoq.com/news/2011/11/scala-ejb2
There are practical and useful feedback about tooling, language features -> more related with performance that deftly will be great for the Scala community to improve the language and make things better, smother and stronger. Other things are pure FUD and the worst thing unfortunately often people don't really understand what really things means in practice. I sow people got crazy with binary compatibility issues, and basically saying we don't have this issue in java, sure Java don't let you do what Scala does. You don't have the same degree of flexibility / excitability, so If you got affected by that without realizing this your are not being fare with the Language.
April 12, 2011
Fun with Neo4J and JRuby
Neo4J is a graph database built in Java with full support for Transactions. It work with nodes and relationships, you're able to put properties in both, graph structure are very simple structures but have great expressiveness and great work for some problems domains.
Graph are perfect for social media, because you have friends and the friends have friends and they have twitter, email, cellphone. You do have properties on the relationship like for how long time you know that find or where did you meet him last etc.
Graph are perfect for social media, because you have friends and the friends have friends and they have twitter, email, cellphone. You do have properties on the relationship like for how long time you know that find or where did you meet him last etc.
This is the classical Matrix movie relationship sample. Let's see how we structure this graph on code, I will show ruby code through JRuby. I made some changes and add new properties but the relationship didn't change that much.
April 11, 2011
Having Fun with Ruby
You should try Ruby language. Ruby is a OO development language created by a Japanese called Yukihiro Matsumoto in 1993. It's a old language BUT far to be on the mainstream. Ruby is a niche language, I don't dare tell what will happen in the future BUT I see Ruby more and more stronger in world and Brazil as well. Part because Java community is detaching(caused by ORACLE actions).
There is a first strike that get you if you start coding with ruby. I called "It works :-)" If you work with Java you know what I'm talking about. Learn Java eco-system is hard and take long time, things are complex and often stuff that you get on the web just don't work. How many times did you get a tutorial or a blog post code that don't work because version of some jar that change, missing dependencies, environment setup and so on and on.
You get really happy coding and learning Ruby because everything that you get on the web works, it's amazing you just install a couple of gems and them copy the code and paste it, run it and this is it, working. This is not just good in the sens to help beginner to become advanced beginners but in the sense of doing experiments. You have this(drug - in the good sense :-) ) culture in Ruby, it's easy to try it, every gem is in the most of the cases simply and code that you see on the web just works, it's a code apology to you start coding and having fun with it.
There is a first strike that get you if you start coding with ruby. I called "It works :-)" If you work with Java you know what I'm talking about. Learn Java eco-system is hard and take long time, things are complex and often stuff that you get on the web just don't work. How many times did you get a tutorial or a blog post code that don't work because version of some jar that change, missing dependencies, environment setup and so on and on.
You get really happy coding and learning Ruby because everything that you get on the web works, it's amazing you just install a couple of gems and them copy the code and paste it, run it and this is it, working. This is not just good in the sens to help beginner to become advanced beginners but in the sense of doing experiments. You have this(drug - in the good sense :-) ) culture in Ruby, it's easy to try it, every gem is in the most of the cases simply and code that you see on the web just works, it's a code apology to you start coding and having fun with it.
tags:
design,
dev,
development,
ruby
Subscribe to:
Posts (Atom)



