Dev:Programming Language Pros & Cons
From AMSN
Note: This page is not about what language is better. This is about what language is best suited for the planned aMSN2.
Contents |
TCL
Pros
- No need for current aMSN developers to learn a new language
- Cross-platform
Cons
- Bindings are generally not available
- Old and nowadays unpopular language
Python
Pros
- Active development and large size dev community
- Bindings are available
- Object Oriented
- Cross-platform
- Can reuse existing Telepathy code (cohoba)
Cons
- Current aMSN developers can not benefit from their experience and therefore may initially write crappy code
Ruby
Pros
- Active development and medium size dev community
- Bindings are available
- Object Oriented
- Bridges to both Python and Tcl exist
- Cross-platform
Cons
- Current aMSN developers can not benefit from their experience and therefore may initially write crappy code
- Multiple ways to do the same thing (syntactically)
Interesting links and info
- Eric Raymond's first python experiences
- phd thesis showing Python is faster, smaller and less memory hungry than TCL
- Ruby compared to Python and Perl (it's somewhat biased, but contains a lot of useful info)
Removed
- The pro and con about Ruby being a hype because together they form are a neutral statement.
- "An advantage of using TCL/TK (cross platform, no compilation) is gone" because it applies not only to Tcl but also to other interpreted languages that they are 'cross-platform' and 'no compilation', and that advantage being gone depends only on bindings availability.
- Weird syntax from Python Con as it was never serious in the first place.
- "We might be able to reuse some aMSN1 code" from TCL pros as Harry points out we can probably not reuse anything in aMSN2
Joined
- 'Current amsn developer knowledge will be less useful' and 'If people learn a new language, the intial code will probably be crap'. These two are so much related that I thought is was better to join them into 'Current aMSN developers can not benefit from their experience and therefore may initially write crappy code'

