{"action":"created","issue":{"url":"https://api.github.com/repos/Fortran-FOSS-Programmers/Best_Practices/issues/10","labels_url":"https://api.github.com/repos/Fortran-FOSS-Programmers/Best_Practices/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/Fortran-FOSS-Programmers/Best_Practices/issues/10/comments","events_url":"https://api.github.com/repos/Fortran-FOSS-Programmers/Best_Practices/issues/10/events","html_url":"https://github.com/Fortran-FOSS-Programmers/Best_Practices/issues/10","id":127263134,"number":10,"title":"Is *explicit* better than implicit?","user":{"login":"szaghi","id":1661942,"avatar_url":"https://avatars.githubusercontent.com/u/1661942?v=3","gravatar_id":"","url":"https://api.github.com/users/szaghi","html_url":"https://github.com/szaghi","followers_url":"https://api.github.com/users/szaghi/followers","following_url":"https://api.github.com/users/szaghi/following{/other_user}","gists_url":"https://api.github.com/users/szaghi/gists{/gist_id}","starred_url":"https://api.github.com/users/szaghi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/szaghi/subscriptions","organizations_url":"https://api.github.com/users/szaghi/orgs","repos_url":"https://api.github.com/users/szaghi/repos","events_url":"https://api.github.com/users/szaghi/events{/privacy}","received_events_url":"https://api.github.com/users/szaghi/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Fortran-FOSS-Programmers/Best_Practices/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":53,"created_at":"2016-01-18T16:35:19Z","updated_at":"2016-01-22T15:44:32Z","closed_at":null,"body":"I feel that there is an almost unanimous agreement on that `implicit none` must be mandatory, but I guess many of you will provide interesting *exceptions*, so \r\n\r\n>do you agree to advice to be explicit? \r\n\r\nIn the case you disagree, please elaborate your idea. "},"comment":{"url":"https://api.github.com/repos/Fortran-FOSS-Programmers/Best_Practices/issues/comments/173956547","html_url":"https://github.com/Fortran-FOSS-Programmers/Best_Practices/issues/10#issuecomment-173956547","issue_url":"https://api.github.com/repos/Fortran-FOSS-Programmers/Best_Practices/issues/10","id":173956547,"user":{"login":"rouson","id":13108868,"avatar_url":"https://avatars.githubusercontent.com/u/13108868?v=3","gravatar_id":"","url":"https://api.github.com/users/rouson","html_url":"https://github.com/rouson","followers_url":"https://api.github.com/users/rouson/followers","following_url":"https://api.github.com/users/rouson/following{/other_user}","gists_url":"https://api.github.com/users/rouson/gists{/gist_id}","starred_url":"https://api.github.com/users/rouson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rouson/subscriptions","organizations_url":"https://api.github.com/users/rouson/orgs","repos_url":"https://api.github.com/users/rouson/repos","events_url":"https://api.github.com/users/rouson/events{/privacy}","received_events_url":"https://api.github.com/users/rouson/received_events","type":"User","site_admin":false},"created_at":"2016-01-22T15:44:32Z","updated_at":"2016-01-22T15:44:32Z","body":"Portability versus modernness is a very difficult question and I'm not confident there is one reasonable answer that can be clearly be identified as the correct answer (or even the consensus answer) in the abstract (meaning without a funded project with deadlines to drive the decisions).  I'll offer that one of the best pieces of advice I ever received was from the review my publisher solicited when I submitted my book proposal.  I was planning to use Fortran 95 to emulate OOP in my book.  The reviewer commented, \"If you really want the book to have lasting value, use the OOP features of Fortran 2003.\"  That was early in 2007 and I didn't now of any compilers that supported the OOP features of 2003 at the time.  It took upwards of six months to find out that IBM supported the features and to find IBM compiler test team engineer and Fortran standards committee member Jim Xia to work with me on learning the features and writing a journal article on design patterns in modern Fortran.\r\n\r\nArguably that reviewer's one comment had a greater impact on my career than any other single sentence of advice. It is a very large part of why I'm doing what I'm doing today. \r\n\r\nIf we want our work to have lasting value, I suggest we choose modernness over portability, assuming portability is defined by the ability to use a wide range of compilers.  \r\n\r\nAlternatively, if portability is defined by the ability to use a wide range of hardware, I suggest that most of Fortran 2008 and even a goodly chunk of Fortran 2015 can be used on a very wide range of hardware if one installs the current development branch of gfortran.  And for many people who would be uncomfortable installing the development branch themselves, I suggest installing OpenCoarrays, which will install gfortran for you if it does not detect gfortran in your path or if the gfortran version in your path is old.  (@zbeekman, let's get that next release out the door. ;) ) "}}