Department of Computing Imperial College
Q&A on Linux: general queries
Note: answers on this page may not refer to software installed on DoC systems.

Do you know of any user friendly environments for C++?
How can I make software on my own PC available to all?
How can I run Linux on my PC at home?


Do you know of any user friendly environments for C++?

NB. this query came from a member of teaching staff in DoC.

It depends what you want. Microsoft's C++ environments aren't so much about C++ the language as Microsoft's libraries for it - MFC and so on. It seems to me that all C++ development environments are closely tied to a particular GUI and set of libraries. This is true for Java as well of course, but at least with Java it's the same GUI.

Do you teach graphical user interface development, or do students write command-line programs? Do you teach the C++ standard libraries and STL, or some other set of libraries like Microsoft's? Or is there a collection of DoC-specific toy libraries used for teaching? These factors will all affect the choice of an IDE.

Anyway, here's a list of what I found on Freshmeat:

Then some of the Java IDEs support C++ as well: C-Forge, CodeWarrior, SNiFF+, Source-Navigator,

There is a dilemma in choosing a C++ IDE. Do you choose one which is independent of any particular GUI, letting students learn 'pure' C++, but making it hard to write graphical applications? Or do you pick something like KDevelop which is geared towards producing apps for a particular environment, but maybe a bit excessive for learning just the language itself? If you are currently using Microsoft Visual Studio then my guess is that you prefer the latter option.

How can I make software on my own PC available to all?

Whether the software is accessible to all users depends mostly on the permissions. If the files you install are readable by all users, and the programs are executable by all users, that should be it.

I believe that files created by root are by default readable to everyone, and whatever installation procedure the software has should take care of making the necessary things executable. So it should just work.

If you are installing a new program called 'fred' in /usr/local/bin, you may find that users cannot run it just by typing 'fred' - they have to explicitly type '/usr/local/bin/fred'. You can fix this by asking users to put

setenv PATH "$PATH:/usr/local/bin"

in their .cshrc files in their home directory.

How can I run Linux on my PC at home? Top of page

Linux is a free rewrite of the UNIX operating system. A Linux distribution contains the Linux kernel and a selection of utilities, applications, and other software, chosen by the distributor to make a complete system. Different distributions have different software. They include Debian, Mandrake, RedHat, and SuSE. Some of these are mirrored on Sunsite. CSG currently uses Mandrake.

The IC Linux Users Group is probably the best place to go for further help. They run InstallFests fairly regularly, where they can install your favourite variant of Linux for you. Membership is free, and they have a number of open mailing lists which are a great source of support and information.

© CSG / 2001