|Posted by Fawzi Mohamed||PermalinkReply|
I came back from the Goggle Summer of Code mentor summit.
It was nice to see many people from other open source communities, and meet David face to face ;).
We did try to leave some notes to remember what we said and for those who could not attend, but this wasn't the strong point of this conference, but it did improve (at least my note taking activity did)…
Anyway if you are interested to have a glimpse on what was discussed you can go to http://gsoc-wiki.osuosl.org/index.php/2011
David and me obviously did try to show how nice D is, but we also saw the cool stuff other are doing, and discussed both the practical and the more philosophical aspects of open source.
For example from the unexpected interesting stuff I can tell of a discussion that I had with Tobias Burnus that works on fortran fronted I realized that intent(in) in fortran is very close to immutable (actually even stronger, as it guarantees that the pointer will not escape, so the compiler is even ok in copying stuff on entry (this also for intent(inout), which had no real corresponding thing in D).
intent(inout) x even guarantees that x=5; f(); assert(x==5);. f can obviously also have x as intent(in).
Fortran does this to give the optimizer as much freedom as possible.
D doesn't have all that, but with immutable and pure, it can use some of the same optimizations.
Indeed it is possible that gdc could use some of the fortran annotations something that I promptly mailed Iain.
Here the different philosophy is visible: D give safe primitives, and behavior, and try to optimize; fortran choose fast options, define it as the way things work, and make the programmer job to make sure he uses things right, something that is simplified for the fact that fortran is typically threaded only through OpenMP.