|
|
 |
 |
 |
 |
TCL(Tool Command Language) Scripting
|
 |
 |
 |
 |
 |
 |
 |
 |
Tcl/Tk on Rails
I have been task by one of clients to study Ruby On Rails and as soon as I am able, to start writting appliactions using Ruby On Rails. I'm a newbie to Tcl/Tk and is now in the middle of the development of a real world Tcl/Tk application. My question is, can I come up with something similar to Ruby On Rails by using httpd combined tcl plugin? Please enlighten me on this.
> My question is, can I come up with something similar to Ruby On Rails > by using httpd combined tcl plugin? Please enlighten me on this.
Not likely.
How about apache rivet? Is it dead?
On May 13, 9:30 pm, tcltk@aol.com wrote: > I have been task by one of clients to study Ruby On Rails and as soon > as I am able, to start writting appliactions using Ruby On Rails. I'm > a newbie to Tcl/Tk and is now in the middle of the development of a > real world Tcl/Tk application. > My question is, can I come up with something similar to Ruby On Rails > by using httpd combined tcl plugin? Please enlighten me on this.
Are you asking "Can I write the equivalent of Ruby on Rails in Tcl"? The answer to that is yes. However, do you know how much work has gone into Ruby on Rails? To have the equivalent, expect to be coding for quite some time. And, nothing personal intended, so I don't really know you, but if you are trying to replicate something that a community of ruby fans (and experts) have created, expect that you will need similar numbers of similarly skilled people to achieve that level. If you are really asking "is there anything in the tcl community which is equivalent", that's a different question. And my first response to that question would be "I don't know anything about Ruby on Rails - describe the detailed specific requirements you have on comp.lang.tcl and ask if what existing tools come closest to meeting those requirements"...
On May 14, 2:38 pm, "Larry W. Virden" <lvir@gmail.com> wrote: > If you are really asking "is there anything in the tcl community which > is equivalent", that's a different question. And my first response to > that question would be "I don't know anything about Ruby on Rails - > describe the detailed specific requirements you have on comp.lang.tcl > and ask if what existing tools come closest to meeting those > requirements"...
Perhabs the wikipedia "Ruby on Rails" page helps a bit for the common understanding: http://en.wikipedia.org/wiki/Ruby_On_Rails Best regards, Martin Lemburg Siemens Automation and Drives - UGS PLM Software
"Larry W. Virden" <lvir@gmail.com> wrote: > If you are really asking "is there anything in the tcl community which > is equivalent", that's a different question. And my first response to > that question would be "I don't know anything about Ruby on Rails - > describe the detailed specific requirements you have on comp.lang.tcl > and ask if what existing tools come closest to meeting those > requirements"...
Let me help... the answer is no, there is nothing that is equivalent or even close. And, as you noted, the amount of energy and expertise required to create one would be for all intents and purposes completely impractical. Mark
On Mon, 14 May 2007, Mark Roseman wrote: > "Larry W. Virden" <lvir @gmail.com> wrote: >> If you are really asking "is there anything in the tcl community which >> is equivalent", that's a different question. And my first response to >> that question would be "I don't know anything about Ruby on Rails - >> describe the detailed specific requirements you have on comp.lang.tcl >> and ask if what existing tools come closest to meeting those >> requirements"... > Let me help... the answer is no, there is nothing that is equivalent or > even close. And, as you noted, the amount of energy and expertise > required to create one would be for all intents and purposes completely > impractical. > Mark
While true, Ruby/Rails is a large undertaking, there is nothing inherent about tcl/tk which prevents a similar package from being implemented other than lack of a community effort. Tcl/Tk has a number of things already going for it which may serve as components: SQLite and bindings for various databases HTTP (various libraries) Apache/Rivet (a wonderful tool) To enumerate but a few ... AFAICT, Rails offers a limited (restricted) view of relational tables to provide a persistent object store (not in the strict sense) which assumes a key structure specific to rails, and if adhered to, will make coding web based dbms apps trivial from a programming effort. Great for the 85% of apps which require same, but a bear for the other 15% that require a bit more sophistication IMHO. ----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==---- http://www.newsfeeds.com The #1 Newsgroup Service in the World! >100,000 Newsgroups ---= East/West-Coast Server Farms - Total Privacy via Encryption =---
tcltk @aol.com wrote: > I have been task by one of clients to study Ruby On Rails and as soon > as I am able, to start writting appliactions using Ruby On Rails. I'm > a newbie to Tcl/Tk and is now in the middle of the development of a > real world Tcl/Tk application. > My question is, can I come up with something similar to Ruby On Rails > by using httpd combined tcl plugin? Please enlighten me on this.
I don't think RoR uses anything like the Tcl plugin -- it's all server-side as far as I know. There are a number of basic frameworks for developing webapps in Tcl (Rivet, AOLServer, etc). Possibly the nearest thing is the ActiWeb stuff that comes with XOTcl: http://media.wu-wien.ac.at/apps.html I've not used it myself though, so I don't know whether it compares to Rails. I'd say just use RoR. Ruby's not a bad language. -- Neil
Neil Madden wrote: > I don't think RoR uses anything like the Tcl plugin -- it's all > server-side as far as I know. There are a number of basic frameworks for > developing webapps in Tcl (Rivet, AOLServer, etc). Possibly the nearest > thing is the ActiWeb stuff that comes with XOTcl: > http://media.wu-wien.ac.at/apps.html
TCL on TARMAC ?? tarmac still a trademark? uwe
On May 14, 9:57 am, tcltk@aol.com wrote: > How about apache rivet? Is it dead?
It's maintained for Apache 1.3, because people do use it in production, but I wouldn't write anything new with it at this point, let's put it that way. Tcl is pretty much dead on the web outside of some niches. That doesn't mean no one uses it, it means that new installations are basically 0. Like others say, Tcl would actually be a good language to create something like Rails in, but those of us in the Tcl/Web world never put all the pieces together like the Rails guys did, and it's too late at this point.
Mark Roseman wrote: > "Larry W. Virden" <lvir @gmail.com> wrote: >> If you are really asking "is there anything in the tcl community which >> is equivalent", that's a different question. And my first response to >> that question would be "I don't know anything about Ruby on Rails - >> describe the detailed specific requirements you have on comp.lang.tcl >> and ask if what existing tools come closest to meeting those >> requirements"... > Let me help... the answer is no, there is nothing that is equivalent or > even close. And, as you noted, the amount of energy and expertise > required to create one would be for all intents and purposes completely > impractical.
I doubt that was the thinking David Heinemeier Hansson when viewing the many other existing frameworks. "Impractical" is defeatist bunk. In fact, you could make an equivalent. Yes, it would take time. Yes, you could learn from others and make something even better. It really depends on whether you want "something better" or what's there works for you. I could give several reasons why making the effort to rebuild such a framework in Tcl would be interesting and unique (<mumble>real threads, real unicode, unique uses for vfs, ...</mumble). Jeff
* How about this? jaks combines the server-side Ajax windowing system Echo2 with the powerful simplicity of the Tcl langauge. The result is a rich development environment in which to develop Ajax-based web applications, often with much less code to write. * But it says this Running jaks requires Java 1.5 or higher. If you don't have Java already, you can download Java from http://java.sun.com. Get the JRE package if you just want to run jaks, or the SDK if you want to develop. All of the code should be able to run under Java 1.4, but I haven't compiled all of the libraries using a 1.4 compiler. Next release should include Java 1.4 support. ~~~ So I'm not quite sure if I would use this sense it doesn't sound feature complete yet. Has jaks been used in a real world application? Could this suffer the same fate as Apache Rivet? I really have to come up with something really fast otherwise I would end up using Ruby On Rails.
On May 15, 7:32 am, tcltk@aol.com wrote:
> * How about this? > jaks combines the server-side Ajax windowing system Echo2 with the > powerful simplicity of the Tcl langauge. The result is a rich > development environment in which to develop Ajax-based web > applications, often with much less code to write. > * But it says this > Running jaks requires Java 1.5 or higher. If you don't have Java > already, you can download Java fromhttp://java.sun.com. Get the JRE > package if you just want to run jaks, or the SDK if you want to > develop. All of the code should be able to run under Java 1.4, but I > haven't compiled all of the libraries using a 1.4 compiler. Next > release should include Java 1.4 support. > ~~~ > So I'm not quite sure if I would use this sense it doesn't sound > feature complete yet. Has jaks been used in a real world application? > Could this suffer the same fate as Apache Rivet? > I really have to come up with something really fast otherwise I would > end up using Ruby On Rails.
It's not about feature completeness. It's about how you do things. Neither Rivet nor Aejaks nor WebSh does it the way it's done in Rails. For example, assuming you have a simple database "superblog_development" set up with the tables "users" and "blogs". With Rails, without opening you code editor, from the command prompt type: > rails superblog > cd superblog/ > ruby script\generate users users > ruby script\generate blogs blogs
Now your "superblog" website is ready. If your webserver is configured to serve it then you can already open your web browser and start adding users to your database. All without writing a single line of code. From here you only need to write code to tie users and blogs together. Where's the script that generates the UI and database processing code? It's autogenerated by Rails. You just need to customize it. It's a different way of doing things. It's like Dreamweaver but from the command line. I do love Tcl and I don't really like Ruby but currently I know of no other system apart from fancy GUI apps like Dreamweaver that does what Rails does. Having said that, if I were to write something like Rails from scratch I'd most likely do it in Tcl. I mean, this is just fancy text processing with smart database abstraction. Tcl would be perfect for something like this.
> "Impractical" is defeatist bunk.
Certainly not impractical from a _technical_ point of view. However, it is going to take a lot of time, by someone who is organized and sets down to outline the requirements, etc. To be done well, and to become popular, it will require someone with an interest in writing code that will be used by others behind the scenes - someone who isn't afraid to learn about interfacing with ODBC and various database interfaces, someone who wants to learn about the cross-browser problems that one has when writing (or at least interfacing with), javascript and xml, etc. It will take time, energy, focus and motivation. Will it bring fame and glory? Likely not. Will the code written be appreciated by others? Most likely. Will someone decide to work on something like this? Possibly. It would make for a fun project... maybe someone out there has an interest in doing a thesis on such a topic?
On May 15, 11:19 am, "Larry W. Virden" <lvir@gmail.com> wrote: <snip> > It will take time, energy, focus and motivation. Will it bring fame > and glory? Likely not. Will the code written be appreciated by others? > Most likely. Will someone decide to work on something like this? > Possibly. It would make for a fun project... maybe someone out there > has an interest in doing a thesis on such a topic?
If a serious project developed I am sure there would be some help for it. I know I would just to take it as an opportunity to learn MORE Tcl. : ) Robert
On May 15, 8:09 pm, Robert Hicks <sigz@gmail.com> wrote: > On May 15, 11:19 am, "Larry W. Virden" <lvir @gmail.com> wrote: > <snip> > > It will take time, energy, focus and motivation. Will it bring fame > > and glory? Likely not. Will the code written be appreciated by others? > > Most likely. Will someone decide to work on something like this? > > Possibly. It would make for a fun project... maybe someone out there > > has an interest in doing a thesis on such a topic? > If a serious project developed I am sure there would be some help for > it. I know I would just to take it as an opportunity to learn MORE > Tcl. : )
Rivet was a serious project for a number of years, and little to no help was forthcoming. Mark Roseman's point is that the "Tcl community" is basically not up to the task of creating something like this. We define "community" as a population of individuals large enough to produce a few that have the time, energy, motivation and skills to create "Tcl on Toboggans", rather than a group of people who all collaborate on something.
On May 15, 3:16 pm, "davidnwel@gmail.com" <davidnwel@gmail.com> wrote:
> On May 15, 8:09 pm, Robert Hicks <sigz @gmail.com> wrote: > > On May 15, 11:19 am, "Larry W. Virden" <lvir@gmail.com> wrote: > > <snip> > > > It will take time, energy, focus and motivation. Will it bring fame > > > and glory? Likely not. Will the code written be appreciated by others? > > > Most likely. Will someone decide to work on something like this? > > > Possibly. It would make for a fun project... maybe someone out there > > > has an interest in doing a thesis on such a topic? > > If a serious project developed I am sure there would be some help for > > it. I know I would just to take it as an opportunity to learn MORE > > Tcl. : ) > Rivet was a serious project for a number of years, and little to no > help was forthcoming.
I know and I think that the Tcl community should have "supported" it somehow. There is a difference though. You wouldn't have to know "C" to hack on "Tcl on Rails" where that was something you had to have or had to learn to contribute to Rivet. Not throwing excuses or anything out as I wasn't around in Rivet's hey day. > Mark Roseman's point is that the "Tcl community" is basically not up > to the task of creating something like this. We define "community" as > a population of individuals large enough to produce a few that have > the time, energy, motivation and skills to create "Tcl on Toboggans", > rather than a group of people who all collaborate on something.
I agree with him about the time and effort that nobody would want to contribute. That is why it isn't doable. It would take a lot of both of those. Robert
davidnwel @gmail.com wrote: > On May 15, 8:09 pm, Robert Hicks <sigz @gmail.com> wrote: >> On May 15, 11:19 am, "Larry W. Virden" <lvir @gmail.com> wrote: >> <snip> >>> It will take time, energy, focus and motivation. Will it bring fame >>> and glory? Likely not. Will the code written be appreciated by others? >>> Most likely. Will someone decide to work on something like this? >>> Possibly. It would make for a fun project... maybe someone out there >>> has an interest in doing a thesis on such a topic? >> If a serious project developed I am sure there would be some help for >> it. I know I would just to take it as an opportunity to learn MORE >> Tcl. : ) > Rivet was a serious project for a number of years, and little to no > help was forthcoming. > Mark Roseman's point is that the "Tcl community" is basically not up > to the task of creating something like this. We define "community" as > a population of individuals large enough to produce a few that have > the time, energy, motivation and skills to create "Tcl on Toboggans", > rather than a group of people who all collaborate on something.
Ruby on Rails is an interesting case to consider when people complain that Tcl/Tk has lousy marketing. There's no doubt that Ruby on Rails has terrific marketing. But I'm wondering if a backlash will develop. Anything that is hyped so much as RoR often goes through a "correction" (to borrow a stock market term) before it settles in to a stable niche in the market. I can definitely say that I've looked briefly at Ruby and found it lacking in the areas that interest me, specifically desktop GUI development. It has Tk bindings, but I can't find any substantial examples of shipping Ruby/Tk applications; it seems less mature in this respect that Tcl/Tk or Python/Tk. Nor can I find any tools for deployment of standalone GUI Ruby apps that compare to starkits/starpacks, or apps built with py2exe/py2app in Python. Since I'm not a web developer, I don't have an opinion on the technical merits of RoR. But I don't see much value in trying to recreate RoR in Tcl. If Ruby on Rails addresses your problem domain, then learn Ruby and deploy your app on that framework. -- Kevin Walzer Code by Kevin http://www.codebykevin.com
s@controlq.com schrieb:
> On Mon, 14 May 2007, Mark Roseman wrote: >> "Larry W. Virden" <lvir @gmail.com> wrote: >>> If you are really asking "is there anything in the tcl community which >>> is equivalent", that's a different question. And my first response to >>> that question would be "I don't know anything about Ruby on Rails - >>> describe the detailed specific requirements you have on comp.lang.tcl >>> and ask if what existing tools come closest to meeting those >>> requirements"... >> Let me help... the answer is no, there is nothing that is equivalent or >> even close. And, as you noted, the amount of energy and expertise >> required to create one would be for all intents and purposes completely >> impractical. >> Mark > While true, Ruby/Rails is a large undertaking, there is nothing inherent > about tcl/tk which prevents a similar package from being implemented > other than lack of a community effort. Tcl/Tk has a number of things > already going for it which may serve as components: > SQLite and bindings for various databases
SQLite has a great DB binding for Tcl, but to compete with something like Rails, take a look at tcldb (see http://wiki.tcl.tk/14972). It has migrations similar to rails, nice support for various db backends and works just fine. > HTTP (various libraries)
HTTP is just one small part. Rails uses lots of Javascript with Prototype (which could trivially be used with Tcl too). > Apache/Rivet (a wonderful tool)
Rivet is fast and ok. > AFAICT, Rails offers a limited (restricted) view of relational tables to > provide a persistent object store (not in the strict sense) which > assumes a key structure specific to rails, and if adhered to, will make > coding web based dbms apps trivial from a programming effort. Great for > the 85% of apps which require same, but a bear for the other 15% that > require a bit more sophistication IMHO.
Its not too hard to get something Rails-like up and running in Tcl and for example XOTcl. (I have done it at my last job, sadly not publicly available). Its all the polishing and nice to haves of Rails that are the hard stuff. The basics are easy. The basic Rails stuff like ActiveRecord, Action Pack, Action Mailer are are fast to do. 1. Write a simple dispatcher that can dispatch to objects on urls (Wub or tclhttpd direct domains offer most of what you need) 2. Use a DB layer like tcldb and provide some simple accessors (tcldb already contains some) 3. Write some simple metaclasses for common db access stuff (the typical CRUD stuff of Rails and some find... etc. methods) 4. Use the Rivet templating engine for views (or use tdom + xslt or tml or whatever you like) 5. Add lots of polishing... Michael
On May 15, 4:15 pm, Kevin Walzer <k@codebykevin.com> wrote: <snip> > Since I'm not a web developer, I don't have an opinion on the technical > merits of RoR. But I don't see much value in trying to recreate RoR in > Tcl. If Ruby on Rails addresses your problem domain, then learn Ruby and > deploy your app on that framework.
Maybe not, but it would be nice to have a viable web framework for Tcl. Robert
On May 16, 5:35 am, Robert Hicks <sigz@gmail.com> wrote: > On May 15, 4:15 pm, Kevin Walzer <k @codebykevin.com> wrote: > <snip> > > Since I'm not a web developer, I don't have an opinion on the technical > > merits of RoR. But I don't see much value in trying to recreate RoR in > > Tcl. If Ruby on Rails addresses your problem domain, then learn Ruby and > > deploy your app on that framework. > Maybe not, but it would be nice to have a viable web framework for > Tcl.
In addition,the real value in implementing libraries from a Tcl world view is that other people, as side-effect, often gets the benefit (even when those very people insist that tcl is bad). Take a look at history: Tk, expect, swig, sqlite... Most of the dispatching mechanism for Rails is similar to most of the Tcl web frameworks. Currently we're missing a javascript/AJAX savvy GUI library/framework (Aejaks is nice and all but still depends on Java as it's back end), scaffolding generation and database migration system (though, it's not that hard to script but it's still nice to have an automatic tool that does it for you).
In article <1179285274.198311.287@w5g2000hsg.googlegroups.com>, slebet @yahoo.com <slebet @gmail.com> wrote: >In addition,the real value in implementing libraries from a Tcl world >view is that other people, as side-effect, often gets the benefit >(even when those very people insist that tcl is bad). Take a look at >history: Tk, expect, swig, sqlite... Agreed. How many folks knew anything about Ruby before Rails anyway? >Tcl web frameworks. Currently we're missing a javascript/AJAX savvy >GUI library/framework (Aejaks is nice and all but still depends on >Java as it's back end), scaffolding generation and database migration
Small rant - Tcl folk should stop thinking of Java as a boogey man. Aejaks lets you write Ajax/GUI apps in Tcl. Funny thing, your Tcl code has no idea it's being executed in a JVM. Jacl rocks. -- Tom Poindexter tpoin@nyx.net
Tom Poindexter wrote: > Tcl folk should stop thinking of Java as a boogey man. Aejaks lets you > write Ajax/GUI apps in Tcl. Funny thing, your Tcl code has no idea > it's being executed in a JVM. Jacl rocks.
The one problem with Java is that it is much more awkward to deploy applications with it, compared with Tcl. (OK, this reflects just how thoroughly we've solved the deployment area in the Tcl community; starpacks rock.) Typically, authors of Java programs accept these sorts of limitations and they have spurred on a lot of work in installers, but even so we've got them beat *utterly*. (Now, can we do this for other areas, like webapp containers? ;-)) Donal.
|
 |
 |
 |
 |
|