Kamaelia: Open Source Python Framework

June 28, 2008 § Leave a comment

Kamaelia is not yet another Rails-esque framework, thus making it more interesting.

Kamaelia is open source framework for building concurrent system. It was conceived inside BBC.co.uk r & D lab. It is written in Python, making it double interesting.

It draws its inspiration from UNIX pipeline. UNIX pipe allows chaining processes so that the output of current process goes directly to the input of the next process. The ‘pipeline’ module is called Axon.

From its documentation, Kamaelia is more like collection of components. The components comprises a lot of thing; TCP server/client, GUI builder, Audio codec, IRC client, etc…

This framework is most definitely different.

References:

Why Python?

January 20, 2008 § 3 Comments

Among other programming languages, why choose Python?

Let’s go over the basics first, these traits also exist in other programming languages:

  • Python is interpreted Programming Language. It is also a high-level programming language. Therefore, just like Ruby or Perl, Python is easy to learn and easy to get up to speed on sizable projects.
  • Python is also object-oriented language. But that’s nothing new, most modern programming languages are object-oriented anyway.

Naturally, readers will ask, if Python can only do what MY programming language already can… Why do I have to learn it? Below is my reasoning why… and hopefully readers will convert to Python :-P

1. Python does not have funky sigils or special system_call functions. The only one you have to memorize is: __someDefaultMethods__ By not having too many special characters, programmers spend less time browsing documentation or mailing list on Google.

2. Python tabbed indentation actually contributes to highly readable code. Readable code helps especially when you are juggling many different projects every week, it allows you to remember quickly what you did last time.

3. Python’s power and scalability is proven not hype.

4. For Back-end Programmers, Database Designer, and System Engineers:

  • Look at Twisted[1]. It is one kick ass networking library. It supports many networking protocols that allows building web servers, email, or chat easier.
  • Look at SQLAlchemy[2][3], I never seen ORM so powerful and yet so easy to learn.

5. For Application Developers:

  • Django is a complete out-of-the-box Web Framework. Their slogan — “For Perfectionists with deadlines”
  • TurboGear is also another awesome complete Web Framework solution. But I suggest readers wait until they included SQLAlchemy as their new database stack.

6. For Javascript Developers:

  • Look at Mochikit, It is a complete javascript framework that’s very Pythonic. Mochikit is still just Javascript, but have Python’s sense of elegance.

Below are quotes from Eric Raymond on why he likes Python:

– “In Python, I was actually dealing with an exceptionally good design. Most languages have so much friction and awkwardness built into their design that you learn most of their feature set long before your misstep rate drops anywhere near zero. Python was the first general-purpose language I’d ever used that reversed this process.

– “It (Python) is compact–you can hold its entire feature set (and at least a concept index of its libraries) in your head. C is a famously compact language. Perl is notoriously not;

– “What I really wanted was code that would analyze the shape and members of the initializer, query the class definitions themselves about their members, and then adjust itself to impedance-match the two sets… …This kind of thing is called metaclass hacking… …Thirty-two lines, counting comments… …Brace yourself: this code only took me about ninety minutes to write—and it worked correctly the first time I ran it.

– “So the real punchline of the story is this: weeks and months after writing fetchmailconf, I could still read the fetchmailconf code…

Summary:

Hopefully I provided enough examples on why Python can be your next favorite programming language. Programming in Python is fun indeed.

Resources:

  1. http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions
  2. http://www.sqlalchemy.org/
  3. http://en.wikipedia.org/wiki/SQLAlchemy
  4. If you are new in Programming, this E-book can help
  5. Why use Python in Windows XP?
  6. Python Doc – String
  7. Python Doc – Common OS path manipulation
  8. If you are familiar with apt-get, Python have something similar for its modules: easy_install

What Others Said about Why Python:

CakePHP: book for newbies…

July 30, 2007 § 1 Comment

is almost here.

David Golding is the author, and here is his announcement about it.

Update: December 29th, 2007

Couple of the chapters are available here.

There’s also discussion forum about the book.

If you cannot wait to get started on CakePHP, see Resources below:

Where Am I?

You are currently browsing the evangelism category at RAPD.

Follow

Get every new post delivered to your Inbox.