> -----Original Message----- > From: christopher.j.meisenzahl / citicorp.com > [mailto:christopher.j.meisenzahl / citicorp.com] > Sent: Monday, August 19, 2002 10:36 AM > To: ruby-talk / ruby-lang.org > Subject: Ruby vs. TCL/TK? > > > I've just started playing w/ Ruby and like it quite a bit so far. > > But I was wondering, I know that TCL/TK has a large following > out there. Is > anyone here a convert from TCL/TK to Ruby? If so, why? What > do you consider the > relative advantages/disadvantages of each? > > Is it a fair comparison? > > Can GUI apps be created with Ruby as easily as with TCL/TK? > > Interested in your thoughts, > > Christopher > > > > Christopher J. Meisenzahl CPS, CSTE > Senior Software Testing Consultant > Spherion > christopher.j.meisenzahl / citicorp.com > I actually have used Tcl/Tk a lot more than Ruby. I'm actually starting to use Ruby some more to see how I like it compared to Tcl/Tk. I can give you my preliminary pro/con list with a few qualifiers: (1) I am not an expert programmer, (2) I am still pretty new at Ruby, (3) I am not very experienced, nor a huge fan of OO programming. With those points in mind, here are IMHO some pros/cons: Tcl/Tk ------ Pros: * Has very mature, portable, built-in GUI library. * Has lots of additional libraries for just about everything you could want (smtp, database, COM, etc.) that are usally available in binary form for the two platforms I use most (Windows and Linux). * Has the ability to package code into a fairly small exe on Windows using GREAT tools like Freewrap and Tclkit. Cons: * Syntax is quirky. * Can't pass arrays (hash in Ruby) to functions. * When building Guis, sometimes I feel the code gets kind of cluttered with tons of widget commands followed by tons of pack commands. This is probably more due to my deficiencies as a programmer than any inherent fault of Tcl's. One reason I am trying Ruby is to see if it's built-in OO lets me produce cleaner code when I am building moderately complex Guis. Ruby ----- Pros: * Very clean syntax that seems to be pretty intuitive. * Built in support for lots of libraries (smtp, ole, os level, etc.). To me, it strikes a good balance between the "kitchen sinkness" of Python and the "minimalist model" of Lua. * Can pass different code structures to functions and back. * OO layer makes more sense to me than in any other language I have looked at (remember I don't know much about OO). Cons: * Sometimes hard to find additional libraries that are precompiled with the matching compiler (mingw, cygwin, etc.) of your Ruby interpreter. * Gui libraries are not as well integrated into the language as Tcl/Tk, nor as well documented. * Not as easy to create a small exe on Windows of your completed app. So those are my initial thoughts on the comparison. I am attempting to duplicate a Gui Windows app in Ruby that I wrote in Tcl/Tk. I am using the compiled mingw ruby that you can find at ruby-lang.org. You can find additional libraries there like ruby-gtk and sqlite that are already compiled for mingw. I would like to thank WATANABE Hirofumi for maintaining these. When it comes time to distribute my app, I intend to slowly delete files from the ruby distribution until I come up with the bare minimum of files (hopefully not much more than a couple of mb) that I need to include in my distribution. It's crude and not as pretty as creating an exe, but it should work. Anyway, sorry for the long post. Jamey.