This is the mail archive of the
mailing list for the Cygwin project.
Re: Starter C compiler - Win95
- To: "Richard Thorton" <richard at lwts dot org dot uk>, gnu-win32 at cygnus dot com
- Subject: Re: Starter C compiler - Win95
- From: "Valery Fine" <fine at mail dot cern dot ch>
- Date: Sun, 17 Aug 1997 21:48:57 +0100
- Organization: CERN/PPE/NA49
- Reply-to: fine at mail dot cern dot ch
On 15 Aug 97 at 10:18, Richard Thorton wrote:
> Im looking to find a C compiler to learn C.
> Is the GNU Win32 compiler a sound one to start with. I havent used
> any other program apart from basic BASIC at college many years ago.
> I thought C might be the place to start.
> Any help appreciated.
Try ROOT/Cint package. It includes C/C++ interpreter, plenty of
graphics and Network facilities. It does make C/C++ as easy as BASIC.
You welcome to visit our Web site
I've attached an abstract of CINT for your info too.
With my best regards,
============ Attachment follows =======================
Date sent: Sat, 09 Aug 1997 13:59:00 +0900
Subject: CINT book abstract
Here is a crude translation of my CINT book's preface.
What is CINT?
Computer software is used everywhere and its' importance is decisively
Not only products like Personal Computers and Workstations, which are
evidently sold as computers, many of the electronic devices we use
in our life are controlled by microprocessors and software operating
Application spreads all around scientific and engineering field
as well as economy, management, etc...
Software is already a fundamental component in today's society.
With the increasing importance of software, productivity of its'
development becomes an important issue.
As software is used for wider range of application, there are
increasing number of occasions that software professional has to
work with expert in other professional area.
Excellent results can only be obtained by making the best use of both
software and non-software expertise.
Hence, a good programming environment to support cooperative work
between software and non-software professionals is demanded.
(Fig 0.1 software and non-software professionals working together)
Thanks to price decrease and proliferation of personal computers,
writing a small computer program is not a special skill anymore.
Most of the non-software expert can write some sort of computer
It is feasible enough that non-software professional communicates with
software professional directly using computer language.
It is especially important to privide such environment for C/C++
because it is the most popular programming language today.
# C++ is made for the serious programmer
In "The C++ Programming Language Second Edition", Dr. Bjarn Stroustrup
states that "C++ is a general purpose programming language designed to
make programming more enjoyable for the serious programmer."
As represented in his words, existing C++ development environment
focuses on professional programmer who develops serious application.
Such environment is often inadequate for non-software professional
who writes program only part-time.
Complexity of C++ is an obstacle for a beginner, however, there are
number of good books about learning C++ so that non-software
professinal can learn C/C++ to his needs.
What bothers us in a real-world situation is a compiler/linker problem.
Long turn-around-time disturbs creative thinking.
You may spend a couple of days just digging out unresolved symbols in
a huge software library.
It is not desirable for non-software professional to spend time
on such thing.
(Fig 0.2 Compiler vs Interpreter)
# We need an everybody-can-use interpreter
BASIC interpreter has been widely accepted by computer beginners.
It is very nice if we have good interpreter environment for C/C++ too.
Ease of use and short turn-around-time of the interpreter is highly
appreciated by the non-software professional who makes many
experimental changes in a small program.
I needed C++ interpreter myself in 1990.
C/C++ interpreter would have perfectly fit to my need as a bridge
between software and non-software professional.
There was a commercial C/C++ interpreter, but the license fee was
expensive and it had substantial limitation.
We also tried script languages such as Perl, but nothing fulfilled
I wanted to avoid making C/C++ interpreter by myself.
But, without having alternative, I finally decided to undertake
development of CINT C++ interpreter.
The first version is created in March 1991.
We immediately applied it to a running project, where
we saw significant improvement on productivity and creativity.
After many enhancments, in February 1996, I started to expose CINT
as a free software from CERN, The European High Energy Physics
# CINT combines benefit of interpreter and compiler
CINT consists of "cint" , the C/C++ interpreter, and "makecint" ,
"cint" can be used standalone as a prototyping tool or for educational
But, the true merit can be obtained by using "makecint".
Makecint encapsurates arbitrary C/C++ object into the interpreter
as precompiled library.
In existing script language environment, script and compiled code have
to be written in different language and interface method between them
has to be manually defined.
CINT automatically makes interface method so that the interpreter and
precompiled library can access each other.
It provides a single language solution combining benefit of
interpreter and compiler.
A script which is originally developped for interpreter can later be
compiled and embedded into the interpreter.
Or precompiled library can temporarily be interpreted.
Precompiled library can be linked together with the interpreter as
archived library, or can be configured as DLL(Dynamic Link Library)
which can be loaded at run time.
With this feature, huge library written by software professional can
be embedded into the interpreter and used easily by non-software
(Fig 0.3 Concept of cint/makecint)
CINT operates with arbitrary ANSI C/C++ compiler.
It currently works on HP-UX, Linux, Solaris, SunOS, AIX, IRIX, ALPHA-OSF,
FreeBSD, NetBSD, BeBox, Windows-NT/95, MS-DOS, MacOS, Convex, etc...
If you feel C++ is too difficult, you can use CINT with C compiler only.
CINT has other features.
Interpreter should inherently be a dynamic environment.
C/C++ is defined as a compiler language, however, CINT extends its'
capability without changing language definition.
Source code and DLL can be loaded/unloaded at run time.
C/C++ statement can be evaluated from command prompt.
Security mode is introduced as an option to improve robustness
issue such as memory leak and access through bad pointer.
CINT is already used in many research institutes and companies.
User community is rapidly growing.
# How to use this book
I tried to explain everything about CINT in this book.
Detail usage and advanced technique will be described with
Reference of all special commands and APIs are descrived so that
you can make the best use of CINT.
Chapter 1. Getting started: cint, the interpreter
Chapter 2. Concept and background
Chapter 3. Getting started: makecint, the interpreter-compiler
Chapter 4. Cint advanced information
Chapter 5. Makecint advanced information
Chapter 6. Concept of C++ script
Chapter 7. Example of real-world application
Appendix1. CINT keyword reference
Appendix2. cint command line option
Appendix3. makecint command line option
Appendix4. cint debugger interface command
Appendix5. Syntax limitation
The first part explains basic information of using CINT.
Chapter 1 describes basic information about cint interpreter
Chapter 2 explains feature and concept behind it.
Chapter 3 describes basic information about makecint interpreter-compiler
Second part explains advanced information.
Chapter 4 and 5 describes advanced feature and usage of cint and makecint.
Chapter 6 explains concept of C++ script which is an idea of easy-to-use
Chapter 7 describes how CINT is used in real-world applications.
ROOT/CINT, which is jointly developped with CERN, is a remarkable
It is a new generation Object Oriented Framework.
You don't need to read through every chapter.
Please use "Readers hint" at the beginning of each chapter as a
guide to get information quickly.
I'd like to say thank you to all people who supported CINT and my activity.
Junichi Mizoguchi in Hewlett-Packard Japan invented basic concept of
Shirou Tsuruda has deep understanding about advanced technology and
promoted CINT as a standarized productivity tool in Hewlett-Packard
Japan Hachioji division.
Tatsuya Saito and Hiroshi Nada gave me chances to publicly introduce CINT.
Dr. Fons Rademakers, Dr. Rene Brun, Dr. Valery Fine and Dr. Andres Sandoval
in CERN made great contribution to the quality and evolution of CINT.
Osamu Kotanigawa in Fuji Xerox, Mr. Tomina in Nihon-Denshi-Keisan, and
Dr. Otofuji in Akita University contributed porting of CINT to various
Kiyoshi Yamamoto in CQ publishing gave me opportunity to write this book
and articles in Interface magazine.
Masaharu Goto (email@example.com , MXJ02154@niftyserve.or.jp
Dr. Valery Fine Telex : 911621 dubna su
LCTA/Joint Inst.for NuclearRes Phone : +7 09621 6 40 80
141980 Dubna, Moscow region Fax : +7 09621 6 51 45
Dr. Valeri Faine
------------ Phone: +41 22 767 6468
CERN FAX : +41 22 767 7910
CH-1211 Geneva, 23 mailto:firstname.lastname@example.org
For help on using this list (especially unsubscribing), send a message to
"email@example.com" with one line of text: "help".