forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

VS2017 updated plugin

 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Suggestions
View previous topic :: View next topic  
Author Message
alex21



Joined: 20 Apr 2011
Posts: 49
Location: Australia

PostPosted: Wed May 23, 2018 3:41 am    Post subject: VS2017 updated plugin Reply with quote

New C# language features no longer work in VS2015 with MS seemingly having written the version off and out of maintinance already...

However support for VS2017 seems great and it is being updated frequently, so I was wondering if there is currently a plan to support it with the FTN95 plugin? Otherwise to suggest that VS2017 plugin would be a great help to people who want to use new C# language features alongside their FTN95 projects.

Thanks,
Alex.


Last edited by alex21 on Mon May 28, 2018 10:13 pm; edited 1 time in total
Back to top
View user's profile Send private message MSN Messenger
KL



Joined: 16 Nov 2009
Posts: 115

PostPosted: Mon May 28, 2018 9:24 am    Post subject: Reply with quote

I completely agree and support the suggestion of Alex.

It seems that with the FTN95 .NET compiler option Fortran has become one of several .NET languages which communicate through the Common Intermediated Language. Recent own tests show that it is possible to call within Visual Studio a Fortran program (project) as dll from another project written in another .NET language, in my case C#. This is similar to call a C# project from a Visual Basic project which for instance organizes the GUI.

For doing this, the Fortran main program should best be condensed to a subroutine, say “Subroutine DriverProgramxy”. This subroutine is just called as method from the C# project (“ DRIVERPROGRAMXY(); ”). That is all. Any single subroutine could be called in a similar way. Does this .NET multilingual approach not seem to be extremely promising? It could help keeping older Fortran programs alive with a very reasonable effort.

The Fortran project which I used for testing is of small to medium size but of rather high complexity, i.e. all “interesting” Fortran features are included. As Fortran program it has been tested successfully also with other Fortran compilers.

The good message is -as mentioned above- that calling the Fortran program from a C# program finally worked. The less good message is that during the analyses I experienced numerous problems, for example:

For Plato 4.83 only 8 of the compiler options work; Checkmate x64 fails. For Visual Studio Community 2015 with the Ftn95 plug-in Checkmate .NET fails.

The result for producing dlls is even more problematic:

Plato 4.83 does not produce any of the win32 dlls (error message is “Cannot create DLL: nothing to export”). However, the .NET and win64 dlls are produced which indicates that for these options the defaults are set correctly. The .NET Release dll has been used for testing.

For Visual Studio Community 2015 with the Ftn95 plug-in the Fortran dlls cannot be created. The error message is either again “Cannot create DLL: nothing to export” or an *.pdb file is created instead of the dll file set in the project property window. Here my knowledge is simply insufficient and as user I would need more detailed information.

It is relatively unclear what additional libraries must be added as reference. I have referenced ftn95lib.dll. However, there are two further libraries (ftn95lib.mdl and ftn95lib1.mdl), which are not accepted by Visual Studio to be included as reference. I have simply copied both into the directories Debug and Release of the C# project.

In summary: The multilingual .NET approach seems to be promising, but the Ftn95 plug-in for Visual Studio needs further attention and documentation. A revised plug-in for Visual Studio Community 2017 could be an important contribution for using the many older Fortran programs in a modern environment.

Klaus
Back to top
View user's profile Send private message
John-Silver



Joined: 30 Jul 2013
Posts: 812

PostPosted: Tue Jun 05, 2018 9:01 pm    Post subject: Reply with quote

This .NET mularkey is all very well and good in theory, but I've never yet seen a good, simple explanation of how it works, nor exactly hos in practice it should be 'applied'.
Until that happens the general demand for it must be seen as 'limited' and the expectation of an update to cater for VS 2017 Community let's say 'optimistic' , whrn there are other much more imporrtant shortcomings to fix first. It's called the law of ecoměnomics I think.
Just my opinion.
_________________
"This is the triumph of folly.
The machine, which knows no rest, ought to remain a tool,
... but instead becomes our master and will swallow up our life and soul"
Back to top
View user's profile Send private message
narayanamoorthy_k



Joined: 19 Jun 2014
Posts: 136
Location: Chennai, IN

PostPosted: Wed Jun 06, 2018 2:58 pm    Post subject: Reply with quote

KL/Paul

Is there PLATO 4.83 Available for download in our SilverFrost site. Please let me know. I am still using 4.81.

Thanks,
_________________
Thanks and Regards
Moorthy
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 5367
Location: Salford, UK

PostPosted: Wed Jun 06, 2018 3:30 pm    Post subject: Reply with quote

The current release is v4.83 and I am pretty sure that it is available to everyone.
Back to top
View user's profile Send private message
narayanamoorthy_k



Joined: 19 Jun 2014
Posts: 136
Location: Chennai, IN

PostPosted: Wed Jun 06, 2018 7:13 pm    Post subject: Reply with quote

Is this part of FTN95 PE 8.30?
_________________
Thanks and Regards
Moorthy
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 5367
Location: Salford, UK

PostPosted: Wed Jun 06, 2018 8:54 pm    Post subject: Reply with quote

Yes. You should find it there.
Back to top
View user's profile Send private message
alex21



Joined: 20 Apr 2011
Posts: 49
Location: Australia

PostPosted: Wed Jun 06, 2018 10:35 pm    Post subject: Re: Reply with quote

John-Silver wrote:
This .NET mularkey is all very well and good in theory, but I've never yet seen a good, simple explanation of how it works, nor exactly hos in practice it should be 'applied'.
Until that happens the general demand for it must be seen as 'limited' and the expectation of an update to cater for VS 2017 Community let's say 'optimistic' , whrn there are other much more imporrtant shortcomings to fix first. It's called the law of ecoměnomics I think.
Just my opinion.


You can figure it out pretty easily from the documentation, however there are a number of undocumented linker bugs which can make compiling source code a nightmare.

They need to at least support a working version of VS to make the .NET integration anything less then a nightmare for people who have not used it before.

Currently I have debugged the VS plugin and written a few build scripts to parse the Silverfrost project file and determine dependencies before building them in the correct order and linking them. So I can build my Silverfrost FTN95 .NET assemblies in later versions of VS then 2015 but this makes for a very crappy debugging experience...

The only reason we purchase this compiler is because of its .NET integrations but there are actually much nicer FTN compilers available if we just wanted to compile Win32 binaries...

@Paul can you give any updates on plugin development? Especially with the release of VS2019 announced?

Thanks,
Alex.
Back to top
View user's profile Send private message MSN Messenger
DanRRight



Joined: 10 Mar 2008
Posts: 1821
Location: South Pole, Antarctica

PostPosted: Wed Jun 06, 2018 11:04 pm    Post subject: Re: Reply with quote

alex21 wrote:
but there are actually much nicer FTN compilers available if we just wanted to compile Win32 binaries...


And after 30 years of waiting for nicer FTN compilers then Salford FTN77 and then Silverfrost FTN95 you will tell us that they are...?
Back to top
View user's profile Send private message
John-Silver



Joined: 30 Jul 2013
Posts: 812

PostPosted: Sat Jun 09, 2018 9:20 pm    Post subject: Reply with quote

... and why hey're better of course

Compilers are very subjective things. Each maybe has 'something' which 'catches' the user, some fancy bell or whistle which hooks the prey. For example, give me a fortran compiler with nice integrated professional plotting facilities and I'd be mighty tempted to jump ship LOL

A software developer's motto would be:-
'we do well what YOU the user wants ... and if you're lucky some of our bells & whistles will please you too''

'a 'best compiler' is therefore a bit of an endless string of competing baited hooks

We all (users, developers, everyone) sometimes forget that developing any program, let alone a compiler, is oft a tortuous route

I praise the lord that there is such a choice. Long live FORTRAN !!!
_________________
"This is the triumph of folly.
The machine, which knows no rest, ought to remain a tool,
... but instead becomes our master and will swallow up our life and soul"
Back to top
View user's profile Send private message
alex21



Joined: 20 Apr 2011
Posts: 49
Location: Australia

PostPosted: Mon Jun 11, 2018 10:25 pm    Post subject: Re: Reply with quote

John-Silver wrote:
... and why hey're better of course

Compilers are very subjective things. Each maybe has 'something' which 'catches' the user, some fancy bell or whistle which hooks the prey. For example, give me a fortran compiler with nice integrated professional plotting facilities and I'd be mighty tempted to jump ship LOL


This compiler is the best for accomplishing this task because of its .NET integration, for example I use the open source scientific plotting library OxyPlot with the results produced directly from my FORTRAN code. But you could actually use the library directly from FTN95 if you liked writing lots and lots of code...

But if your just compiling a Win32 binary you could probably get away with a free compiler such as GFortran and have your code take input files and produce output files which are handled by another application for plotting.

Anyway it all comes down to personal preference and I am sure there are others like me who heavily use features of the compiler allowing .NET assemblies to be produced.
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Suggestions All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group