Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
FORTRAN と格闘した話
Search
Junichi MORI
March 21, 2026
Technology
76
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FORTRAN と格闘した話
Junichi MORI
March 21, 2026
More Decks by Junichi MORI
See All by Junichi MORI
Codex を使ってアプリを作ってみました
junichim
0
44
自社の魅力について(森ソフト)
junichim
0
23
ローコードツールPleasanterの紹介
junichim
0
51
RAG を試してみて感じたこと
junichim
0
92
Other Decks in Technology
See All in Technology
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
920
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
170
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
190
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
4
1.1k
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
100
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
330
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
940
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
340
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
110
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
410
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
WCS-LA-2024
lcolladotor
0
890
Building Adaptive Systems
keathley
44
3.2k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Marketing to machines
jonoalderson
1
5.9k
ラッコキーワード サービス紹介資料
rakko
1
5.3M
Unsuck your backbone
ammeep
672
58k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Transcript
FORTRANと格闘した話 2026/3/21(土)@伊勢IT交流会 森ソフト 森純一
誰? • 森ソフト 代表 森純一 https://www.mori-soft.com • 三重県伊勢市にいるプログラマー(個人事業主)です • スマホのアプリ開発(Java,
Flutter) • 業務システム開発(Excel, Access, SQL Server) 2
FORTRAN って知ってますか? • 昔々からあるプログラミング言語 • 50代より上の方は、授業でやった人もいるかもしれません • 数値計算の分野で使われてました(使われています?) • 分野によってはいまでも現役
• 言語仕様も進化してる • FORTRAN77, Fortran90, 95, 2003, 2008, 2018, 2023, ・・・ 3
試したい人向け:VSCode でも使えます • コンパイラ • gfortran: GNU、無償 • ifx (旧
intel fortran)、無償版もある • その他有償のコンパイラ • おすすめの拡張機能 • Modern Fortran • fortls • findent • ブログにもまとめてます https://blog.mori-soft.com/entry/2025/12/12/172608 4
Fortran 90 以降へリファクタリング • FORTRAN77 以前は固定形式 • 一行72文字 • コードは7文字目から
• 長いものは次の行の6文字目に文字を入れる • コメントは1文字目に『C』をタイプ • 古のパンチカード時代の名残 • Fortran90 以降 • 自由形式, 行長の制限なし • コメントも自由に入れらる • 言語としても大きく変化:廃止機能多数、新機能多数 5
はまりポイント • リファクタリングをやって、気になった点をいくつか話します • FORTRAN にめっちゃ詳しいというわけでもないので間違いが あったときはご容赦ください • 何かに活用するならご自分でも調べてくださいね •
すべて、私の主観なのでその点はご了承ください 6
暗黙の変数 • 変数の型が暗黙的に決まる • I, J, K, L, M, N
で始まる変数→整数型 • A-H, O-Z で始まる変数→実数型 • 変数だけじゃなく関数の戻り値の型もこれに従う • Fortran 90 以降だとこれを無効にできる • implicit none という宣言を追加 • すべての変数(と関数)にあとから型を追加する必要がある • 数が多いと大変 7
サブルーチンと関数 • 戻り値のないものがサブルーチン、戻り値があるのが関数 • 引数がすべて参照渡し • 引数の型, 個数, 戻り値がチェックされない •
サブルーチンを呼ぶとき • CALL Sub1() • でも、 x = Sub1() としても呼べてしまう 8
サブルーチンを関数として呼び出す 実行結果:これなに? こういうプログラムがあります 9
勝手にstatic変数 • 定数:PARAMETERとすると定数になる • 定数にすると、自動的にstatic(SAVE属性)になる • 初期化:DATA文というので値を設定 • 初期化すると、自動的にstatic(SAVE属性)になる 10
共有メモリブロック • 共有メモリブロック • COMMON文というので名前を付けて宣言 • そのメモリブロックに含まれる変数を記述 • 複数のサブルーチン・関数で同じブロック名を宣言するとメモリが共 有される
• グルーバル変数的な扱い • COMMONブロックの宣言 • 関数ごとに(同じCOMMONブロックであっても)変数名が違ってOK • 変数名だけではなく、型も違ってよい • 全体のサイズは一致する必要がある • 怖い 11
閑話休題:FORTRAN と Fortran • FORTRAN77 以前のものを指すことが多い • 固定形式, 72 カラム制限,
・・・ • Fortran90以降のものを指すことが多い • 自由形式, コメント位置が自由, ・・・ • 決まりというよりは慣習 12
温故知新 • VBA 触ってるときの文法上の決まり • 似たような書き方がある • sub/functionの区別 • functionの戻り値は関数名に値を代入
• etc • たぶん、古からの流れ • メモリとかを意識する • 今の言語がいかにハードウェアに近い層を意識しなくてよいかを痛感 • たまには昔からの言語を触るのもよいですね 13
以上