Paolo Bonzini wrote, On Friday 25 January 2013 05:38 PM:
Il 25/01/2013 08:24, Uday P. Khedker ha scritto:
Exactly. We have been using our training program since 2007 (and have
been incrementally refining it on a continuously). Our experience has
been that it has brought down the ramp up period of novices to a couple
of week.

A couple of weeks is really unbelievable.  Congratulations!


Thanks!

Yes, it does look incredible but the material at 
http://www.cse.iitb.ac.in/grc/gcc-workshop-12/ was developed over four years 
and has been continuously refined for five years (so it is a nine years' effort 
on part of my group).

Some of my most brilliant minds toiled hard to ask simple questions eg. what is 
the _minimal_ machine description for GCC, how can we incrementally refine 
machine descriptions, can machine descriptions be any simpler, what are the 
programming assignments that one should do to be sufficiently independent (and 
ask meaningful questions on the gcc mailing list!), what is the overall 
structure of the compiler generator, what is the overall structure of the 
generated compiler, what is the retargetability mechanism (i.e. what is the 
relationship of the md file with the generated compiler) etc.

We had to find the right balance between details and concepts and that is what took most of the time. We did 
not want "information" to be the focus. We wanted the "understanding of the learner" to 
be the main focus. The training program is called "Essential Abstractions in GCC"; all of which are 
summarized in 
http://www.cse.iitb.ac.in/grc/gcc-workshop-12/downloads/slides/gccw12-essential-abstractions.pdf.

Needless to say, there is a lot of scope for improvement :-)

I would be happy if this becomes acceptable as the first course in GCC. A side 
benefit of doing so is that then it will be easier for me to pick the minds of 
the developers for improving it :-)

Uday.

P.S. : May be I am belabouring the point, but for me there is a lot of 
difference between the following two responses:

       (a) "You are free to develop any training material and hook it up via gcc 
wiki".
       (b) "Let us adopt this as the first course and we all will give inputs on how 
it can be refined and made better".

       Response (a) is a tautology but it also limits the reach and the 
effectiveness of the course. It also contributes to confusing a newcomer.
--
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dr. Uday Khedker
Professor
Department of Computer Science & Engg.
IIT Bombay, Powai, Mumbai 400 076, India.
Email   :       u...@cse.iitb.ac.in
Homepage:       http://www.cse.iitb.ac.in/~uday
Phone   :       
Office -        91 (22) 2572 2545 x 7717, 91 (22) 2576 7717 (Direct)
Res.   -        91 (22) 2572 2545 x 8717, 91 (22) 2576 8717 (Direct)


Reply via email to