<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Object oriented\ Excel in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986607#M100883</link>
    <description>IMHO Fortran 2003 has enough capabilities to create object-oriented programs. It may not be the style&lt;BR /&gt;of OOP that is encouraged by C++, for instance Fortran 2003 has no multiple inheritance, but every OO &lt;BR /&gt;language that I know of has its own style of OOP. Fortran does not emphasize the role of classes in the same&lt;BR /&gt;way as C++ for instance. &lt;BR /&gt;&lt;BR /&gt;It can even do things that are not as easy or as transparent in C++. For instance: procedure pointers and &lt;BR /&gt;type-bound procedures use the very same syntax. That means that it is irrelevant to the using code how &lt;BR /&gt;the&amp;nbsp;procedure is bound to the object. A simple example: "age"-dependent behaviour of an object &lt;BR /&gt;representing some animal:&lt;BR /&gt;&lt;BR /&gt;type :: animal &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; procedure(behave_in_some_way) :: behave&lt;BR /&gt;contains&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR /&gt;end type&lt;BR /&gt;&lt;BR /&gt;if ( this%age &amp;gt; 2.0 ) then ! Animal becomes mature after 2 years&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this%behave =&amp;gt; behave_as_adult&lt;BR /&gt;endif&lt;BR /&gt;&lt;BR /&gt;The procedure "this%behave" can be changed dynamically per object. (I have adapted this from &lt;BR /&gt;my book "Modern Fortran in Practice")&lt;BR /&gt;&lt;BR /&gt;I am not claiming that it is always easy to use an object-oriented programming style in Fortran,&lt;BR /&gt;but it definitely is possible and practical. Even before Fortran 2003, you could achieve nice results.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Arjen</description>
    <pubDate>Mon, 27 Aug 2012 06:43:54 GMT</pubDate>
    <dc:creator>Arjen_Markus</dc:creator>
    <dc:date>2012-08-27T06:43:54Z</dc:date>
    <item>
      <title>Object oriented\\ Excel</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986602#M100878</link>
      <description>Hi&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; I have two questions about ifort:&lt;BR /&gt;&lt;BR /&gt;1. Does modern Fortran(2003-2008) supports all the requirements of object oriented programming compared to C++ ? If not,what are those capabilities and what is their usage? &lt;BR /&gt;&lt;BR /&gt;2. Is it possible to open an excel file in fortran and manipulate the data in different sheets of the file and then save and close it?If so,how?&lt;BR /&gt;&lt;BR /&gt;Thanks</description>
      <pubDate>Fri, 24 Aug 2012 13:54:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986602#M100878</guid>
      <dc:creator>BABAK</dc:creator>
      <dc:date>2012-08-24T13:54:59Z</dc:date>
    </item>
    <item>
      <title>Object oriented\ Excel</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986603#M100879</link>
      <description>I am not sure how one answers your first question.&amp;nbsp; What are these "requirements"?&amp;nbsp; Fortran's OO support does not match C++ feature-for-feature.&amp;nbsp; For example, while it has destructors (finalizers) it does not have constructors (though you can fake it with your own generic declaration.)&amp;nbsp; Fortran was careful to adopt the most useful part of OO without going down the rabbit hole that C++ did.&lt;BR /&gt;&lt;BR /&gt;As for your second question, yes, it is possible.&amp;nbsp; There is an example provided with the product in the COM zip file, and I have seen users contribute code here in the forum.</description>
      <pubDate>Fri, 24 Aug 2012 14:47:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986603#M100879</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2012-08-24T14:47:29Z</dc:date>
    </item>
    <item>
      <title>Object oriented\ Excel</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986604#M100880</link>
      <description>Hi again:&lt;BR /&gt;&lt;BR /&gt;I meant does fortran has all the capabilities to write a code completely in OOP and doesn't lack any necessary feature?</description>
      <pubDate>Fri, 24 Aug 2012 15:29:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986604#M100880</guid>
      <dc:creator>BABAK</dc:creator>
      <dc:date>2012-08-24T15:29:02Z</dc:date>
    </item>
    <item>
      <title>Object oriented\ Excel</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986605#M100881</link>
      <description>It depends on your definition of OOP and "necessary".&amp;nbsp; Fortran certainly has the major aspects of OOP: extensibility, polymorphism and type-bound procedures.&amp;nbsp; You tell me what you think is necessary and I can tell you if Fortran has it.&amp;nbsp; Nobody is claiming that Fortran has every OOP feature ever conceived.</description>
      <pubDate>Fri, 24 Aug 2012 17:47:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986605#M100881</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2012-08-24T17:47:17Z</dc:date>
    </item>
    <item>
      <title>Object oriented\ Excel</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986606#M100882</link>
      <description>Question 1 I shall leave to Steve.&lt;BR /&gt;Question 2 appears to&amp;nbsp; not linked to question 1, and leads me to ask what is the driving force behind it?&lt;BR /&gt;Excel clearly can use Visual basic (which is pefectly adapted for OOP) to control Windows objects as well as run non-VBS code from DLL's - which may be derived from Fortran code having the correct calling convention - via the Declare statement. Why not just learn some VBA which can open Excel and all sorts of other objects? I don't think that we Fortran programmers are so hidebound to think every thing needs to be done in Fortran if there is an easier way in another language whose basics are relatively easy to learn.</description>
      <pubDate>Sat, 25 Aug 2012 14:53:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986606#M100882</guid>
      <dc:creator>anthonyrichards</dc:creator>
      <dc:date>2012-08-25T14:53:25Z</dc:date>
    </item>
    <item>
      <title>Object oriented\ Excel</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986607#M100883</link>
      <description>IMHO Fortran 2003 has enough capabilities to create object-oriented programs. It may not be the style&lt;BR /&gt;of OOP that is encouraged by C++, for instance Fortran 2003 has no multiple inheritance, but every OO &lt;BR /&gt;language that I know of has its own style of OOP. Fortran does not emphasize the role of classes in the same&lt;BR /&gt;way as C++ for instance. &lt;BR /&gt;&lt;BR /&gt;It can even do things that are not as easy or as transparent in C++. For instance: procedure pointers and &lt;BR /&gt;type-bound procedures use the very same syntax. That means that it is irrelevant to the using code how &lt;BR /&gt;the&amp;nbsp;procedure is bound to the object. A simple example: "age"-dependent behaviour of an object &lt;BR /&gt;representing some animal:&lt;BR /&gt;&lt;BR /&gt;type :: animal &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; procedure(behave_in_some_way) :: behave&lt;BR /&gt;contains&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR /&gt;end type&lt;BR /&gt;&lt;BR /&gt;if ( this%age &amp;gt; 2.0 ) then ! Animal becomes mature after 2 years&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this%behave =&amp;gt; behave_as_adult&lt;BR /&gt;endif&lt;BR /&gt;&lt;BR /&gt;The procedure "this%behave" can be changed dynamically per object. (I have adapted this from &lt;BR /&gt;my book "Modern Fortran in Practice")&lt;BR /&gt;&lt;BR /&gt;I am not claiming that it is always easy to use an object-oriented programming style in Fortran,&lt;BR /&gt;but it definitely is possible and practical. Even before Fortran 2003, you could achieve nice results.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Arjen</description>
      <pubDate>Mon, 27 Aug 2012 06:43:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Object-oriented-Excel/m-p/986607#M100883</guid>
      <dc:creator>Arjen_Markus</dc:creator>
      <dc:date>2012-08-27T06:43:54Z</dc:date>
    </item>
  </channel>
</rss>

