www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - =?windows-1252?Q?Gsoc_Mentor_summit=85_and_fortran_=3B=29?=

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)=85
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=3D5; f(); assert(x=3D=3D5);. 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.

Oct 27 2011