For Programmers: Free Programming Magazines  


Home > Archive > Fortran > September 2006 > general query









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author general query
Elijah Cardon

2006-09-08, 9:59 pm

I'm still looking for a language that suits a specific task I have. Do
you have a FAQ list for this forum. EC
Steven G. Kargl

2006-09-08, 9:59 pm

In article <12g3kuesjf43pca@corp.supernews.com>,
Elijah Cardon <invalid@invalid.net> writes:
> I'm still looking for a language that suits a specific task I have. Do
> you have a FAQ list for this forum. EC


Is google broken in your little corner of the world?

If you actually gave a synposis of the task, some of us in c.l.f
may be able to give you some perspective on the suitability of
Fortran to accomplish said task.

--
Steve
http://troutmask.apl.washington.edu/~kargl/
Terence

2006-09-08, 9:59 pm


Elijah Cardon wrote:
> I'm still looking for a language that suits a specific task I have. Do
> you have a FAQ list for this forum. EC


Ejijah: just asking this question shows you have little experience in
programming.
It sound more likely that someone set you the task of finding out about
programming languages.

If you are starting to program, you have very few choices, even though
almost all problems can be resolved in all programming languages..
I would say your choices are likely to be among Fortran, Basic and C++,
since help and books for all three are easy to obtain.

Fortran is most suitable for problems with a lot of equations but
little need for elaborate displays on the screen. The data is usually
in external files

Basic can also handle equations very well but each kind of numeric
variable has to be specified a particular way for the opeartions to
work, but then the language incorporates a better access to the screen
and it is easier to handle texts. This language is more useful for data
gathering through interaction with screen and keyboard. Interfacing to
files is not as easy as in fortran.

C++ is a very difficult language to learn and use, where it is easy to
make mistakes and hard to find your errors, but is most suitable for
writing compilers and any requirements to interface with the operating
system or with external machinery.

A University would teach the C++ language as part of a degree in
computer science, but teach Fortran to engineers. Basic would normally
be taught at a lower level of a technical college or as introduction to
programming.

For information on other languages:
FORTH is a strange ("threaded" language where every elementary
mathematical or storage operation is coded just once and every program
self compiles and executes sequentially a series of elemental
operations to achieve the desired result. It runs somwhat very slowly
but uses the very minimum of memory space and was used for on-chip
programs for machinery like telescope steering. I used it for on-chip
image processing once.
Pascal is a language very similar to Fortran, with elements of C
included and is mainly of historical interest, but it also included
interfaces to graphical presentations in most versions I have worked
with.
Although machine language came first historically, followed by
assembler languages and later Fortran, another early language, Cobol,
is still used for mainly accounting purposes.

Terence Wright

Rich Townsend

2006-09-08, 9:59 pm

Terence wrote:
> Elijah Cardon wrote:
>
> Ejijah: just asking this question shows you have little experience in
> programming.
> It sound more likely that someone set you the task of finding out about
> programming languages.
>
> If you are starting to program, you have very few choices, even though
> almost all problems can be resolved in all programming languages..
> I would say your choices are likely to be among Fortran, Basic and C++,
> since help and books for all three are easy to obtain.


What, no C? Java? Perl? Python? C#? Objective C? Haskell? OCaml? PHP?

Not meaning in any way to be rude to you, Terence, but much of your advice is
rock solid -- for 20 years ago. The field has moved on a lot since then; yet
many of your posts are formulated around advice that has long passed it's
sell-by date. Might I suggest at the least that you qualify your comprehensive
responses with a "this may be a little out of data, but..." disclaimer?

Respectfully yours,

Rich

>
> Fortran is most suitable for problems with a lot of equations but
> little need for elaborate displays on the screen. The data is usually
> in external files
>
> Basic can also handle equations very well but each kind of numeric
> variable has to be specified a particular way for the opeartions to
> work, but then the language incorporates a better access to the screen
> and it is easier to handle texts. This language is more useful for data
> gathering through interaction with screen and keyboard. Interfacing to
> files is not as easy as in fortran.
>
> C++ is a very difficult language to learn and use, where it is easy to
> make mistakes and hard to find your errors, but is most suitable for
> writing compilers and any requirements to interface with the operating
> system or with external machinery.
>
> A University would teach the C++ language as part of a degree in
> computer science, but teach Fortran to engineers. Basic would normally
> be taught at a lower level of a technical college or as introduction to
> programming.
>
> For information on other languages:
> FORTH is a strange ("threaded" language where every elementary
> mathematical or storage operation is coded just once and every program
> self compiles and executes sequentially a series of elemental
> operations to achieve the desired result. It runs somwhat very slowly
> but uses the very minimum of memory space and was used for on-chip
> programs for machinery like telescope steering. I used it for on-chip
> image processing once.
> Pascal is a language very similar to Fortran, with elements of C
> included and is mainly of historical interest, but it also included
> interfaces to graphical presentations in most versions I have worked
> with.
> Although machine language came first historically, followed by
> assembler languages and later Fortran, another early language, Cobol,
> is still used for mainly accounting purposes.
>
> Terence Wright
>

Dr Ivan D. Reid

2006-09-09, 7:01 pm

On Fri, 08 Sep 2006 16:34:17 -0400, Elijah Cardon <invalid@invalid.net>
wrote in <12g3kuesjf43pca@corp.supernews.com>:
> I'm still looking for a language that suits a specific task I have. Do
> you have a FAQ list for this forum. EC


No there isn't, but the FAQs in this group contain:
How can I write an integer with leading zeroes?
How can I write files with sequential [usually numeric] filenames?
Why does my output show 3.9999999 rather than 4?
Why doesn't my "print *, x" statement give more significant figures?

...and so on.

If you want to know about the _features_ of a language, look at a
textbook or programmer's reference manual.

If you want to know about accomplishing a specific task by all means
ask, but be prepared for at least N+1 answers (from N respondents).

--
Ivan Reid, Electronic & Computer Engineering, ___ CMS Collaboration,
Brunel University. Ivan.Reid@[brunel.ac.uk|cern.ch] Room 40-1-B12, CERN
KotPT -- "for stupidity above and beyond the call of duty".
Elijah Cardon

2006-09-10, 4:01 am

Dr Ivan D. Reid wrote:
> On Fri, 08 Sep 2006 16:34:17 -0400, Elijah Cardon <invalid@invalid.net>
> wrote in <12g3kuesjf43pca@corp.supernews.com>:
>
> No there isn't, but the FAQs in this group contain:
> How can I write an integer with leading zeroes?
> How can I write files with sequential [usually numeric] filenames?
> Why does my output show 3.9999999 rather than 4?
> Why doesn't my "print *, x" statement give more significant figures?
>
> ...and so on.
>
> If you want to know about the _features_ of a language, look at a
> textbook or programmer's reference manual.
>
> If you want to know about accomplishing a specific task by all means
> ask, but be prepared for at least N+1 answers (from N respondents).
>

Thank you for your reply. Unfortunately, it's not like you can go to
Barnes and Noble and browse through the Fortran section. And, BTW,I did
get an A in Fortran twenty years ago. Does Fortran 90 acknowledge the
existence of a monitor or printer? EC
Gary Scott

2006-09-10, 4:01 am

Elijah Cardon wrote:

> Dr Ivan D. Reid wrote:
>
> Thank you for your reply. Unfortunately, it's not like you can go to
> Barnes and Noble and browse through the Fortran section. And, BTW,I did
> get an A in Fortran twenty years ago. Does Fortran 90 acknowledge the
> existence of a monitor or printer? EC


Sometimes depends on the Barnes and Noble. One in my neighborhood used
to be near a very good technical books store. To compete, they had a
fairly nice section of Fortran books up into the early 2000's. I bought
one of my books by Tom Lahey there. Of course, it is no more. In
fact, the entire Science/Physics/Astronomy offering is down to one
narrow ~3ft shelf space section...just pitiful.

--

Gary Scott
mailto:garylscott@sbcglobal dot net

Fortran Library: http://www.fortranlib.com

Support the Original G95 Project: http://www.g95.org
-OR-
Support the GNU GFortran Project: http://gcc.gnu.org/fortran/index.html

Why are there two? God only knows.


If you want to do the impossible, don't hire an expert because he knows
it can't be done.

-- Henry Ford
Brooks Moses

2006-09-10, 4:01 am

Elijah Cardon wrote:
> Thank you for your reply. Unfortunately, it's not like you can go to
> Barnes and Noble and browse through the Fortran section. And, BTW,I did
> get an A in Fortran twenty years ago. Does Fortran 90 acknowledge the
> existence of a monitor or printer? EC


As much as C and C++ and Perl and Python (and so on and on) do.

Note that most general-purpose languages, including Fortran, are
designed for general purposes, which include systems on which there is
no monitor or printer [1], or for which the only monitor or printer is
quite nonstandard. Moreover, beyond simple text output to a console,
the available methods for displaying things on the monitor and printer
are somewhat system-specific, and thus it is entirely reasonable to
suspect that they will be handled by system-specific extensions to the
language, rather than by methods described in the standard.

If you want to do, say, GUI programming, then you have pretty much three
options:

* Use a less general-purpose language that is aimed specifically at
running on computers with GUIs. Visual Basic comes to mind.

* Link your code with a library that implements GUI-handling routines.

* Call the O/S API functions for the GUI directly.

Most general-purpose languages are quite capable of doing either of the
latter, although in Fortran some of the methods for calling the API
functions may require non-standard compiler extensions until the Fortran
2003 standard gets implemented.

- Brooks


[1] This is not uncommon even today. Consider, for instance, a program
running as a CGI script on a web server.

--
The "bmoses-nospam" address is valid; no unmunging needed.
Dr Ivan D. Reid

2006-09-10, 4:01 am

On Sun, 10 Sep 2006 00:21:09 -0400, Elijah Cardon <invalid@invalid.net>
wrote in <12g74lr3q5r34ec@corp.supernews.com>:
> Dr Ivan D. Reid wrote:


[color=darkred]
[color=darkred]
> Thank you for your reply. Unfortunately, it's not like you can go to
> Barnes and Noble and browse through the Fortran section. And, BTW,I did
> get an A in Fortran twenty years ago. Does Fortran 90 acknowledge the
> existence of a monitor or printer? EC


Do you not have a University or college (or even municipal)library
nearby? I specifically included manuals because most commercial vendors have
theirs on-line, e.g.

ftp://download.intel.com/support/pe...v9/lang_for.pdf
found from
http://www.intel.com/cd/software/pr...lers/279831.htm

As far as I/O goes, standard output is standard output -- that will
go to the monitor[1] unless you redirect it. These days most Fortrans will
even dispense with those god-awful column-1 printer commands if they know
you're connected to the monitor. Since I never print directly, I'm less
sure of the details of sending output to a printer, but given the much-touted
backward-compatability of modern Fortran I don't expect much has changed.

[1] Or the output window if you run in an IDE.

--
Ivan Reid, Electronic & Computer Engineering, ___ CMS Collaboration,
Brunel University. Ivan.Reid@[brunel.ac.uk|cern.ch] Room 40-1-B12, CERN
KotPT -- "for stupidity above and beyond the call of duty".
Elijah Cardon

2006-09-11, 4:01 am

Dr Ivan D. Reid wrote:
> On Sun, 10 Sep 2006 00:21:09 -0400, Elijah Cardon <invalid@invalid.net>
> wrote in <12g74lr3q5r34ec@corp.supernews.com>:
>
>
>
>
> Do you not have a University or college (or even municipal)library
> nearby? I specifically included manuals because most commercial vendors have
> theirs on-line, e.g.
>
> ftp://download.intel.com/support/pe...v9/lang_for.pdf
> found from
> http://www.intel.com/cd/software/pr...lers/279831.htm
>
> As far as I/O goes, standard output is standard output -- that will
> go to the monitor[1] unless you redirect it. These days most Fortrans will
> even dispense with those god-awful column-1 printer commands if they know
> you're connected to the monitor. Since I never print directly, I'm less
> sure of the details of sending output to a printer, but given the much-touted
> backward-compatability of modern Fortran I don't expect much has changed.
>
> [1] Or the output window if you run in an IDE.
>

Thanks all for replies. I'll chase down those links later. The one
fella mentioned a fortran wing ding in 2003. As I understand, there was
one also in 1990. Has there been anything official in between? EC
beliavsky@aol.com

2006-09-11, 8:01 am

Elijah Cardon wrote:

<snip>

> Thanks all for replies. I'll chase down those links later. The one
> fella mentioned a fortran wing ding in 2003. As I understand, there was
> one also in 1990. Has there been anything official in between? EC


Yes, there exists Fortran (19)95, which is what most commerical and
free compilers now implement. See the history section of the Wikipedia
Fortran article http://en.wikipedia.org/wiki/Fortran .

Michael Metcalf

2006-09-11, 7:00 pm


<beliavsky@aol.com> wrote in message
news:1157976085.226722.242120@e3g2000cwe.googlegroups.com...
> Elijah Cardon wrote:
>
> <snip>
>
>
> Yes, there exists Fortran (19)95, which is what most commerical and
> free compilers now implement. See the history section of the Wikipedia
> Fortran article http://en.wikipedia.org/wiki/Fortran .



The Fortran language features article is a total disaster. Is anyone thing
of a total rewrite?

Regards,

Mike Metcalf


Richard E Maine

2006-09-11, 7:00 pm

Michael Metcalf <michaelmetcalf@compuserve.com> wrote:

> <beliavsky@aol.com> wrote in message
> news:1157976085.226722.242120@e3g2000cwe.googlegroups.com...


>
> The Fortran language features article is a total disaster. Is anyone thing
> of a total rewrite?


Note that Micheal is, I am sure, talking about the separate Wiki article
<http://en.wikipedia.org/wiki/Fortran_language_features>, which is
linked to from the main Fortran article. The short section with that
title in the main Fortran article doesn't say much at all, which keeps
it from being too bad - more useless than actively bad. It looks like an
incompletely edited remnant of someone cutting out all the material and
moving that to the separate article.

Wow! The separate article sure is a disaster! Afraid I don't have the
time/energy to do a rewrite myself at the moment, but it sure needs it.

The main problem is that it is mostly about the obsolescent and even
deleted features. It doesn't just mention those as side issues - that's
pretty much what the whole article is centered on, with a few token
pieces about a very small handful of randomly-selected newer features.
If you actually wanted to get an idea of what the major features of the
language are, as you might expect from an article titled "Fortran
language features", you'll be severely mislead.

--
Richard Maine | Good judgment comes from experience;
email: my first.last at org.domain| experience comes from bad judgment.
org: nasa, domain: gov | -- Mark Twain
Walter Spector

2006-09-12, 4:01 am

Richard E Maine wrote:
> ...
>
> .... It looks like an
> incompletely edited remnant of someone cutting out all the material and
> moving that to the separate article.
>
> Wow! The separate article sure is a disaster! Afraid I don't have the
> time/energy to do a rewrite myself at the moment, but it sure needs it.


As of a couple of months ago, it was all one HUGE single page. I started adding a
number of things to clarify and modernized several areas - including a lot of the
detailed syntax bullets. But, as you surmise, there was a lot of focus on obsolete
stuff that I didn't get around to. Some of it seems as if written by anti-Fortran
people using 20 year old arguments (in more ways than one.)

But then, in july, someone, (wikipedia user Rwwww), started MASSIVELY adding and
rearranging. He/she cut out that 'features' section and placed it in a different
page. The area on example programs too. Inserted a huge number of links - to just
about every IBM manual he/she could find on the 'net, and a bunch of obscure tech
papers.

So I sat back to watch.

But then, Rwwww apparently got frustrated/mad/whatever, and a couple of ws ago,
backed out almost all of what he/she did. Leaving a bit of a train wreck.

So I agree with your assessments.

Walt (Wws)

P.s., Van Snyder placed a *great* response to the guy who questioned Fortran-2003s
OO standing. See the bottom of the 'discussions' page.
Elijah Cardon

2006-09-13, 7:02 pm

Walter Spector wrote:
> Richard E Maine wrote:
>
> As of a couple of months ago, it was all one HUGE single page. I started adding a
> number of things to clarify and modernized several areas - including a lot of the
> detailed syntax bullets. But, as you surmise, there was a lot of focus on obsolete
> stuff that I didn't get around to. Some of it seems as if written by anti-Fortran
> people using 20 year old arguments (in more ways than one.)
>
> But then, in july, someone, (wikipedia user Rwwww), started MASSIVELY adding and
> rearranging. He/she cut out that 'features' section and placed it in a different
> page. The area on example programs too. Inserted a huge number of links - to just
> about every IBM manual he/she could find on the 'net, and a bunch of obscure tech
> papers.
>
> So I sat back to watch.
>
> But then, Rwwww apparently got frustrated/mad/whatever, and a couple of ws ago,
> backed out almost all of what he/she did. Leaving a bit of a train wreck.
>
> So I agree with your assessments.
>
> Walt (Wws)
>
> P.s., Van Snyder placed a *great* response to the guy who questioned Fortran-2003s
> OO standing. See the bottom of the 'discussions' page.

Holy smokes! I'm as big a history buff as you'll find, but that darn
punchcard gives me a shreck just to look at. What's funny is that I
don't see anything that jumps out at me as wrong. I guess what I'm
trying to gauge is whether working up the syntax of modern fortran will
allow me to leave c and its problems. Will the investment in time give
me a language that leaves me alone to compute while loosely connected to
others with similar undertakings or a whole new set of problems. EC
Walter Spector

2006-09-14, 10:00 pm

Elijah Cardon wrote:
> Holy smokes! I'm as big a history buff as you'll find, but that darn
> punchcard gives me a shreck just to look at.


I really enjoy that photo. I guess to those of us who actually used unit
record gear, it brings back a lot of memories. Using that electromechanical
gear was a fairly sensual experience. All the clicks and clacks of the cards
moving through the unit, the clunks of the punch, the whir of the fans,
the faint smell of ozone and burning motor oil, etc. Kids of today just
don't know...

> What's funny is that I
> don't see anything that jumps out at me as wrong.


The main Fortran page and the 'Fortran code examples' page aren't too bad.
However the 'Fortran language features' page is a disaster. Mostly that
about 80% of it is devoted to discussing superficial and obsolete topics.
It needs to be entirely rewritten.

> I guess what I'm
> trying to gauge is whether working up the syntax of modern fortran will
> allow me to leave c and its problems. Will the investment in time give
> me a language that leaves me alone to compute while loosely connected to
> others with similar undertakings or a whole new set of problems.


Well, you've not told us your problem domain - so it is hard to give you
that answer. Modern Fortran (i.e., Fortran-95 and forwards) is easy to
learn and very powerful for a suprisingly wide range of tasks.

W.
dpb

2006-09-16, 7:02 pm


Elijah Cardon wrote:
....

> ...trying to gauge is whether working up the syntax of modern fortran will
> allow me to leave c and its problems. Will the investment in time give
> me a language that leaves me alone to compute while loosely connected to
> others with similar undertakings or a whole new set of problems. EC


I'm w/ Walt--you've continued to ask the question, but yet to describe
anything about what you're actually after, making it rather difficult
to know what are desirable features. I'm reminded of the old saw about
"knowing it when I see it" but being on the other end.

What specifically, are the features of C you consider "problems"? What
is it you intend to compute and I have no idea what "while loosely
connected to others with similar undertakings or a whole new set of
problems" actually is supposed to mean.

Seems to me if you want anything at all useful to come from this thread
you're going to have to provide sufficient input for somebody
responding to know what it is you're really looking for besides such
generic platitudes.

Elijah Cardon

2006-09-18, 8:00 am

dpb wrote:
> Elijah Cardon wrote:
> ...
>
>
> I'm w/ Walt--you've continued to ask the question, but yet to describe
> anything about what you're actually after, making it rather difficult
> to know what are desirable features. I'm reminded of the old saw about
> "knowing it when I see it" but being on the other end.
>
> What specifically, are the features of C you consider "problems"? What
> is it you intend to compute and I have no idea what "while loosely
> connected to others with similar undertakings or a whole new set of
> problems" actually is supposed to mean.
>
> Seems to me if you want anything at all useful to come from this thread
> you're going to have to provide sufficient input for somebody
> responding to know what it is you're really looking for besides such
> generic platitudes.
>

What I typically have to do is calculate a number. Usually I can do
this with the standard data types that c has. For example, I calculated
generating functions using a Gemisch of c and c++. This web page
shows this: http://www.mninter.net/~mpjensen/njas.htm .

But console apps in c just aren't cutting it for me any more. I spend
forever getting data in and out of them. I was hoping that since
fortran has no delusions of being the language of a viable OS, that it
might be more amenable to talking to the most popular OS on the planet.

But you're looking for something specific to comment on, so I'll ask
about a project I always have on the backburner: improving my poker
game. There's a lot of software out there for this, but I like to roll,
or borrow, my own. So if I can get a fortran program to give me two
pseudorandoms between 1 and 52, say 7 and 48, is it a Herculean task for
fortran to pass these values to a windows prog so I get to SEE the seven
of clubs and the jack of spades? EC
e p chandler

2006-09-18, 7:01 pm

Elijah Cardon wrote:
> dpb wrote:
> What I typically have to do is calculate a number. Usually I can do
> this with the standard data types that c has. For example, I calculated
> generating functions using a Gemisch of c and c++. This web page
> shows this: http://www.mninter.net/~mpjensen/njas.htm .
>
> But console apps in c just aren't cutting it for me any more. I spend
> forever getting data in and out of them. I was hoping that since
> fortran has no delusions of being the language of a viable OS, that it
> might be more amenable to talking to the most popular OS on the planet.
>
> But you're looking for something specific to comment on, so I'll ask
> about a project I always have on the backburner: improving my poker
> game. There's a lot of software out there for this, but I like to roll,
> or borrow, my own. So if I can get a fortran program to give me two
> pseudorandoms between 1 and 52, say 7 and 48, is it a Herculean task for
> fortran to pass these values to a windows prog so I get to SEE the seven
> of clubs and the jack of spades? EC


It appears that you are working on a MS-Windows system. If you are
doing this for fun, and presumably at little or no cost, you have
several alternatives.

1. Salford, now Silverfrost, has a Fortran 95 which is free for
personal, non-commercial use. You can generate a Windows application
including GUI, but the method is somewhat unusual. It is similar to
sending character sequences to an external terminal. Also the run-time
library puts up a nag screen when programs are run outside of the IDE.

2. Package your Fortran code as a DLL and call that from a GUI host.
Once you figure out how to deal with name mangling and mapping data
types between different languages, it is not too difficult. :-). See
any of my postings in this NG on linking Visual Basic with Fortran. You
have a number of choices of host and various Fortrans to choose from.

a. Visual Basic - versions 4 through 6 and Visual Basic for
Applications (VBA) as found in Word or Excel. 'Free' if you have
MS-Office.

b. VB dot NET or one of the other Visual Studio 2005 Express editions.
It's a large package which requires the 2.0 dot net framework but it's
free and commercial development is allowed.

c. Delphi version 3 and up. Good if you already know Pascal.

d. Turbo Delphi - Express edition is free. Again a very large package
with many MB of dot net pre-requisites. Commercial use is allowed.

e. Various Delphi work alikes related to 'Free Pascal' - one called
Lazarus. A large footprint and some bugs, but it does work.

f. VB work alikes. A number of 'clones' such as Phoenix, Envelop, and
Rapid-Q plus other 'free' basics. Quirky and different.

g. Other Basics. Liberty Basic can call Fortran DLLs. I believe that
BBC Basic can do the same.

3. Commercial products, such as Gino or Winteracter. Expensive but
worth the expense to the professional developer.

e-mail: epc8 at juno dot com

Elijah Cardon

2006-09-18, 7:01 pm

e p chandler wrote:
> Elijah Cardon wrote:
[color=darkred]
<snip>[color=darkred]
>
> It appears that you are working on a MS-Windows system. If you are
> doing this for fun, and presumably at little or no cost, you have
> several alternatives.
>
> 1. Salford, now Silverfrost, has a Fortran 95 which is free for
> personal, non-commercial use. You can generate a Windows application
> including GUI, but the method is somewhat unusual. It is similar to
> sending character sequences to an external terminal. Also the run-time
> library puts up a nag screen when programs are run outside of the IDE.
>
> 2. Package your Fortran code as a DLL and call that from a GUI host.
> Once you figure out how to deal with name mangling and mapping data
> types between different languages, it is not too difficult. :-). See
> any of my postings in this NG on linking Visual Basic with Fortran. You
> have a number of choices of host and various Fortrans to choose from.

This is starting to sound like a good idea. My google IQ is 40, and my
vision requires that I read code as a hard copy, so what takes a 17
year-old dude from Punjab 5 hours to do might take me a month.

> a. Visual Basic - versions 4 through 6 and Visual Basic for
> Applications (VBA) as found in Word or Excel. 'Free' if you have
> MS-Office.
>
> b. VB dot NET or one of the other Visual Studio 2005 Express editions.
> It's a large package which requires the 2.0 dot net framework but it's
> free and commercial development is allowed.
>
> c. Delphi version 3 and up. Good if you already know Pascal.
>
> d. Turbo Delphi - Express edition is free. Again a very large package
> with many MB of dot net pre-requisites. Commercial use is allowed.
>
> e. Various Delphi work alikes related to 'Free Pascal' - one called
> Lazarus. A large footprint and some bugs, but it does work.
>
> f. VB work alikes. A number of 'clones' such as Phoenix, Envelop, and
> Rapid-Q plus other 'free' basics. Quirky and different.
>
> g. Other Basics. Liberty Basic can call Fortran DLLs. I believe that
> BBC Basic can do the same.
>
> 3. Commercial products, such as Gino or Winteracter. Expensive but
> worth the expense to the professional developer.

Thank you for your generous response. I have _Numerical Recipes in
Fortran 90_ in hand. Unless there are opinions to the contrary, I'd
like to make something from Eigensystems my hello fortran 90 prog. I
might be breathing my own smoke here, but I want windows to SHOW the
diagonalization. The math in fortran, the pertty pictures either in
dotnet or VS98. EC
glen herrmannsfeldt

2006-09-18, 7:01 pm

Someone wrote:
(snip)
[color=darkred]

(snip of a variety of free or easily affordable languages)

There is also R. It is very popular for statistics work and free.
The TK/TCL package is supposed to make graphical interfaces easy,
though I haven't actually done it. (I have worked on programs
that someone else wrote the GUI for.)

R also has a convenient interface to Fortran and C, as many
existing add-on packages use code in those languages. (Pure R
code is interpreted, and somewhat slow for complicated
calculations. Built-in library routines should run at
compiled speed.)

-- glen
e p chandler

2006-09-18, 7:01 pm


Elijah Cardon wrote:
[snip]
[snip][color=darkred]
> I have _Numerical Recipes in
> Fortran 90_ in hand. Unless there are opinions to the contrary, I'd
> like to make something from Eigensystems my hello fortran 90 prog. I
> might be breathing my own smoke here, but I want windows to SHOW the
> diagonalization. The math in fortran, the pertty pictures either in
> dotnet or VS98. EC


This sounds ambitious. I am familiar with older ways of passing arrays
- upper left corner element and dimensions. This does work easily. I
don't know what the F90 way of passing arrays might look like "under
the hood" - or much about assumed size or assumed shape arrays.

I would be happy to re-post code for the GUI and DLL as well as batch
files in this newsgroup if it would help. My standard test application
is a form with three text boxes and one button. Pressing the button
converts the contents of the first two boxes from text to integer. It
then passes two 32 bit integers to the dll which returns a 32 bit
integer function result - the difference between them. The application
then converts integer to text and displays it in the third text box.

e-mail: epc8 at juno dot com

Elijah Cardon

2006-09-19, 7:02 pm

e p chandler wrote:
> Elijah Cardon wrote:
> [snip]
> [snip]
>
> This sounds ambitious. I am familiar with older ways of passing arrays
> - upper left corner element and dimensions. This does work easily. I
> don't know what the F90 way of passing arrays might look like "under
> the hood" - or much about assumed size or assumed shape arrays.

The part that is not difficult is the source in the subroutine. That is
predicated on my ability to transcribe what Mssrs. Press et ali have
already done. The part that IS somewhere between ambitious and
delusional is communicating underneath the hood with windows.


> I would be happy to re-post code for the GUI and DLL as well as batch
> files in this newsgroup if it would help. My standard test application
> is a form with three text boxes and one button. Pressing the button
> converts the contents of the first two boxes from text to integer. It
> then passes two 32 bit integers to the dll which returns a 32 bit
> integer function result - the difference between them. The application
> then converts integer to text and displays it in the third text box.

I'd love to see it. On all these routines, the first word that appears
is SUBROUTINE. When I see SUBROUTINE jacobi(a,d,v,nrot) , are a, d, v,
and nrot the only values passed to the subroutine? EC

Dr Ivan D. Reid

2006-09-19, 7:02 pm

On Tue, 19 Sep 2006 10:27:32 -0400, Elijah Cardon <invalid@invalid.net>
wrote in <12gvvim854alobc@corp.supernews.com>:

> On all these routines, the first word that appears
> is SUBROUTINE. When I see SUBROUTINE jacobi(a,d,v,nrot) , are a, d, v,
> and nrot the only values passed to the subroutine? EC


Not necessarily. It used to be (ahem!) common to use COMMON
blocks to make data available behind the scenes -- something akin to
externals in C/C++. Offhand I don't recall other methods of sharing data,
so as long as there are no COMMONs your dataflow is all visible. Note
that COMMON may not necessarily be used to pass data -- it's also a way,
e.g., to share an area of scratch workspace between many subroutines
rather than having to have each "own" its own patch of (expensive) memory
real-estate.

--
Ivan Reid, Electronic & Computer Engineering, ___ CMS Collaboration,
Brunel University. Ivan.Reid@[brunel.ac.uk|cern.ch] Room 40-1-B12, CERN
KotPT -- "for stupidity above and beyond the call of duty".
e p chandler

2006-09-19, 10:01 pm

Elijah Cardon wrote:[color=darkred]
> e p chandler wrote:
[snip][color=darkred]

[snip]

Here is the GUI side. A form is created with 3 text boxes and one
button. A module is inserted to contain the declaration.

Declaration in VBA (Word):

Declare Function isub2 Lib "test.dll" (i As Long, j As Long) As Long

event procedure:

Private Sub CommandButton1_Click()
TextBox3.Text = Str$(isub2(Val(TextBox1.Text), Val(TextBox2.Text)))
End Sub

Here is the Fortran code. test.f95 is the function. test.def corrects
for name mangling. make.bat creates the dll.

test.f95:

function isub2(i,j)
isub2=i-j
end

test.def:

EXPORTS isub2=isub2_

make.bat:

g95 -s -shared -mrtd -o test.dll test.def test.f95

g95 is the MinGW version. The options are:

-s = strip debug info
-shared = make a dll
-mrtd = calling convention is stdcall
-o = output file

The control names will be different in Visual Basic. There are other
differences in VB dot net. Also works in gfortran (MinGW) with minor
changes.

-- elliot
-- e-mail: epc8 at juno dot com

Michael Metcalf

2006-09-20, 7:01 pm


"Richard E Maine" <nospam@see.signature> wrote in message
news:1hli1oj.wtybnd5zm7sqN%nospam@see.signature...
>
> Note that Michael is, I am sure, talking about the separate Wiki article
> <http://en.wikipedia.org/wiki/Fortran_language_features>, which is
> linked to from the main Fortran article.
>
> Wow! The separate article sure is a disaster! Afraid I don't have the
> time/energy to do a rewrite myself at the moment, but it sure needs it.
>

I have now discovered that: 1) Wikipedia accepts HTML as mark-up and 2) I
still have the text of a 12-year-old tutorial on Fortran 90 that is in HTML.
I also have the text of an article on Fortran 95 that I can incorporate into
the tutorial. Thus, I have all the elements at hand to be able to produce a
replacement entry that will definitely not be worse than the one already
there.

I propose to go ahead with this unless anyone else has already started this
task

Regards,

Mike Metcalf



Richard E Maine

2006-09-20, 7:01 pm

Michael Metcalf <michaelmetcalf@compuserve.com> wrote:

> "Richard E Maine" <nospam@see.signature> wrote in message
> news:1hli1oj.wtybnd5zm7sqN%nospam@see.signature...
> I propose to go ahead with this unless anyone else has already started this
> task


I don't know whether anyone else started such a revision (I haven't). I
sure encourage your propsal, as I have seen enough of your writing to be
confident that it would be an excellent presentation of the material.

--
Richard Maine | Good judgment comes from experience;
email: my first.last at org.domain| experience comes from bad judgment.
org: nasa, domain: gov | -- Mark Twain
Elijah Cardon

2006-09-22, 10:00 pm

Richard E Maine wrote:
> Michael Metcalf <michaelmetcalf@compuserve.com> wrote:
>
>
> I don't know whether anyone else started such a revision (I haven't). I
> sure encourage your propsal, as I have seen enough of your writing to be
> confident that it would be an excellent presentation of the material.
>

Can you point out the specific shortcomings of that which you think
needs replacing? No one out there really knows what's happened with
fortran since we all got seduced by sexier languages. Today I was
reading what the c-using Germans had to say about pointers in fortran:
news:pan.2006.07.09.21.23.38.308399@synthesis.co.at...
That link probably won't survive its journey into this message, but they
can't REALLY discuss it, for reasons I care not to discuss. I'm happy
to proofread anything you want to send to wikipedia. EC
Elijah Cardon

2006-09-22, 10:00 pm

e p chandler wrote:
> Elijah Cardon wrote:
> [snip]
>
> [snip]
>
> Here is the GUI side. A form is created with 3 text boxes and one
> button. A module is inserted to contain the declaration.
>
> Declaration in VBA (Word):
>
> Declare Function isub2 Lib "test.dll" (i As Long, j As Long) As Long
>
> event procedure:
>
> Private Sub CommandButton1_Click()
> TextBox3.Text = Str$(isub2(Val(TextBox1.Text), Val(TextBox2.Text)))
> End Sub
>
> Here is the Fortran code. test.f95 is the function. test.def corrects
> for name mangling. make.bat creates the dll.
>
> test.f95:
>
> function isub2(i,j)
> isub2=i-j
> end
>
> test.def:
>
> EXPORTS isub2=isub2_
>
> make.bat:
>
> g95 -s -shared -mrtd -o test.dll test.def test.f95
>
> g95 is the MinGW version. The options are:
>
> -s = strip debug info
> -shared = make a dll
> -mrtd = calling convention is stdcall
> -o = output file
>
> The control names will be different in Visual Basic. There are other
> differences in VB dot net. Also works in gfortran (MinGW) with minor
> changes.
>
> -- elliot
> -- e-mail: epc8 at juno dot com
>

Thanks, Elliot. I think my best bet is going to be to fire up VS98. I
haven't done anything in VB for a few years and nothing in fortran for
nineteen, so instead of doing eigensystems right off the bat, I think
isub2=i-j looks to be more in my range of competence.

What I really like about this is that although it'll take time to get
fortran to do anything for me again, and it will take time for VB to do
anything for me again, once it's on the tracks, then fortran gives me
good numbers, VB a GUI appropriate for this millenium and c is nowhere
to be found. EC
Michael Metcalf

2006-09-23, 7:00 pm


"Elijah Cardon" <invalid@invalid.net> wrote in message
news:12h8vhdiu5eql43@corp.supernews.com...
> Richard E Maine wrote:
> Can you point out the specific shortcomings of that which you think needs
> replacing?


The existing article is simply a random and incomplete hodgepodge of
features, some deprecated (old source form) others shiny new (CASE). And
starting off with a punched card! I will replace it with a tutorial-style
entry that you folks can modify to your hearts' content, but at least it
will reflect current practice.

Regards,

Mike Metcalf


beliavsky@aol.com

2006-09-23, 7:00 pm

Michael Metcalf wrote:
> "Elijah Cardon" <invalid@invalid.net> wrote in message
> news:12h8vhdiu5eql43@corp.supernews.com...
>
> The existing article is simply a random and incomplete hodgepodge of
> features, some deprecated (old source form) others shiny new (CASE). And
> starting off with a punched card! I will replace it with a tutorial-style
> entry that you folks can modify to your hearts' content, but at least it
> will reflect current practice.


Wikipedia is "democratic" enough that the article may well deteriorate
after you write it. I suggest that also publish your article on another
site, perhaps www.fortran.com if Walt Brainerd agrees.

Michael Metcalf

2006-09-24, 7:02 pm


<beliavsky@aol.com> wrote in message
news:1159051808.523289.3540@b28g2000cwb.googlegroups.com...
..
>
> Wikipedia is "democratic" enough that the article may well deteriorate
> after you write it. I suggest that also publish your article on another
> site, perhaps www.fortran.com if Walt Brainerd agrees.
>


Are you invoking the Second Law of Thermodynamics? I'm hopeful that some of
the regulars here will actually be able to improve it! (Anyway, I'll keep a
copy.)

Regards,

Mike Metcalf


Elijah Cardon

2006-09-25, 7:00 pm

e p chandler wrote:[color=darkred]
> Elijah Cardon wrote:
> [snip]


I just wanted to organize my thoughts before I step into programming
environments whose modern equivalents will be new for me. On the one
hand, the back end is fortran. A fella named elliot thinks that I can
make a fortran dll that will communicate with VB:

<quote>
I would be happy to re-post code for the GUI and DLL as well as batch
files in this newsgroup if it would help. My standard test application
is a form with three text boxes and one button. Pressing the button
converts the contents of the first two boxes from text to integer. It
then passes two 32 bit integers to the dll which returns a 32 bit
integer function result - the difference between them. The application
then converts integer to text and displays it in the third text box.
<end quote>

<quote>
Here is the GUI side. A form is created with 3 text boxes and one
button. A module is inserted to contain the declaration.

Declaration in VBA (Word):

Declare Function isub2 Lib "test.dll" (i As Long, j As Long) As Long

event procedure:

Private Sub CommandButton1_Click()
TextBox3.Text = Str$(isub2(Val(TextBox1.Text), Val(TextBox2.Text)))
End Sub

Here is the Fortran code. test.f95 is the function. test.def corrects
for name mangling. make.bat creates the dll.

test.f95:

function isub2(i,j)
isub2=i-j
end

test.def:

EXPORTS isub2=isub2_

make.bat:

g95 -s -shared -mrtd -o test.dll test.def test.f95

g95 is the MinGW version. The options are:

-s = strip debug info
-shared = make a dll
-mrtd = calling convention is stdcall
-o = output file

The control names will be different in Visual Basic. There are other
differences in VB dot net. Also works in gfortran (MinGW) with minor
changes.

-- elliot
-- e-mail: epc8 at juno dot com
<end quote>

Well, I got the silverfrost fortran 95. Have yet to install until I
backed up my data, which I have now done. On the visual basic side is
ralph, who writes:

<quote>
The first thing to determine is what the Fortran Dll is exposing. The
exported functions must be _stdcall. Which is highly likely as this is the
'default' calling convention for Fortran (_fortran).

Next you need to determine if the parameters for the functions are something
that VB can understand. That is, not something uniquely 'Fortran'.

Pick one or two functions, then attempt to create a "Declare Function" or
"Declare Sub" directive for it and basically just test if VB can "see" it.
Make sure your spelling and case for the function are identical. eg, if the
Fortran exported function is all caps.

It is easier to just test, than for someone to write out all the
possiblities. If you run into problems, publish the Fortran declaration,
your VB directive, and a snippet of how you are attempting to call, along
with the error.
<end quote>

On the VB end I'll come at it with VS98. I'm too much of a Luddite to
go with dotnet. So, I'm going to sever my online connection, and return
to real life, where Dick Cheney is going to pass the church on which I
post the message letters in 45 minutes. I'll go incommunicado while I
give this new software a proper assault, and hope that you'll be
inclined to help me with the gotchas. Gotta get busy, EC.


Mark Morss

2006-09-27, 7:03 pm

Oh yeah? Well, I got an A in Fortran 40 years ago.

Elijah Cardon wrote:
> Dr Ivan D. Reid wrote:
> Thank you for your reply. Unfortunately, it's not like you can go to
> Barnes and Noble and browse through the Fortran section. And, BTW,I did
> get an A in Fortran twenty years ago. Does Fortran 90 acknowledge the
> existence of a monitor or printer? EC


Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com