I notice that there is some discussion on this at http://developer.r-project.org/ under the links involving the word threading. Thus using the facilities of another language seems to be one approach and building such facilities into R itself another.
On 10/15/05, Philippe Grosjean <[EMAIL PROTECTED]> wrote: > Gabor Grothendieck wrote: > > The preferred solutions in the post all seem to involve another language: > > > > - tcl to use tk > > - Python to use wxWidgets > > > > and other solutions mentioned also seem to involve other languages: > > > > - Visual Basic > > - Java (Swing?) > > > > Is there some key missing feature in R with regards to GUIs > > that requires interposing another language? > > Yes, there is: R is designed for CLI, and this implies a different > approach as for a GUI (sequential execution of commands versus > event-driven application). A language more suitable for event-driven way > of programming is thus often interposed between R and the GUI itself. > Have you notice that none of "external" GUIs for R do all the job in R > itself. Perhaps, the closest one from a 100% R coded GUI is R Commander, > but it takes benefit from the specific event loop of tcltk (otherwise, > the whole GUI would be completelly frozen during all R computations), > and partly of Tcl (even if it is indirect). JGR is Java, SciViews-R is > Visual Basic, Tinn-R is Delphi, RKward is C++, etc... Of course, it is > possible to implement extensions in C directly within R (that is what > RGui does), another altenative, not favoured by "external" GUI > developpers, it seems. > best, > > PhG > > > On 10/15/05, Philippe Grosjean <[EMAIL PROTECTED]> wrote: > > > >>Hello, > >> > >>Following a discussion initiated on r-devel, that mentions SciViews-R > >>and other GUIs issues for R, I would like to make comments (and would be > >>happy if these comments would initiate interesting initiatives). > >> > >>A big, big problem with SciViews-R is that a part of it is written in > >>Visual Basic 6, a M$$$$ language, not supported any more, buggy, non > >>transposable to other platforms, etc, etc. Last year, I started to > >>rewrite SciViews-R, using much more native R code, which will ultimately > >>give what I call a "R GUI API", currently partly implemented in the > >>SciViews bundle available on CRAN. That "R GUI API" is a lot of work: > >>thousands of lines of code for the full API, and as I said, only a part > >>of it is currently implemented. That API is developed with reusability > >>in mind: platform-independent, better basis to rewrite SciViews-R in a > >>different language, and freely available for use by other GUIs. However, > >>nobody seems to be interested by this API (may be because it is not > >>documented enough?). Even simple functions like progress() in the svMisc > >>package are ignored, although they could be useful to some people. Well, > >>I regret this situation, but I don't care much more than that: after > >>all, the main goal is to make it the basis of the future > >>platform-independent implementation of SciViews-R. > >> > >>Now, regarding the rewritting of SciViews-R itself in a > >>platform-independent environment (i.e., language + graphical widget), > >>this is not undertaken currently for the reason I am not satisfied > >>enough with all curerently existing solutions for various reasons. I > >>give just a few explanations here: > >> > >>1) R + Tcl + Tk. The tcltk R package is widely available and largely > >>debugged. However, there are still problems to make a 100% Tcl console > >>for R (look at Peter Dalgaard's attempt in the package, not complete, > >>not 100% operational, currently). Another problem: the Tk widgets are a > >>little bit old-fashion, and I miss a lot of features provided by more > >>advanded graphical widgets like wxWidgets, for instance. However, it > >>seems to be the best bet, currently. So, I explore various kinds of > >>additions that could make Tcl + Tk a better and more modern GUI > >>implementation. Look at http://www.sciviews.org/SciViews-R... the > >>"tcltk2" package. In that package, I add "Tile", a series of themable > >>and more modern widgets, the famous "tkTable", a tooltip widget, a text > >>widget with synthax colouring, a tree widget, etc. + some Windows > >>specific stuff that help regarding problems like focusing on a Tk > >>window, and communicating with other apps. However, I face the problem > >>of installing all these additional widgets seemlessly under all > >>paltforms supported by R. For the pure Tcl widgets, no problems. But for > >>widgets with compiled code, like Tile or tkTable, this is much more > >>difficult... And since I mainly work on Windows... > >> > >>2) wxWidgets. This is a really great, very capable and > >>platform-independent solution. I like very much James Wettenhal attemps > >>of using wxPython (wxWidgets + Python) through RSPython and the > >>experimental wxPython R package. However, it is still alpha, there are > >>problems to finalize it, and his author is not continuing its > >>development for reasons that are personal to him. So, I am not sure we > >>will have a usable version available soon to integrate wxWidgets with R > >>and use it for a R GUI. > >> > >>3) JAVA. There is a good R GUI written in JAVA: JGR. Moreover, something > >>like the Eclipse platform is a very promizing environment for a > >>rich-featured R IDE. JAVA specialists in my University say such a GUI, > >>written in JAVA will be relatively slow compared to other solutions. > >>However, JGR is a good actual counter-example. > >> > >>4) GTK2. Great widgets... but forgets Windows. I installed and used Gimp > >>under Windows. This is certainly the best demonstration on what can be > >>done with GTK2 under Windows. I must admit I am very disappointed as a > >>Windows user: look&feel is very different, and irritating in several > >>aspects. > >> > >>So, a long mail to conclude that, if I still haven't started to > >>implement the platform-independent version of SciViews-R, it is because > >>I am not convinced that any of the currently available R + rich-featured > >>and platform-independent widgets solutions available is the one that > >>will make it possible to reimplement SciViews-R in a streamless and > >>relatively bug-free manner. To summarize, the currently best candidate > >>is R + tcltk + tcltk2. I am convinced that R + Python + wxWidgets is by > >>far a much better solution, but it is still in alpha development. > >>Eclipse + JGR looks promising, and GTK2 is there too, but not enough > >>integrated under Windows for me to start using such a solution, as a > >>Windows user. > >> > >>I don't have much time to dedicate to SciViews-R and to the Sciviews R > >>GUI API for the moment, and I will certainly focus on four hot topics: > >>(1) developing the actual SciViews-R as a better teaching aid (I use and > >>need it for my own courses!), (2) contributing to the development of > >>Tinn-R, (3) further integrating R Commander with SciViews-R, and (4) > >>integrating Rpad with SciViews-R. However, I will have various contracts > >>in 2006-2007 where the development of SciViews-R is a part of the job. > >>So, I will have the opportunity to hire one or two developers, and this > >>will hopefully speed up SciViews-R development in a directly that will > >>satisfy more users. > >> > >>Otherwise, I am open to any suggestion, and more importantly, to any > >>idea of collaboration with other R GUI developers, as it is currently > >>the case with John Fox (R Commander integration with SciViews-R), > >>Jose-Claudio Faria (Tinn-R developement and Tinn-R compatibility with > >>SciViews-R), and Tom Short (Rpad developments and compatibility with > >>SciViews-R). I think it is important to insist on this, in a world > >>populated with a myriad of slowly developed, half finished, half > >>featured R GUIs, made by people that look too individualist in my view > >>to be able of working all together and to write a single R GUI that has > >>any chance to be full-featured, well-documented, reasonnably bug-free, > >>truly platform-independent, in a near future. ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel