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)