はてなキーワード: FORTRANとは
花嫁が輪姦されてるのっていいよね。いいか?うんとても素敵です
Bing:
C言語のもとになる構造化言語は、1970年代から制御構造を導入したプログラミング言語を指しての「構造化言語」というワードが浮上し、当時のgoto文中心だったFORTRANやCOBOLやBASICを意識してそれと線引きするための用語として存在していました1。C言語は、1972年にAT&Tベル研究所のデニス・リッチー氏が主体となって開発した汎用プログラミング言語であり、C言語はBCPL言語を参考にして開発されました23。C言語は、その後、多くのプログラミング言語に影響を与えたことで知られています。
ごちゃごちゃ余計なことを言ってるが、要は答え:BCPL
後に深堀りすると本当はBであることがわかる。(英語で検索して日本語で要約して……)
しかもこのあとにB言語にはGOTOが存在しないとか嘘までつく始末……。ヤバすぎるだろ……
perplexity:C言語の元になった言語はB言語です[1][2][3]。
B言語は、C言語の開発者であるケン・トンプソンが開発した言語で、C言語はB言語の改良版としてリリースされました[1][2]。
https://www.perplexity.ai/search/ead144d3-a2f4-443c-b8b6-036b80218e40
まずBing余計な口答えするわ、ハルシネーションがきつすぎて嘘ばかりつくわ、間違い指摘したらチャット閉じるわでまともな検索には使えない。厳密モード使うくらいならperplexity使ったほうがマシだし、実際にperplexityを使ったほうがマシです。
ちなみに perplexity はB言語にGOTOがあることもちゃんと答えられました。
どっちが本当のことを言ってるのかわからんので、仕様PDF(https://web.archive.org/web/20150317033259/https://www.bell-labs.com/usr/dmr/www/kbman.pdf)見たわ。ってか、そういうメンドイことをやってくれるのを期待して検索チャットAI使ってるんですけど???
この作業が必要になるなら口語で検索したりハルシネーションで余計な時間を食わなくて済むだけ、Google使ってるほうがマシですけど?
そしてBing厳密モードはわからないって答えた。わからないって答えるだけましたけども、そもperplexityはちゃんとB言語にGOTOが存在すること答えられてるので、やっぱりBingよりはperplexityのほうがまともであるという結論になる。
何よりもperplexityは余計なことを言わないで聞かれたことだけを答えるし、ハルシネーション少ないからな。
結論:検索(要約するなら) https://www.perplexity.ai 使え。Bingはうんこ
あいもかわらずBSEの検討してしまった。こんなことしていて意味あるのか。WFを求めるところと最終段のランチョス回すところは既存のものをつかうとして、その間は自分でコーディングするのが良いようなきがしてきた。あの人が2000年前後に展開していた近似法がどこにも実装されていないような気がする。その近似をつかうとだいぶスピードが出るような期待が高まっている。その部分にしたって、既存のFortranコードがベースライン実装だけど、そいつをもとにいじくる。ランチョスの部分はシングルコア想定で並列処理に対応してないので、そこを並列化(共有メモリ並列で十分)する。新興勢力の言語で実装してあるので、そこをどうするか
ほいノ
高専行こうと思えば行けたんだけど、実家離れるの怖くて偏差値45の工業高校へ。
18歳までフリーター。
18歳〜21歳まで定時制に通った。
英語は個人的にそこそこ勉強したけど、数学なんかはⅠの後のAが半分も終わらなかったレベルのバカ校。
この時期は暇で、なぜかやる気に満ち溢れてたから、TOEIC700近くとか日商簿記2級とか色々資格を取った。
24歳でうつになって、30歳くらいまで日雇い・派遣↔無職を半々くらいでリピートしてた。
やってる仕事は大したことなかったけど、幸い仕事中にPCをめちゃくちゃ使うのでやりたい放題だった。
この時にプログラミングを始めた。
ここで年収どんどん上がった。
36歳でうつが再発して辞めて今に至る。
基本は、仕事で使えそうなもの・必要なものをその都度吸収していった感じ。
Webが中心ではあるけど、組み込みとかのハードが絡む分野以外は結果的に広く浅く手を出してる、つもり。
Excel VBA | 1年 |
VB.NET | 半年 |
JavaScript(Node.js) | 4年 |
HTML | 1年 |
SQL | 4年 |
GAS | 3年 |
C# | 1年半 |
TypeScript | 2年 |
Java | 半年 |
C++ | 半年 |
ラダー、FB(三菱、シーメンス) | 1年 |
実務経験があるって胸張って言えるのはこれくらい。
大体習得順。
他には、Python、Julia、R、Fortran、Rust、Go、Dart、Shell、Deno、CSSなんかは少しずつかじってる。
最近はWebに関してはほとんどJS(TS)で済む感じになったので楽。
なんでPLCが最後やねんってツッコミは置いといて、Web系寄りでラダーも触ってるって人は観測範囲ではあんまりいないので、それが俺の数少ない強み。
RDBはPostgreSQL、SQL Server、MySQL、SQLiteの順で実務経験あり。
NoSQLはFirestoreが実務経験あり、実務なしだとNeo4jとか。
PaaSはGCP(Firebase)、AWSの順で実務経験あり。AzureはADとVM周りをちょっと触った程度。
Dockerはよく使うけどKubernetesとかまでは行ってない。
後は産業用の通信プロトコル的なやつを無駄に色々触ってる。Modbus TCPとかORiNとかCC-Linkとか。PLCもそうだけど、あの辺は日本とドイツとアメリカが未だに既得権益で幅利かせててまじで闇深い。その代わりそれをブレイクスルーできればめっちゃ稼げる分野だと思う。
閑話休題。
フリーターでどんな仕事してるか知らないけど、仕事で一日の半分が無くなっちゃうじゃん?
以下、俺の場合ね。
次長クラスの人が「この製造番号でクレームがあったんだけど、作業当時どんなことあったか覚えてない?」みたいなことをわざわざ現場まで何度も聞きに来るんだよ。
作業したのなんて半年前だったりするから一々覚えてないっすよ、って言ってるのに何度も聞きに来るから、イラッとして仕事用のPCで勝手にExcelで業務日報を付けるようにして、イントラのファイルサーバーに置いて「そういう時はこれ見て下さい。次長の貴重な時間が勿体ないです」って言ったのよ。
それだけでめちゃくちゃ喜ばれる。
で、今度はその次長が「この製造番号どれくらいの時間で作業終わった?」みたいなことを現場までわざわざ何度も聞きに来るから、俺はその時またイラッとして、Excelでストップウォッチもどき作って製造番号とか工程ごとに時間計測して記録して、やっぱりファイルサーバーに置いて「これ見て下さい」って言ったのよ。
それでまた、めちゃくちゃ喜ばれる。
最初はプライベートな時間も結構使ってやってたんだけど、そういう周りに喜ばれる効率化を繰り返してると、少しずつ業務時間内で自分のスキルアップに直結する時間を作れるようになる。
自分でこれ面倒くせーな、効率よくできねえかなって思ったら、じゃあどうやって?てのを考える。
ちなみにPCがなくても、たとえばメールアドレスさえあれば今の時代カイゼンはできる。
大きな会社に勤めてるとかだと使うのが難しいんだけど、IFTTTとかが良い例かな。
これはiPaaSっていうサービスの一種で、まあ言葉の意味は覚えなくて良いんだけど、要は「イベントAが発生したら別のイベントBを起こせ」っていうのを登録して、自動化できるWebサービス。
例えば、あなたが日雇いの会社にいて、毎日違う現場に働きに行くとする。
で、出勤前、現場到着時、勤務終了の時にLINEで毎日報告しなきゃいけないとする。
で、その報告を受けた事務方は、Googleスプレッドシートにその都度入力する。つまり、それだけの為の事務員が一人いる。
面倒くさいし、お金がかかる。
そこで、「特定のグループでLINEを受信したら(イベントA)、特定のGoogleスプレッドシートに情報を記録せよ(イベントB)」っていうのをIFTTTに登録すると、少なくとも事務員の入力の手間は省けるってえ寸法だ。
IFTTTはたくさんイベントを処理させたい場合は有料になっちゃうけど、個人で試すぶんにはクレカ登録しなきゃいいだけだから試してみるといいよ。
月1000円で学べる。コスパは圧倒的。
入門コース(学習に180時間と公称してる)がしっかり理解できていれば、Webで大抵のものは作れる。
ただし、大筋は問題ないんだけど、細かい部分で最新技術をキャッチアップできてない可能性があるので、そこは注意した方が良いかも。
https://www.nnn.ed.nico/pages/programming/
N予備校の入門コース終わらせたら、基本情報技術者か応用情報技術者を取る。
そしたら、職歴書の作り方次第で中小企業の社内SEにはまず転職できる。
中小企業の社内SEは、ITリテラシーの低い社員が多い中で「Excelのセルの色が変わらなくなっちゃったんだけど!」とか「複合機が紙詰まりって言ってるけどその紙が見つからない!」とかクソイージーなクエストをこなすだけでおちんぎんが貰える、人によっては天国、人によっては地獄のような職業だ。
ごめん、流石に言い過ぎた。実情は色々と面倒くさい。DXとかバズワードを聞きかじったクソ重役から突然言い渡される重めのミッションとか。
けど安定なのは間違いない。
N予備校の入門コース終わらせたら、基本情報技術者か応用情報技術者を取る。ここは社内SEと同じ。
生産技術ってのは、誤解を恐れずにすげえ簡単に言えば、カイゼンばっかりやってる人たちのことだ。
あんまり詳しくは言えないんだけど、俺が最後にやっていた仕事は言わば生産技術だった。
で、中小企業の生産技術は、Webに強い人材をかなり欲しがっている。有り体に言うとIoTとかね。
IoTは最近、セキュリティの強化がかなりクローズアップされていて、そのせいで二の足を踏んでる企業が多い。
そこに滑り込むのはアリだと思う。
よく「T型人材」って言われ方をするけど、どっちのスペシャリストの言うこともある程度分かる「橋渡し」的な人材になると途端に貴重になって需要が増すので、上昇志向があるなら「Web+何か」の組み合わせでお金稼ぐのが良いんじゃないかな。
ま、橋渡しって自然とプロマネとか任されがちで、裁量大きくて大変なんだけどね。
質問あればどうぞ。頑張って。
それは現状で i 単体の使われ方の話であって、FORTRANの暗黙の型宣言で変数名の頭文字が[i,j,k,l,m,n]の6つのいずれかであれば整数型変数とみなされる設計になっていた由来の話ではないぞよ。因果関係が逆だぞよ。
元はFORTRANの暗黙の型宣言で変数名の頭文字が[i,j,k,l,m,n]の6つのいずれかであれば整数型変数とみなされたので(それ以外は明示的に型宣言をしないと実数型となり処理速度が遅くなる)FORTRANのループにI,J,K,L,M,Nが使われることが多かったので、その慣習が以降の言語にも伝わったため、が正しいと思います。