[Rd] [R-gui] 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-devel
mailing list