返回值得投资学习Fortran吗? [英] Is the return worth the investment in learning Fortran?

查看:215
本文介绍了返回值得投资学习Fortran吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我目前的工作地点,有少数可能有两到三名员工添加和维护Fortran77代码的功能。当我第一次被雇用时,我简略地考虑过在我改变主意后不久就想要成为古代语言的流利人员。

这个结论来自多方面的原因。最初我承认陡峭的学习曲线把我推开了。 (直接关系到我的大多数程序经验都是用更高级的语言编写的,与Fortran不同的是,功能复杂,功能复杂,令人难以置信)。但是即使在我开始对语言进行一些简单的理解之后,我发现我从未有过任何有用的'项目'我可以贡献。这让我意识到,如果我再次寻找工作,Fortran77会在我的应用程序上有什么用处?我想到,除非我有兴趣维护遗留代码,这是自从退休员工在三十年前写下的那些不知名的代码之后,我应该花时间学习一门更新,更多使用的语言。



当给予Fortran时,Google趋势给我一个有趣的图表。



另外值得注意的是,在本文发布时,在stackoverflow上Fortran标记问题的总和小于100。



那么哪些新项目和应用程序适合在Fortran中构建基础? Fortran工程师需要开发新产品还是主要维护旧代码?有没有人听说过任何围绕Fortran的应用程序开发?

最终,这些日子里,为新工程师学习Fortran的投资回报是否值得?

解决方案

稍后我会回答您的问题,但首先我会在另一个地方解决地址 - 或者应该我说,另一个监督,这似乎是经常出现在包括标签fortran的问题。






Fortran首先出现在20世纪50年代(1957年),这取决于你对出现的定义。从那时起到现在,它已经经历了几个版本:


  • I, II li>
  • 66

  • 77 90 ,95

  • 2003 ,2008(WIP)


  • (粗体字被认为是语言开发中的主要步骤)



    它是从一开始就开发的,目标是主要用于数字计算的语言。因此,名称 FORTRAN - FOR mula TRAN 定义语言。

    由于计算机技术在六十年代,七十年代和十几年的发展进程中,并且由于没有任何替代品(C被引入很久以后,并且由于其设计在使用fortran的同一群人中从未流行),大量的生产代码是以fortran编写。

    需要维护相同数量的代码,这是一个重要的考虑因素(现在仍然是),当引入一个新的fortran标准时 - fortran90。
    整个fortran77作为一个子集,使得维护和开发新代码变得非常容易,可以很容易地连接到已经写好的旧代码,而且还引入了大量的新功能。



    在fortran90之后引入了新的标准,虽然该语言的某些功能已经被宣布已经过时,有些甚至被删除,但你会发现大多数供应商的编译器都支持所有来自' 77,但也支持'2003标准中的新功能。

    无论如何,你可以在维基百科有关fortran的文章。






    现在我将评论并解决一些问题您的帖子。



    在我目前的工作地点,有少数可能有两到三名员工添加和维护Fortran77代码的功能。当我第一次被雇用时,我简要地考虑过在我改变主意之后不久就想要成为古代语言的流利人士。
    这个结论来自一系列原因。最初我承认,陡峭的学习曲线将我推开。



    您的公司做什么(一般情况下)?



    虽然我看到Fortran被描述为遗留语言,古老,古老甚至死亡,但我从未见过它被描述为一种语言一个陡峭的学习曲线。 Fortran77上的一本旧的IBM手册,这是我多年前第一次使用该语言,其单页打印的页数不超过50页。

    您发现哪些部分难以理解,付出了多少努力你是否已经澄清了它们?

    但是即使在我开始对这种语言产生一种微不足道的理解之后,我发现我从未有过任何有用的'项目'数值天气预报,有限元分析,计算流体动力学(CFD),计算物理学和计算化学只是一些领域的一部分。

    你会发现它使用。它是高性能计算领域中最流行的语言之一,也用于基准和排名世界上最快的超级计算机的程序。我发现它很难相信你无法为这些领域做出贡献。
    当然,如果你对这两种都不感兴趣,并希望在办公室应用程序或网页开发方面工作,那么事实上,这可能是一种错误的语言开始。



    这让我意识到,如果我再次寻找工作,Fortran77会在我的应用程序中有什么用处?我想到,除非我有兴趣维护遗留代码,这是自从退休员工在三十年前写下的一段不知名的代码之后,我应该花时间学习一门更新,更多使用的语言。

    b
    $ b

    我同意。我完全同意。

    您不应该尝试学习fortran77。即使从保守的角度来看,它也是一种古老的语言。
    然而,学习fortran90 / 95和研究2003和2008标准的新特性是一条路。保持旧的'77代码不应该出现任何问题,编写新代码应该以更新的标准完成,其中还包括一些功能,以便于组织您的程序。面向对象程序设计也受到支持,尽管它与C的观点有所不同。



    Google的趋势在我看来有一个有趣的图表,当给予Fortran时。
    另外值得注意的是,在本文发布时,在stackoverflow上Fortran标记问题的总和小于100。


    数学家,工程师,医生...都加起来,并不占总人口的很大比例。从不做。
    不同的是,40年前,当编写大量fortran代码时,它们是能够访问计算机的罕见程序之一。所以它给人一种错觉,那就是每个人都在那些日子里使用fortran。



    现在,这些地区的人数几乎保持不变,只有总人数计算机用户,它提供了一个小得多的百分比。



    那么哪些新的项目和应用程序适合在Fortran中构建的基础? Fortran工程师需要开发新产品还是主要维护旧代码?是否有人听说过任何围绕Fortran的应用程序开发?



    我知道有几个,但我怀疑他们的名字对于这里的任何人都意味着什么。它们不是榨取公众利益的应用程序,也不是公开可用的应用程序。

    最终,返回值得投资学习Fortran for一个新的工程师这些天?



    我无法回答。然而,我可以补充说,这是一种具有出色工程用语的语言,其中一种替代方法目前还很不明显(许多人已经尝试过 - 他们说Fortran在80年代已经死了,他们在90年代重复了这一点, ......现在在零中它仍然像以前一样)。它也是一种非常强大的公司支持的语言 - (很少有语言会有更多的公司正在积极开发编译器而不是Fortran),它不会像那样( 有点像Microsoft Clippy )。






    当然,如果没有某种奖励,我就无法完成这篇文章一直到最后: - )



    alt text http://www.daybydaycartoon.com/wp-content/uploads/2014/04/11-24-2002.gif


    At my current place of employment there are a handful of maybe two to three employees that add and maintain functionality of legacy fortran77 code. When I was first hired I briefly considered trying to become fluent in the ancient language, soon after I changed my mind.

    This conclusion came from a combination of reasons; initially I admit the steep learning curve pushed me away. (Directly related to having a majority of my experience programming in a much higher language. Not so much that Fortran had advanced complex functionally that was mind-boggling. ) But even after I began to develop a trivial understanding of the language I found that I never had any useful ‘projects’ I could contribute. Which lead me to the realization, what good would Fortran77 be on my application if I were job searching again? It occurred to me that, unless I was interested in maintaining legacy code that some unknown long since retired employee had written thirty+ years ago, I should spend my time learning a newer, more utilized, language.

    Google trends makes an interesting graph, to my point, when given Fortran.

    Also interesting to note is that the combined sum of Fortran tagged questions on stackoverflow is less than 100 at the time of this post.

    So what new projects and applications are suitable for a groundwork built in Fortran? Is there a large need for Fortran engineers to develop new products, or mostly to maintain old code? Has anybody heard of any recent application development surrounding Fortran?

    Ultimately, is the return worth the investment in learning Fortran for a new engineer these days?

    解决方案

    I will answer your question a bit later, but first I'll address adress one other point - or should I say, one other oversight, that seems to be occuring regularly amongst questions that include the tag "fortran".


    Fortran first appeared in 1950s (1957), depending on your definition of "appear". From then till now, it has gone through several versions:

    • I, II, III, IV
    • 66
    • 77
    • 90, 95
    • 2003, 2008 (WIP)

    (bold ones are considered major steps in language development)

    It was developed from the start, and with the goal to be a language for primarily numerical computations. Hence the name - FORTRAN - FORmula TRANslation language.

    Due to computer technology advancement in the sixties, seventees and eightees, and due to not having any alternatives (C was introduced much later, and because of its design it was never popular amongst the same crowd that used fortran), a vast amount of production code was written in fortran.
    That same amount of code had to be maintained, and that was one of the major considerations, (and still is) when a new fortran standard is introduced - fortran90. It took the whole fortran77 as a subset, making it very easy to maintain and develop new code which would be easily connectible to old, already written one, but also it introduced a large number of new features.

    New standards were introduced after fortran90 as well, and although some features of the language have been declared obsolete, some even deleted, you'll find that most vendor's compilers support all fortran features from '77, but also support new features from '2003 standard.
    Anyway, you can find more on these on wikipedia's article about fortran.


    Now I'll comment and address some of the questions in your post.

    At my current place of employment there are a handful of maybe two to three employees that add and maintain functionality of legacy fortran77 code. When I was first hired I briefly considered trying to become fluent in the ancient language, soon after I changed my mind. This conclusion came from a combination of reasons; initially I admit the steep learning curve pushed me away.

    What does your company do (in general) ?

    Although I've seen fortran described as a "legacy language", "old", "ancient", even "dead", I've never ever seen it being described as a language that had a "steep learning curve". An old IBM manual on fortran77, which was my first introduction to the language many years ago, had no more than 50 pages or so of one side print.
    What parts did you find uncomprehensible, and how much effort did you put in clarifying them ?

    But even after I began to develop a trivial understanding of the language I found that I never had any useful ‘projects’ I could contribute.

    Numerical weather prediction, finite element analysis, computational fluid dynamics (CFD), computational physics, and computational chemistry are just some of the areas in which you'll find it used. It is one of the most popular languages in the area of high-performance computing and is also used for programs that benchmark and rank the world's fastest supercomputers.

    I find it hard to believe that you couldn't contribute to either of these areas. Of course, if you're not interested in neither of these, and wish to work on office applications or web development, then indeed maybe, it is a wrong language to begin with.

    Which lead me to the realization, what good would Fortran77 be on my application if I were job searching again? It occurred to me that, unless I was interested in maintaining legacy code that some unknown long since retired employee had written thirty+ years ago, I should spend my time learning a newer, more utilized, language.

    I agree. I agree throughly.
    You shouldn't try and learn fortran77. It is, even by a conservative point of view, an old language. However, learning fortran90/95 and studying new features of the 2003 and 2008 standard is the way to go. Maintaining old '77 code shouldn't present any problems, and writing new code should be done in newer standards, which also include some features for easier organizing your programs. OO-programming is also supported, although, it differs to some degree from the C's point of view.

    Google trends makes an interesting graph, to my point, when given Fortran. Also interesting to note is that the combined sum of Fortran tagged questions on stackoverflow is less than 100 at the time of this post.

    Mathematicians, engineers, physicians ... all combined, do not make up very large percent of the general population. Never did. The difference is that 40 years ago, when a big amount of fortran code was written, they were one of the rare ones that had access to computers. So it gave the illusion that everyone was using fortran in those days.

    Nowadays, the number of people in those areas remain pretty much the same, only compared to total number of computer users, it presents a much smaller percentage.

    So what new projects and applications are suitable for a groundwork built in Fortran? Is there a large need for Fortran engineers to develop new products, or mostly to maintain old code? Has anybody heard of any recent application development surrounding Fortran?

    I know several, but I doubt their names will mean anything to anyone in here. They're not applications which pickle the public interest, nor are they applications that are publicly available.

    Ultimately, is the return worth the investment in learning Fortran for a new engineer these days?

    I can't answer that. I can add however, that, it is a language with excellent features for engineering purposes, to which an alternative is still not quite in sight (many have tried - they said fortran was dead in the 80ties, they repeated it all through the 90ties, ... now in the "zeroes" it's still here like it was before). It is also a language with very strong corporate backing - (few languages have more companies actively developing compilers than fortran) which is not gonna go just like that (kinda like Microsoft Clippy).


    Of course, I couldn't finish this post without some kind of a reward for the ones that made it all the way till the end :-)

    alt text http://www.daybydaycartoon.com/wp-content/uploads/2014/04/11-24-2002.gif

    这篇关于返回值得投资学习Fortran吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆