The Artima Developer Community
Sponsored Link

Agile Buzz Forum
Joint Smalltalk / Python meeting in Ottawa

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
Joint Smalltalk / Python meeting in Ottawa Posted: Jan 22, 2005 8:35 AM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: Joint Smalltalk / Python meeting in Ottawa
Feed Title: David Buck - Blog
Feed URL: http://www.cincomsmalltalk.com/rssBlog/buck-rss.xml
Feed Description: Smalltalk can do that
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From David Buck - Blog

Advertisement

On Wednesday night, the Ottawa Carleton Smalltalk Users Group and the Ottawa Python Authors Group held a joint meeting to learn more about each other's languages. Python and Smalltalk are both dynamically typed object oriented languages and both are competing for attention in a world dominated by statically typed languages like Java and C#.

Overall, I found the meeting a lot of fun and very informative and I'd recommend the concept to other Smalltalk groups. It's a great way to think about your own language and to get them to think about theirs.

Some of the things I found interesting about Python are:

  • Python starts small and loads components as needed. Smalltalk tends to start large and require stripping to bring the image down to a smaller size
  • Python has a nice way of accessing a collection from the end. If you index with a negative number, it means the nth last element.
  • Python's core language seems to change from release to release. The Python developers find this frustrating because semantics of some fundamental aspects of the language change from release to release making it incompatible with code written in the old version.
  • Python uses indentation to determine program structure. They say that this isn't a big deal and is only a problem if you didn't plan to indent anyway - you do plan to indend, don't you?
  • Python supports keyword parameters where keywords can be in any order
  • Python supports optional parameters with defaults and variable parameters - you can call the same method with as many parameters as you like.
  • Python supports multiple inheritance and they seem to like it. This led to discussions about what happens when you inherit from two classes with the same variable names and the answer is that you don't or you put __ before the variable name to make it private to the class.
  • Python has Perl regular expressions. Smalltalk does have regular expression libraries, but they do tend to fall short of Perl and aren't quite as natural to use.

We spent most of the meeting talking about Python and little time talking about Smalltalk. We agreed that we need to have another meeting to teach them more about Smalltalk. I did demo a few things in Smalltalk including ElastoLab. I showed the debugger and how we can change code in the debugger and continue. This was a surprise to them. I also showed the refactoring browser and a few refactorings like extract method and rename method. That turned a few heads.

I think the biggest difference between the two communities is that in Python, it's "all about the language". In Smalltalk, it's "all about the environment". The Python people look at the Smalltalk browsers, debuggers and inspectors and say, well, that's just the IDE, what's the language like? Smalltalk people look at Python syntax, indentation, regular expressions and parameter passing and say "That's just the language, what's the development environment like?"

Overall, it was a great meeting. Thanks to all the Python people who came out to teach us about their language. I think we all learned a few things.

Read: Joint Smalltalk / Python meeting in Ottawa

Topic: Another nail in the iTanium's coffin Previous Topic   Next Topic Topic: XStream 1.1 released

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use