View previous topic :: View next topic |
Author |
Message |
alex21
Joined: 20 Apr 2011 Posts: 75 Location: Australia
|
Posted: Wed May 23, 2018 3:41 am Post subject: VS2017 updated plugin |
|
|
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 |
|
 |
KL
Joined: 16 Nov 2009 Posts: 144
|
Posted: Mon May 28, 2018 9:24 am Post subject: |
|
|
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 |
|
 |
John-Silver

Joined: 30 Jul 2013 Posts: 1520 Location: Aerospace Valley
|
Posted: Tue Jun 05, 2018 9:01 pm Post subject: |
|
|
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. _________________ ''Computers (HAL and MARVIN excepted) are incredibly rigid. They question nothing. Especially input data.Human beings are incredibly trusting of computers and don't check input data. Together cocking up even the simplest calculation ... " |
|
Back to top |
|
 |
narayanamoorthy_k

Joined: 19 Jun 2014 Posts: 142 Location: Chennai, IN
|
Posted: Wed Jun 06, 2018 2:58 pm Post subject: |
|
|
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 |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7774 Location: Salford, UK
|
Posted: Wed Jun 06, 2018 3:30 pm Post subject: |
|
|
The current release is v4.83 and I am pretty sure that it is available to everyone. |
|
Back to top |
|
 |
narayanamoorthy_k

Joined: 19 Jun 2014 Posts: 142 Location: Chennai, IN
|
Posted: Wed Jun 06, 2018 7:13 pm Post subject: |
|
|
Is this part of FTN95 PE 8.30? _________________ Thanks and Regards
Moorthy |
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7774 Location: Salford, UK
|
Posted: Wed Jun 06, 2018 8:54 pm Post subject: |
|
|
Yes. You should find it there. |
|
Back to top |
|
 |
alex21
Joined: 20 Apr 2011 Posts: 75 Location: Australia
|
Posted: Wed Jun 06, 2018 10:35 pm Post subject: Re: |
|
|
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 |
|
 |
DanRRight

Joined: 10 Mar 2008 Posts: 2777 Location: South Pole, Antarctica
|
Posted: Wed Jun 06, 2018 11:04 pm Post subject: Re: |
|
|
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 |
|
 |
John-Silver

Joined: 30 Jul 2013 Posts: 1520 Location: Aerospace Valley
|
Posted: Sat Jun 09, 2018 9:20 pm Post subject: |
|
|
... 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 !!! _________________ ''Computers (HAL and MARVIN excepted) are incredibly rigid. They question nothing. Especially input data.Human beings are incredibly trusting of computers and don't check input data. Together cocking up even the simplest calculation ... " |
|
Back to top |
|
 |
alex21
Joined: 20 Apr 2011 Posts: 75 Location: Australia
|
Posted: Mon Jun 11, 2018 10:25 pm Post subject: Re: |
|
|
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 |
|
 |
DanRRight

Joined: 10 Mar 2008 Posts: 2777 Location: South Pole, Antarctica
|
Posted: Wed Jun 20, 2018 6:30 pm Post subject: |
|
|
This OxyPlot is a joke to even try it. Such projects typically die in few years taking down your code with them because users typically do not pay a single cent for such primitive XY plot utilities alone:
"OxyPlot is primarily focused on two-dimensional coordinate systems, that’s the reason for the ‘xy’ in the name!"... ROTFL
I have seen a dozen such dead projects in 3 decades, most of them were much more sophisticated. Even damn dead Simpleplot was like a PhD student versus this one from kindergarden.
Right now native %PL is in development with FTN95. This essentially brings Fortran in par or even more with the leader of simplicity and usability in scientific and engineering MATLAB which obviously with its huge users base will never be down. You better start using native %PL and join other users to suggest its developers any new features you would like to see. Even now native %PL can make plots way better then many other utilities and it is done very simple way. If there will be bigger demand and a lot of interested users we will convince developers to implement not just XY and Surface plots but also Contour plots and 3D plots and hopefully all professional quality plots will be done in one single line of Fortran code. There are a lot of options for improvement.
The key advantage is that this graphics is part of the compiler library done by the same compiler developers, that means zero chances that some part of your code will stop to be supported.
Here is one my example of plotted quality of native PL (though this was older version), and there are a lot more quality plots posted before using FTN95 OpenGL
 |
|
Back to top |
|
 |
John-Silver

Joined: 30 Jul 2013 Posts: 1520 Location: Aerospace Valley
|
Posted: Thu Jun 28, 2018 12:07 pm Post subject: |
|
|
I see where you're coming from Dan.
I tried looking into OxyPlot (in a global overview sort of way) and fell at the first hurdle ... finding any decent documentation !
I did have a chuckle when I came across this: https://github.com/oxyplot/oxyplot/issues/1214
For obvious reasons
OxyPlot appears to be one of those 'amateur developers babies' - unintelligible to the rest of the universe !
I rest my case in referring you to the associated 'forum' , the 'Issues' section of their github webpage ....
https://github.com/oxyplot/oxyplot/issues?page=2&q=is%3Aissue+is%3Aopen
Am I alone in thinking that 'github' was conceived for this type of 'project' with one eye on the name of the 'repository' ? (yes I know there are exceptions but I can't agree that this is one of them)
However, who are we to criticise anothers choice if it suits their needs/expertise/prpensity to sufferance ?
%PL is not without reproach as we all know.
I won't hide my surprise at what appears to be the indefinite suspension of (?), not new features or fancy bells and whistles, but bug-fixes, in ironing out the creases in %PL. Still so near and yet so far as far as I'm concerned.
'Robustness is it not for the lacking of ?' (as late great Graham Taylor (1) might say )
Until those well-documented 'issues' are all sorted any 'push' by the rabble for contours/3-D/etc... would be akin to having allusions of taking flying lessons with porcine friends.
After all, who are we, the users, to know best ?
... but we keep following that elusive yellow-brick road.
____________________________________________
Note (1)
American' Alert - * World Series Football Warning*
For those who don't know who Graham Taylor was ...... https://i.guim.co.uk/img/media/a7614a3d14cb2c5eecd6073aacd1c8b77f9bd614/0_254_3552_2132/master/3552.jpg?w=620&q=55&auto=format&usm=12&fit=max&s=efdc8421fbb13a215aa96354d624f726
... after all, you can't argue with someone who has a stand named after him.
ALL software developers should watch this as a guide to success, even when 'failing' the general masses
https://www.youtube.com/watch?v=VAke3P4hKZA
now how does that song go, ah yes ...
"Want more and more
contour and 3D plots
want more and more
not only X-Y plots
want more and more ...
%PL's on fi-re,
simpleplot is past it's life .....
%PL's on fi-re,
your .NET is terr-i-fied .....
Da-da da-da da daaaaa da, da-da da da-da, da da da da-daa ..... etc ..."
(I've just realised the significance of %PL !!!
last lines can be replaced at will (griggs) with ....
" Paul Laidler's on Fi-re
his resolve's consoli-fide .....
%PL's on Fi-re
your plot software's terr-i-fied .....
Da-da da-da da daaaaa da, da-da da da-da, da da da daa .....
etc.... etc ...... "
yes that's the one, they were singing it just last week ....
https://www.youtube.com/watch?v=AoSTun8Z6g8&pbjreload=10
PS consolifide IS a real word and I challenge anyone to prove otherwise against all logic in the face of some magnificent scanning verse !  _________________ ''Computers (HAL and MARVIN excepted) are incredibly rigid. They question nothing. Especially input data.Human beings are incredibly trusting of computers and don't check input data. Together cocking up even the simplest calculation ... " |
|
Back to top |
|
 |
DanRRight

Joined: 10 Mar 2008 Posts: 2777 Location: South Pole, Antarctica
|
Posted: Fri Jun 29, 2018 2:07 am Post subject: Re: |
|
|
alex21 wrote: | 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... |
Lot and lots of code? For the most cases for example MATLAB uses one line of text and produces very decent draft versions suitable for publications. The %PL and now native %PL achieved almost the same quality and sometimes even surpassed it. In one line of Fortran code.
John, your post with scatter plot example was like dancing on dead body. By the way, for fans of Russian footbal championship -- you can not even imagine how russians will pronounce the word "OxyPlot" because they as usually will pronounce xy their own way  |
|
Back to top |
|
 |
John-Silver

Joined: 30 Jul 2013 Posts: 1520 Location: Aerospace Valley
|
Posted: Fri Jun 29, 2018 12:56 pm Post subject: |
|
|
i knew you'd appreciate the dancing on dead bodies Dan
you'll have to enlighten us about the pronunciation Dan ...... do a recording and upload it please ! _________________ ''Computers (HAL and MARVIN excepted) are incredibly rigid. They question nothing. Especially input data.Human beings are incredibly trusting of computers and don't check input data. Together cocking up even the simplest calculation ... " |
|
Back to top |
|
 |
|