Является ли доход стоимостью инвестиций в изучение Фортрана? - программирование
Подтвердить что ты не робот

Является ли доход стоимостью инвестиций в изучение Фортрана?

В моем текущем месте работы есть несколько, возможно, от двух до трех сотрудников, которые добавляют и поддерживают функциональность старого кода fortran77. Когда я впервые был нанят, я кратко подумал о том, чтобы попытаться свободно говорить на древнем языке, вскоре после того, как я передумал.

Этот вывод исходил из сочетания причин; сначала я признаю, что крутая кривая обучения оттолкнула меня. (Непосредственно связанный с тем, что большинство моих опытных программистов на гораздо более высоком языке. Не так много, что Фортран развивал сложную функциональность, что было ошеломляющим.) Но даже после того, как я начал развивать тривиальное понимание языка, я обнаружил, что я никогда не было никаких полезных "проектов", которые я мог бы внести. Что привело меня к осознанию того, что хорошего будет Fortran77 в моем приложении, если я снова найду работу? Мне пришло в голову, что, если бы я не интересовался сохранением устаревшего кода, который неизвестный с тех пор, как отставной сотрудник написал тридцать лет назад, я должен был потратить свое время на изучение более нового, более используемого языка.

Тенденции в Google делает интересный график, на мой взгляд, при использовании Fortran.

Также интересно отметить, что объединенная сумма тегов с тегом Fortran на stackoverflow меньше 100 на момент публикации.

Итак, какие новые проекты и приложения подходят для фундамента, построенного в Фортране? Существует ли потребность инженеров Fortran в разработке новых продуктов или в основном для поддержки старого кода? Кто-нибудь слышал о недавней разработке приложений вокруг Fortran?

В конечном итоге, стоит ли инвестировать в изучение Fortran для нового инженера в эти дни?

4b9b3361

Ответ 1

Я отвечу на ваш вопрос немного позже, но сначала я обращусь к адресу еще один пункт - или я должен сказать, еще один надзор, который, как представляется, регулярно возникает среди вопросов, которые включают тег "fortran".


Фортран впервые появился в 1950-х (1957), в зависимости от вашего определения "появиться". С тех пор и до сих пор он прошел несколько версий:

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

(жирный шрифт считается основным шагом в развитии языка)

Он был разработан с самого начала и с целью быть языком для преимущественно численных вычислений. Следовательно, имя - FORTRAN - FOR язык mula TRAN.

Благодаря продвижению компьютерных технологий в шестидесятые, семнадцати и восемнадцати и из-за отсутствия альтернатив (C был введен намного позже, и из-за его дизайна он никогда не пользовался популярностью среди той же толпы, что и fortran), обширной количество производственного кода было написано в fortran.
Такой же код должен был поддерживаться, и это было одним из основных соображений (и до сих пор), когда вводится новый стандарт fortran - fortran90.  В качестве подмножества потребовалось целое fortran77, что упростило поддержание и разработку нового кода, который был бы легко подключен к старой, уже написанной, но также представил большое количество новых функций.

Новые стандарты были введены и после fortran90, и хотя некоторые функции языка были объявлены устаревшими, некоторые даже удалены, вы обнаружите, что большинство компиляторов поставщиков поддерживают все функции fortran от '77, но также поддерживают новые функции от Стандарт 2003 года.
В любом случае, вы можете найти больше на них в статье в википедии о fortran.


Теперь я прокомментирую и рассмотрю некоторые вопросы в вашем сообщении.

В моем текущем месте работы есть несколько, возможно, от двух до трех сотрудников, которые добавляют и поддерживают функциональность старого кода fortran77. Когда я впервые был нанят, я кратко подумал о том, чтобы попытаться свободно говорить на древнем языке, вскоре после того, как я передумал. Этот вывод исходил из целого ряда причин; изначально я признаю, что крутая кривая обучения оттолкнула меня.

Что делает ваша компания (в целом)?

Хотя я видел, что fortran описывается как "устаревший язык", "старый", "древний", даже "мертвый", я никогда не видел, чтобы его описывали как язык, который имел "крутую кривую обучения", Старое руководство IBM по fortran77, которое было моим первым знакомством с языком много лет назад, имело не более 50 страниц одной из сторон. Какие части вы находили непонятными и сколько усилий вы прояснили их?

Но даже после того, как я начал разрабатывать тривиальное понимание языка, я обнаружил, что у меня никогда не было полезных проектов, которые я мог бы внести.

Численное прогнозирование погоды, анализ конечных элементов, вычислительная гидродинамика (CFD), вычислительная физика и вычислительная химия - это лишь некоторые из областей, в которых вы найдете их. Это один из самых популярных языков в области высокопроизводительных вычислений, а также используется для программ, которые сравнивают и оценивают самые быстрые суперкомпьютеры мира.

Мне трудно поверить, что вы не смогли внести свой вклад в любую из этих областей. Конечно, если вы не заинтересованы ни в одном из них, и хотите работать над офисными приложениями или веб-разработкой, то, возможно, это, пожалуй, неправильный язык.

Что привело меня к осознанию того, что было бы лучше для Fortran77, если бы я снова искал работу? Мне пришло в голову, что, если бы я не интересовался сохранением устаревшего кода, который неизвестный с тех пор, как отставной сотрудник написал тридцать лет назад, я должен потратить свое время на изучение более нового, более используемого языка.

Я согласен. Я полностью согласен. Вы не должны пытаться учиться fortran77. Это, даже с консервативной точки зрения, старый язык. Тем не менее, изучение fortran90/95 и изучение новых возможностей стандарта 2003 и 2008 - это путь. Сохранение старого кода "77" не должно представлять никаких проблем, и писать новый код следует в более новых стандартах, которые также включают некоторые функции для упрощения организации ваших программ. OO-программирование также поддерживается, хотя оно в некоторой степени отличается от C-точки зрения.

Тенденции Google делают интересный график, на мой взгляд, при использовании Fortran. Также интересно отметить, что общая сумма тегов с тегом Fortran, связанных с stackoverflow, составляет менее 100 на момент публикации.

Математики, инженеры, врачи... все вместе, не составляют очень большой процент населения в целом. Никогда не делал. Разница в том, что 40 лет назад, когда было написано большое количество кода fortran, они были одними из редких, у которых был доступ к компьютерам. Таким образом, это создало иллюзию, что все использовали fortran в те дни.

В настоящее время количество людей в этих областях остается практически таким же, только по сравнению с общим числом пользователей компьютеров, оно представляет гораздо меньший процент.

Итак, какие новые проекты и приложения подходят для фундамента, построенного в Фортране? Существует ли потребность инженеров Fortran в разработке новых продуктов или в основном для поддержки старого кода? Кто-нибудь слышал о недавней разработке приложений, связанных с Fortran?

Я знаю несколько, но я сомневаюсь, что их имена будут означать что угодно кому угодно. Они не являются приложениями, которые раскроют общественные интересы, а также не являются общедоступными приложениями.

В конце концов, стоит ли инвестировать в изучение Fortran для нового инженера в эти дни?

Я не могу ответить на это. Я могу добавить, однако, что это язык с отличными функциями для инженерных целей, к которому альтернатива все еще не совсем понятна (многие пытались - они сказали, что fortran был мертв в 80-х годах, они повторяли все это через 90-е,... теперь в "нулях" он все еще здесь, как раньше). Это также язык с очень сильной корпоративной поддержкой - (на нескольких языках больше компаний активно разрабатывают компиляторы, чем fortran), которые не собираются так просто (вроде Microsoft Clippy).


Конечно, я не смог закончить этот пост без какой-то награды за те, которые до конца закончили: -)

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

Ответ 2

Я работаю в высокопроизводительных вычислениях и численном прогнозе погоды, и мы определенно используем Fortran для новых и старых проектов. Я не могу говорить в других магазинах, но я знаю, что некоторые из нас используют Fortran 90 исключительно, но многие из них все еще используют FORTRAN 77, потому что это то, что они знают, что им нравится, и, по-видимому, такие вещи, как динамическое распределение памяти, и форматирование свободной формы для них не важно.

Если вы находитесь в одной из этих областей, где это распространено, я думаю, было бы полезно иметь базовые знания в области чтения языка. Даже когда парадигма переходит от чистого Фортрана от начала и до конца к чему-то вроде Python для управления на высоком уровне и Fortran для "жестких" частей, знание вашего пути вам подойдет. В зависимости от предыдущего языкового опыта, я не думаю, что это было бы слишком сложно подобрать.

Несмотря на то, что на самом языке Fortran все еще есть работа и продолжается (например, Fortran 2003), я был бы в восторге, если бы мы наконец-то добрались до Fortran 90!

Ответ 3

... это возврат инвестиций...

Если это вас интересует, тогда да. Период.

Ответ 4

Квалифицированный да, но в основном нет...

Для меня Fortran используется аналогично на работе, возможно, стоит инвестиций, так как это делает вас лучше на вашей работе. Однако, как чисто академическое упражнение, я бы так не подумал. В моем понимании ничто не делает особенно важным учиться с точки зрения личного улучшения.

Если это действительно поможет в вашей работе, стоит ознакомиться с любым языком. Все они настолько взаимосвязаны, что это не большая сделка, чтобы выучить новый язык, если он поможет вам на работе.

Но для чисто академического изучения языка работайте над чем-то забавным, как Haskell или что-то, что может помочь вам построить свое понимание аппаратного обеспечения например ассемблер или C.

Аналогичный пост с некоторой полезной информацией можно найти здесь.

Ответ 5

Как @Idigas, я собирался прокомментировать "крутую кривую обучения", которая заставила меня усмехнуться.

Но потом я понял, что тяжело о Fortran (и старом стиле BASIC и языке ассемблера) для современного программиста - это дисциплина, чтобы предотвратить превращение кода в спагетти.

Это то, что вы имели в виду, изучая кривую? Потому что и Fortran, и BASIC кажутся языками, которые вы забираете днем.

Ответ 6

Я думаю, что изучение новых языков в целом всегда хорошо. Тем не менее, если вы учитесь повышать свою собственную ценность (а не только ради удовольствия), вероятно, лучше просто узнать что-то более актуальное/востребованное в вашей области поиска работы. Это даст вам лучшую отдачу для ваших инвестиций времени, ИМХО.

Ответ 7

Думает ли ваш босс, что это было бы полезно для него/нее? Не быть полным коричневым носом, но этот человек должен немедленно повлиять на вашу ситуацию, и имеет смысл облегчить свою работу.

Если есть другие языки, которые вы можете использовать для своей работы, узнайте их.

Хотя FORTRAN не может открывать какие-либо рабочие места, тот факт, что вы изучили язык, необходимый для выполнения своей работы, показывает, что вы способны и заботитесь. Вы не хотите сидеть в своем следующем интервью, описывая ваши текущие технологии. ситуацию и упомянуть использование FORTRAN, в котором у вас нет нулевого понимания (хорошо, вы, вероятно, могли бы избежать этого с минимальными усилиями.).

Я изучил FORTRAN в граде. школа, создала одно приложение (не удалось его скомпилировать на Win98) и не использовала его с тех пор - не жалею.

Ответ 8

Возрождение старой темы здесь, но какого черта. Я бы сказал, да, это хорошая инвестиция - и (как намекнул Алекс Мартелли выше) инвестиции - это действующее слово здесь! Зачем? Поскольку модели роста инвестиций, используемые банками и страховыми компаниями, широко используют Fortran. Просмотрите объявления о работе в области финансовых услуг, и вы увидите редкое объявление для парней с любым видом M.S./Кандидат наук. который включал моделирование с Fortran и знакомство с обычными библиотеками подпрограмм Fortran. инвестиционные модели используют крупные матричные манипуляции, и именно здесь Фортран превосходит. Я также согласен с комментарием Носредны о том, что Фортран является одним из самых быстрых языков для обучения. Это особенно верно, если вы в любом случае математичны, поскольку система кодирования Fortran кажется интуитивно уместной (и эффективной) для этого способа мышления. Также есть много хороших учебников (см. Amazon for value s/hands), а также бесплатно компиляторы и библиотеки бесплатных подпрограмм (LAPACK, Intel). Так что это будет только стоить вам времени. У вас также будет язык, который есть у немногих ваших коллег, поскольку сегодняшние инженеры (будь то обычные инженеры, такие как гражданские/механические/электронные или электронные/программные инженеры) учат только C/С++ и Java. Эти финансовые задания хорошо оплачиваются, независимо от скучной среды. Так что это GO с этой целью!

P.S. @Кристиан ниже: Просто, чтобы немного прояснить ситуацию. Там нет предположения, что Cimplicity не должен изучать стандартные языки дня, такие как C/С++ и Java. Один из Perl, Python, Ruby и т.д. В наши дни тоже будет полезен. Но мое впечатление от его первоначального поста было то, что он уже сделал обычную Б.С. конечно, и был в работе/секторе, где иногда использовался Фортран, и он оценивал достоинства его изучения. Вряд ли кто-либо из тех, кто занимается вычислением, остается в одном и том же секторе всю свою трудовую жизнь. Иногда труд трудно найти, особенно если вы не хотите переезжать домой. Сегодня люди должны иметь более высокий уровень универсальности. Инвестиционно-экономическое моделирование не может быть самой модной работой среди программистов. Но для тех, у кого это есть, это, по крайней мере, хорошее старое число, пока они ждут лучших горизонтов. Для людей, уже имеющих некоторые знания в области экономики или просто интересные в нем, это может быть намного больше. Во всяком случае, я подумал, что эта маленькая "секретная" ниша для программистов Fortran была поддержана на свет., Несомненно, есть несколько других таких "секретных" нитей Фортрана.

Ответ 9

Я думаю, это зависит от того, где вы хотите быть. Существует множество старых систем, которые были разработаны в Fortran и нуждаются в поддержке. Там, вероятно, много денег.

Но если вы хотите быть режущим (и, возможно, менее стабильным), изучите Java или С#, или Ruby/PHP/ASP.NET для веб-разработчиков.