いくら考えても、どうにもならぬときは、四つ辻へ立って、杖の倒れたほうへ歩む。
Advent Calendar 2022 3日目1の記事です。
私のAdvent Calendar 2022 一覧。
はじめに
Elixirを楽しんでいますか
Nervesを楽しんでいますか
今朝、NervesJP Slack ワークスペースに、@kikuyuta先生から以下のツイートのご紹介がありました。
このビッグウェーブに乗るしかありません2 。
TIL I could enable the Fortran compiler in the Nerves toolchains without affecting firmware sizes if you don't use Fortran. We've gotten 2 requests in the history of Nerves for Fortran. Next toolchain release will support it - very curious if this will actually be used.
— Frank Hunleth (@fhunleth) January 2, 2022
次回のリリース3で、Nerves上でFortranも楽しめるようになるとのことなので、まずはパソコン上にてFortranでHELLO, WORLD!
しておきます。
参考にしたサイト
ありがとうございます!
これのElixir版は、@nikuさんの「Elixir 基礎文法最速マスター」です。
実行環境
Dockerで実行しました。
上記を参考にしました。4
ありがとうございます!
ソースファイル
PROGRAM HELLO
PRINT *, 'HELLO, WORLD!'
END PROGRAM HELLO
※ 6個のスペースには意味があります。詳しくは、「とほほのFORTRAN入門」をご参照ください。私もノスタルジー感を出したく、「FORTRAN 77」 に従ってみました。
FROM alpine
WORKDIR /home/fortran
RUN set -x && \
apk update && \
apk add --no-cache gfortran musl-dev
CMD ["/bin/sh"]
version: '3'
services:
fortran:
build: .
container_name: fortran
volumes:
- .:/home/fortran
tty: true
Run
$ docker-compose run --rm fortran gfortran hello.f -o hello
$ docker-compose run --rm fortran ./hello
$\huge{\ HELLO, WORLD!}$
ビッグウェーブなの?
わかりません。
ただ、少なくとも私にとっては間違いなく、すべからくビッグウェーブです。
私は誰かからたのまれたわけでもありませんが、@kaizen_nagoya さんに刺激を受けて、2022/12/25までアドベントカレンダー 2022と題して書き続けることを決めました。
Fortran on Nervesで何本か書けそうです。
私にはビッグウェーブ到来です。
冗談は顔だけにしておいて、以下の記事をご紹介しておきます。
「Fortran」の人気が再燃?--専門家が考える現状と展望
$\huge{「Fortran」の人気が再燃}$
しているんです!5
これは私の勝手なイメージですが、Nervesには必要最小限のものしかデフォルトでは入れない、必要な人は各自で必要なものを追加してねというようなポリシーがあると思っています。
過去2度ほどのFortranの追加要望があったとツイートには書いてあります。
これが200回とか2,000回とか20,000回なら、必要ですね〜 と、Nervesのコアチームが決断するのを私でも理解できるとおもいます。
たったの2回ですよ、たったの。
ということはですよ、ですよね〜。もうお分かりですよね、私が言いたいことは。
「「Fortran」の人気が再燃?--専門家が考える現状と展望」この記事に書いてあるような事態が本場アメリカでは巻き起こっていて、何に使うのかまでは私にはわかりませんが、実行環境としてNervesが一躍スターダムにのし上がってくるのかもしれません2
Wrapping up
近々?、NervesでFortranを楽しめるようになるそうです。
Fortran未経験の方は、「とほほのFORTRAN入門」を参考に、準備をはじめてみてはいかがでしょうか。
Enjoy Elixir
I organize autoracex.
And I belong to NervesJP.
I hope someday you'll join us.
We Are The Alchemists, my friends!
-
@kaizen_nagoya さんの「「@e99h2121 アドベントカレンダーではありますまいか Advent Calendar 2020」の改訂版ではありますまいか Advent Calendar 2022 1日目 Most Breakthrough Generator」から着想を得て、模倣いたしました。 ↩
-
正確には、
Next toolchain release
と原文のツイートには書いてあります。よくわからないので「次回のリリース」というあいまいで便利な日本語にしています。こうやって、翻訳時に間違いが埋め込まれていくというのを地でやっているわけでありまして、やっぱり英語は英語のまま理解するというのが一番よいわけです。 ↩ -
当初、 https://hub.docker.com/r/ibmcom/xlf-ce/ を参考にすすめてみましたが、
docker: no matching manifest for linux/amd64 in the manifest list entries.
というエラーがでて断念しました。断念したのは、元となるリポジトリが5年間ほど更新されていないことと私はいずれNervesで動かすので、ここで立ち止まる必要はないからです。ググり力が足りず、なんだかわからないけど、今回はまあ、いいやと放っておくことにしました。いや、こういうのってすぐまた別なところで同じく詰まるんですよね。だから、私のマネなんか(だれもしないとはおもいますが)しないほうがいいです。 ↩ -
私事ですが実家を片付けていると、20年以上前に買ったFortranの本がでてきました。そのまま格納してしまいましたが、やっぱり引っ張り出してこようとおもいます。実家までは車で30分くらいです。 ↩