Silverfrost Forums

Welcome to our forums

VS2017 updated plugin

23 May 2018 2:41 (Edited: 28 May 2018 9:13) #22158

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.

28 May 2018 8:24 #22172

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

6 Jun 2018 1:58 #22185

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,

6 Jun 2018 2:30 #22186

The current release is v4.83 and I am pretty sure that it is available to everyone.

6 Jun 2018 6:13 #22188

Is this part of FTN95 PE 8.30?

6 Jun 2018 7:54 #22190

Yes. You should find it there.

6 Jun 2018 9:35 #22191

Quoted from John-Silver 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.

6 Jun 2018 10:04 #22192

Quoted from alex21 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...?

11 Jun 2018 9:25 #22212

Quoted from John-Silver ... 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.

20 Jun 2018 5:30 #22237

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 https://s8.postimg.cc/u4w16aqvp/Surf_Plot.png

29 Jun 2018 1:07 #22281

Quoted from alex21 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 😃 😃 😃

9 Jul 2018 10:47 #22339

Quoted from DanRRight 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 https://s8.postimg.cc/u4w16aqvp/Surf_Plot.png

The project is already around 4 years old just on github and was on codeplex before that for about 2 years...

If something else better comes along it is very very easy for me to switch as it only took about 4 hours of looking through their documentation and some sleuthing in the source code to produce the same set of reports pictured below, that are still used in the production version of our application to date for about the last two years.

documentation: http://docs.oxyplot.org/en/latest/

documentation for various axis types: http://docs.oxyplot.org/en/latest/models/axes/LinearAxis.html

documentation for various series types: http://docs.oxyplot.org/en/latest/models/series/AreaSeries.html

If your not talented enough to work out how to use something I guess the next best thing is to just get angry and insult the hard work of people who don't get paid?

All the following examples are produced using oxyplot and data passed directly from legacy FTN95 code: https://i.imgur.com/8xeZTu3.png https://i.imgur.com/KgMWCJg.png https://i.imgur.com/wJ3yvBU.png https://i.imgur.com/mS9LXeM.png

If I wanted different kinds or even animated there are many more libraries in the c-sharp or python ecosystems that I will use before i write any new code in FORTRAN.... The most valuable feature of this compiler is its .NET inter-operability to me for this reason not the crutches it provides to continue developing in language that fewer people alive use everyday.

9 Jul 2018 10:59 #22340

Quoted from John-Silver 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 ! 😉

The problem your running into here is these people are not paid to write the software or documentation and simply don't have the time most of the time... But for me personally it is not too much effort to go look at the various code examples on github in order to work out how to use what is a very high quality product with no price tag...

Also OxyPlot does Contour Plots and I have provided an example from my application, heat maps are basically the same thing and I have even been able to easily overlay it on maps as the plots are extremely customizable down to every visual element in the WPF version.

13 Jul 2018 12:17 #22365

Quoted from alex21 If your not talented enough to work out how to use something ...

I did not know that reading documentation needs special talent. May be i am especially dumb, as with rare exclusion i never read any documentation, including the text books in my speciality. I immediate start with the tasks & exercise section after the paragraphs.

Anyway, after rebuilding in several decades my code graphics at least several times (all suppliers got out of business or out of support) i'd not recommend anyone in their sane mind to touch anything like O-hue-plot (not translatable from russian) with ten foot pole or any third party apps besides well established software. Experience tells that anything i wrote in 4 decades i tried to reuse, and if there was third-party stuff involved then this was partially or completely lost.

Call me back when it reach the quality like this Fortran allows or gets out of life support. The examples below are not just external plotter results, they are part of your running Fortran code, and also part of your Clearwin+. That was being published in the top scientific journals and presented on many top science conferences. All together forms the WOW factor to which rarely any other compiler can compare. All done in one single package, the FTN95, not in 3-5 (which means your code you develop for decades will go out of business same 3-5 times faster, or you have to rebuild many 100s of places of your code to other package). Of course the graphics like that will not go out of business till this Fortran will be available. Only totally naive who only saw their codes running in DOS prompt think that Fortran is dying, and dying fast. If this happen Fortran will be for sure the last one.

https://s25.postimg.cc/8s7qjkplb/Pie33.jpg https://s25.postimg.cc/rokg4t2sf/Image21.jpg http://d3a5ak6v9sb99l.cloudfront.net/content/advances/3/1/e1601558/F5.large.jpg http://d3a5ak6v9sb99l.cloudfront.net/content/advances/3/1/e1601558/F7.large.jpg

13 Jul 2018 6:37 #22366

I’m with Dan on this, simply for reasons of practicality. Fortran has the great strength that source codes from decades ago are still compilable. It saves reinventing the wheel - a wheel that sometimes us oldies invented in the first place! In order to keep FTN95 operational, Silverfrost need to cater for differences between versions of Windows. Microsoft like to change things, but the huge volume of commercial applications out there mean that MS have to keep much backward compatibility. If you then use Clearwin+, you can be pretty sure that your application will run, or will soon run on any new version of Windows. Add to that the availability of Simdem, which is on top of Clearwin+, and thus is guaranteed to work with it, given that Clearwin+ and FTN95 are backward compatible, and you have as good a situation as one can hope for. Using Oxyplot and Visual Studio with FTN95 is an altogether more complicated issue. Silverfrost need to keep their compiler working with VS, which we know from experience can change dramatically from version to version. So too do the originators of Oxyplot. Therefore, at the very least, you are requiring two organisations to keep abreast of changes in the platform, instead of one. Then, you have no guarantee that Oxyplot and FTN95 will continue to get along together – and if they don’t, whose responsibility is it to fix? It’s a risk that I don’t take. Secondly, of course, there is the documentation issue. Without being rude about it, to understand the Oxyplot documentation you need to understand Visual Studio to even begin. Clearwin+ is understandable to anyone who understands Fortran – well, most people – and that is a prerequisite for using FTN95 in the first instance. So there’s a step you don’t need in one route, and you do in the other. Simdem documentation is also targeted at the Fortran user. (And if you use Clearwin+. You can do OpenGL graphics, if you want to.) As for ‘I can draw contours’, well I still use most of the code I wrote back in the 1970’s, including contouring. It originally used manufacturer specific pen-plotters, then generic ones (Roland, HP) and now CW+ graphics primitives. You know, computer software solutions with old technology work brilliantly with new. All that needed to change were the graphics primitives. Finally, as for old-timers, yes, I’m one. I still use codes I wrote nearly a half-century ago as well as things I’ve written since. You would be surprised at how much scientific and engineering software is still written in Fortran, or having been written in Fortran, is used and extended in the language. Whether you fly Airbus, Boeing, Embraer or Bombardier, the probability is that the airframe and engines were analysed with a Fortran program. You can tell how big the user base is by how many different Fortran compilers are on the market, just for the PC. There are 6 vendors on the Polyhedron website, plus several freeware compilers. More to the point, you can’t tell if an application uses Fortran after it has been compiled, and if written with the Clearwin+ interface to Windows, the look and feel is pure Windows. Source codes that I first compiled for Windows 2000 with FTN95’s 32-bit compiler version 3.90 run fine on Windows 10, and compile with FTN95 version 8.30 – and again run fine. If that’s not a great system, then I don’t know what is. There is a great Fortran compiler system, and it’s FTN95. PS. I’m not a software developer. It’s only an adjunct to my main skill set. Like being able to draw, write books, and troubleshoot aggravating engineering problems. A great man once said: 'Simplicate, and add lightness'. Fortran simplicates.

14 Jul 2018 9:51 #22367

Anyway my point is there are plenty of plotting solutions in pretty much any eco-system you look at... All I was originally even arguing for was the continued support of the latest .NET language features, otherwise the VS2015 plugin would suffice. But like I stated these newest language features are no longer supported by VS2015 which is the only version currently supported by the plugin.

I personally don't write much FTN95 code and have just written enough to get it talking to my .NET code base which is one of the features that drew me into this compiler to spite difficulty learning how to use it, so I am simply suggesting that the plugin should be kept up to date with a recent version of VS.

14 Jul 2018 9:54 #22368

Quoted from DanRRight

Quoted from alex21 If your not talented enough to work out how to use something ...

I did not know that reading documentation needs special talent. May be i am especially dumb, as with rare exclusion i never read any documentation, including the text books in my speciality. I immediate start with the tasks & exercise section after the paragraphs.

Look man it does play off as dumb/arrogant when you obviously spent all of 5 minutes looking at the documentation before calling it rubish, its a good product people made for free and has personally generated a great deal of value for me in turn...

If I had a product that needed plots anything like the ones you pictured I would make it, maybe using OxyPlot, maybe using something else, I am not too attached to a single plotting library and don't mind mixing and matching.

14 Jul 2018 3:37 #22369

Quoted from alex21 its a good product people made for free and has personally generated a great deal of value for me in turn...

How damn hard to explain things sometimes. Did you understand me (and Eddie-LitusS gave more examples) that life teaches that over long time the sign of 'generated great deal value' with niche third-party products is very often negative?

21 Jul 2018 1:04 #22382

Quoted from alex21 The most valuable feature of this compiler is its .NET inter-operability to me for this reason not the crutches it provides to continue developing in language that fewer people alive use everyday.

😃 😃 crutches? fewer people? That fewer people will make almost all other compilers to run and run around the globe for their money.

Here is weekly downloads and total downloads statistics from the CNET and DOWNLOAD dot COM for number C / C++ / C# compilers of different companies versus listed there Fortran compilers including ...take a chair...FTN77 and FTN95 as old as circa a decade ago!

                               Last week  Total
CCS C Compiler                  -105     27,181
Microsoft Visual C++  (x86)     - 67    230,207
Personal C Sharp                - 44     20,766
C compiler                      - 28      1,275
Intel C++ Compiler Professional - 14     50,412
Pelles C                        - 5      17,095
Small Device C Compiler (Linux) - 3         160
C  with Reference for iPhone    - 3       1,952
Mobile C for iPhone             - 2         274
Small Device C compiler         - 1       6,209
Axiomatic Multi-Platform C      - 1       7,647
Small Device C Compiler, Debian - 1          46
C for iOS                       - 0
Mobile C ( C/C++ Compiler ) for Android - 0

-----------------------------------------------------------------
                                               last week   Total
Silverfrost FTN95 (2012)                         - 48    322,113
Silverfrost FTN77 (2006)                         - 43     90,382

Intel Visual Fortran Compiler Professional 2009  - 28     36,373
Intel Fortran Compiler Professional for Mac      -  0      1,985 
Pro Fortran Compiler Suite for Mac               -  0      3,336
Simply Fortran for macOS                         -  0        116

BTW, few years back FTN95 was the most popular on CNET (they were doing this statistics) in the entire section of COMPILERS and tool (all C, C#, VB, VBnet, Pascals and long bunch of others. I wrote here about this several years back). Silverfrost has to consider to place newer version there

11 Aug 2018 10:42 #22463

I have uploaded the latest version of FTN95 to download.com/cnet. It isn't showing yet but presumably it will. We used to use download.com as a way of distributing the personal edition. It cost $100 a year or so and they did the hosting. However, all they were really interested in was advertising and getting us to advertise on cnet. At some point they decided they would take our installer and wrap it in another that also offered other products like virus scanners and disk cleaners. We stopped using them immediately!


-- Admin Silverfrost Limited
Please login to reply.