Samstag, 28. Juni 2008

ECF Team Editor

Today I found[1] out about a very nice tool for cooperative programming. It is based on eclipse and I used the following to get started:


  • eclipse 3.5
  • ECF 3.0 through update
  • google mail account
  • open communications perspective
  • login with google mail 
  • add contact
  • project with same: name, package and files
  • share workspace to collaboration
  • host: share editor with

This enables two computers running eclipse to share a common code editor. It even offers simultaneously coding in the same file! That's pretty amazing. I don't know exactly how this could be used in a professional environment but for a quick hack session this seems ideal.

[1]http://live.eclipse.org/node/543
Some further references on the topic:
http://wiki.eclipse.org/DocShare_Plugin
skype provider
skype provider documentation

Sonntag, 1. Juni 2008

more on Scala

What is interesting about Scala that it offers a lot of powerful features.

Context Operations
Since Methods can be used in infix notation and you can use symbols as method names (like *,/,+,-) , it is important to view them always in context or to be specific in scope of the current code.

Many of those features derive from functional programming. Which seems a vast space to explore. But for now I may start with closures.


No Statics
Scala is in fact more OO than Java, it removes statics completely and introduces another construct the 'Object'. By defining an object in scala you define an single instance module or singleton, which can be referred to without using an constructor.


Closures and Functional Programming
So I stumbled about this blog post[1].  While it only started with the title Closures, it offers quite more than just that. The post discusses concepts which define algebraic structures, e.g.: associativity. The MyClass example seems simple and compelling. In quite a different manner (than so far for me) the author describes functional programming and how it can be useful. I really like that. Functional programming is a broad topic and this particular spot on helped me to get started.

Some more advanced topics from functional programming would include topics like: Monads, Applicative, Arrows and Zipper. Some useful links:

[1]http://aabs.wordpress.com/2008/05/29/functional-programming-lessons-from-high-school-arithmetic/
[2]http://debasishg.blogspot.com/2008/03/monads-another-way-to-abstract.html
[3]http://james-iry.blogspot.com/2007/09/monads-are-elephants-part-1.html