[R-gui] [Rd] R GUI considerations (was: R, Wine, and multi-threadedness)

Peter Kleiweg pkleiweg at xs4all.nl
Thu Oct 20 01:59:32 CEST 2005


> On Oct 19, 2005, at 3:43 PM, Jeffrey J. Hallman wrote:


> > There is a better way, and that is to give up on R.  Start 
> > over with a better programming environment, one that is 
> > object oriented, as flexible and dynamic as R, is cross 
> > platform, easy to program in, and has decent GUI facilities 
> > already.  Then port the stuff in R that does statistical 
> > programming, and you have the best of all worlds.
> >
> > The environment I am thinking about is VisualWorks 
> > Smalltalk, which is free for noncommercial use.  As a 
> > language, Smalltalk is both simpler and more powerful than 
> > R, and the VM it runs on is much faster than the R 
> > interpreter. It has superior garbage collection and the best 
> > IDE in the business. Callouts to C are just as easy as they 
> > are in R, but would likely not be needed as often due to the 
> > faster VM and much better programming facilities. Interfaces 
> > to various databases are possible, and the most powerful web 
> > toolkit (Seaside) is written in Smalltalk and runs under 
> > VisualWorks.

My advice about VisualWorks Smalltalk: don't. It may work well 
on Windows. On Linux, it is a disaster. Nothing works the way it 
is supposed to on Linux. I have tried one application in 
VisualWorks: BottomFeeder. Dozens of versions and bug fixed. But 
there are no fixed for the incompatibility between the virtual 
machine and my Linux box. It can't display jpeg's. Windows keep 
jumping around the screen. It doesn't know about size of fonts, 
so on many parts of the interface, parts of text are missing. 
Standard key combinations, copy and paste, all work completely 
different from other Linux applications. You can't install the 
program in the Unix way. It saves its internal state in a binary 
form that gets being corrupted, and you have to make a clean 
install regularly, loosing all your old data.

Mind you, this is software developed by someone from 
VisualWorks, presenting this as the prize horse of what 
VisualWorks is capable of.


> > There are a couple of other Smalltalk environments around 
> > that could also be considered.  Squeak is an open source 
> > cross-platform Smalltalk that is not as fast as VisualWorks, 
> > but still must faster and more robust than the R 
> > interpreter.  Smalltalk/X is another possibility, though it 
> > works only on Windows and Unix.

Squeak works much better on Linux than VisualWorks, but it still 
shares many disadvantages with VisualWorks. The main obstacle is 
its use of a virtual machine for everything. It is like working 
in a completely different environment, were none of the rules of 
your usual environment apply. You cannot use your favourite 
software to do your programming and organising. I write programs 
in Python, C, PostScript, R, and half a dozen other regularly, 
all from Emacs. If I want to program VisualWorks or Squeak, I 
have to do so from within VisualWorks or Squeak, with its own 
editor. I can use none of the tools I rely on for all my other 
tasks. And of course, something written in VisualWorks is 
completely useless in Squeak, and vice versa.

> > Think about it.  Once you have a basic math package that can 
> > handle matrix programming and various mathematical 
> > functions, building the various statistical modeling tools 
> > on top of them is not that hard.  What makes S and R so much 
> > better than SAS is their programmability.  Smalltalk is like 
> > that, only better.

No. A program should respect the user's chose of platform. I 
write a program in Python with Tk. On Linux it looks and feels 
like a Linux program. On Windows, it looks and feels like a 
Windows program.

Why would you want a GUI for something like R in the first 
place? It is a programming language. That is its force. Nothing 
beats the command line. A GUI can never offer the same power, 
unless it offers the same openness as the OS it is running on. 
It has to incorporate an editor to do the programming. Except 
without the GUI, I can use any editor I like. I don't need a 
GUI. Linux running X and my favourite windows manager is all the 
GUI I need.


-- 
Peter Kleiweg
http://www.let.rug.nl/~kleiweg/



More information about the R-SIG-GUI mailing list