止めてくれカカシ・・その質問はオレに効く
「パパはね、プログラムがどうやって動いているかわからないんだ。基本的な四則演算すらね。なんならプログラムも全部AIに書いてもらってるんだ。何が起きているのか全然わかんない。すごいだろ?」
訳わからん言い訳書いてるが普通にステートマシンで構文解析器を作れとしか思わなかった
俺たちはCPUがどうやって四則演算を処理して記憶装置や画面に出力しているのか分からない。雰囲気でコーティングしてる。
eval禁止で電卓アプリ自作させると大体のエンジニアが再帰降下かyaccで詰むやつ
この子と親の会話でプログラミングするシリーズ前もqiitaよく投稿されてたの思い出した
逆ポーランド記法がとうのこうの
社用のtech blogでよくこんな品の無いタイトルの記事書けるなと思う
舐めるなクソガキ。AIに書かせるんだよ
バイナリレベルの話かと思ったらただの逆ポーランド記法だった…
「自分が想像もできないことは AI に頼むのも難しいですしねー」lexやyaccの概念ぐらい知っといたら後はAIに丸投げでいいでしょ。
四則演算をするプログラムを作るって、プログラミング環境の基礎を構築することか?それはほぼできないだろうな。/長い演算を順序付けてやるだけか。まぁ超面倒。CSV処理を自分で用意するぐらい面倒。
私は子がもてなかったのでこの記事を読む資格がない
エンジニア(技術者)って色んな種類があるから、プログラムを扱わないエンジニアも多数いるんじゃない?※『デジタル大辞泉』では「科学上の専門的な技術をもち、それを役立たせることを職業とする人。技術家」とする
計算機科学の景色をちょっと覗けてそこから一歩先に進むための余地もちゃんとある良い記事だなーって思ったけど、ブコメが大不評でええ…ってなった。
一般的なプログラマは(10進精度の)マトモな電卓アプリを作れないって話?それともadderを一から設計しろって話かな?
lex&yaccがやってることを自分で書く話ではなかった。次はそこオナシャス
きも
文字列解釈付きのものは “四則演算を計算するプログラム”には該当するが、文字列解釈付きのものが書けなくとも四則演算を計算するプログラムは書ける人は多数。もしかすると論理的思考ができないのかも
コレジャナイ感がスゴイ。昔Qiitaで見た親子の会話で進んでいくやつかと思ってみたら全然違うし、わざわざこんなタイトル付けんでも。
アセンブラのビットシフトで割り算を書けないとダメだよ派ですか?
ブコメ、怒り心頭が溢れてて笑える
タイトル詐欺。パーサーと構文解析の話だよね?そう書けばいいのに。
そこはLISPで解説してもらいたいところ/NORでAccumulator 組む方がタイトルに即しているか
除算が面倒なんだよねぇ。確かにノーヒントで書けと言われたら無理だわ。と思ったら違った/逆ポーランド記法懐かしい。今でも習うんかな?
図星だとムキーってなるお前らかわいい。昔、Excel VBAでそういうのを求められたけど、逆ポーランド記法に変換して云々まで考えてVBAでやりたくなくてスルーした。
情報処理試験の勉強でやった気がする
四則演算の仕様の問題かと思ったら違ったし、結局書いてないという
この類のソフトウェアエンジニアの大半はカスだ記事は何度も燃えて、会社にマイナスにしかなってないのに。情報収集力のないエンジニアは四則演算すら書けないエンジニアよりカスですな。
ホントです。ほとんどのエンジニアはプログラマじゃないっすから。ハンス・カストルプはプログラマじゃない。
ん十年前に研修・練習的なやつを書いた記憶が。まぁ、多倍長整数演算とか浮動・固定小数点とかの車輪再発明をする必要はないと思うよ。ただ、理論・仕組みは理解しといても邪魔にはならない。
逆ポーランド記法なつい
久々に書き出しからして無理ってテックブログに出会えた。ありがとう。閉じるね。
昔読んだ教科書に載ってたなあ。式を逆ポーランド記法に変換、カッコは再帰して処理するとかなんか定番のやり方があったはず。sortを自分で書いてはいけないの類か。(読んでない)
基本情報の問題であったかな、、スタックにするとわかるな、、
ドラゴンブックの最初に書いてあるやろ
SRL A
2個取り出して計算して積もうのところ、2個取り出して計算する時の数字の順番は取り出した順の6-10じゃないのが知識ゼロの人間として気になった
こんにちはクリックベイト
Z80でシフトと加算で掛け算する話ではなかった。
割り算大変だよって話かと思ったら違った(追記)四則演算の話をせずParserの話をするならタイトルにそう書けば燃えなかったのに^^;
面白かった!
FPU非搭載マイコンに浮動小数点使うプログラムを移植するため、IEEE754準拠の四則演算を手書きしたことがあるが、そういう話ではなかった
"四則演算を計算"は頭痛が痛い状態なのでは
整数なら問題なくても小数点扱うと精度の問題出てくるのにそれすら考慮してないとかそういう話ではなかった
GPTに音声で聞いたら答えてくれるようになるから(なっているから)ほとんどの人は四則演算日常的にしないだろうし, そもそもエンジニアはソフトウェア以外に(略
レベルの低い話だな
そりゃ、ほとんどのエンジニアは職務でコンピュータプログラムなんか扱わないから。なんでIT系の人って平気でエンジニアって言っちゃうんだろ。他業界の人はもっと具体的な言葉使ってるよ。
「パーサーと構文解析の話」というタイトルだったらこんなに食いつかないよね。
2進数・16進数の四則演算は難しいんじゃ/例題は、「数字と+-*/()でできた文字列を受け取り計算結果を出力するプログラムを自作せよ」だった
コンパイラ入門みたいな記事だ
「パーサーと構文解析から理解する、四則演算の計算式の処理方法」くらいの導入ならいいのに、しょっぱなから読者を気分悪くさせてなにがしたいん?て記事
C++は2000年代にこれをコンパイルタイムの型計算だけでやり出してわけわからん方向に進化したんだよな。
えっ10で割ることもできないの?
「四則演算を計算するプログラム」←なんつーか、そもそも問題に楽勝感がないというか、昔はyacc/lexなんてのがあって(←なくなってはいないかもしれないが)、わりと定番のテーマだった記憶。
俺らは煽られたら本気で怒りに行くんだ
Lispでいいなら100行以内でかけるかも(うる覚え)。あとカッコなしでもいいならcsでもすぐかけるかも。中置記法はStack使ってやるのがデータ構造的にセオリーだね。
まず読んでもらうのが大変なんだろう
構文解析の話だった
今の時代、調べたらできますと頭の中だけで完結してできますにどれくらいの違いがあるんだろうか。昭和じゃあるまいに
四則演算を計算するプログラムを書ける皆さん向けの記事ではないのだから、そんなに怒らなくても
TIS-100ってSteamのゲーム、掛け算作るのすら難しくて楽しいぞ
隔離所のQiitaから出てくるな
yacc/bisonの話かなと思ったらそうだった
クソ記事だなぁ。30年以上前に同じようなプログラムをVBで真面目に書いた人間としては失笑しか出てこない。
関西型言語じゃないことに違和感しかない
NAND回路から四則演算を実装する話ではなかった
基本的なアルゴリズムの勉強をしていれば、流石にこの程度のプログラムは時間をかければ書けるだろう。
社名出した上でこんな薄ら寒いノリの記事を書けるメンタルが凄い。ネットミームの自作イラストあたりでゾワッとした。
演算前に割る数が0でないかチェックして演算後にキャリーフラグやゼロフラグをチェックして値を補正しなくちゃ。
読者をバカにしながらじゃないと構文解析の説明できないのか
なんでここまで叩かれるのか。。。
主語を他に変えてもドヤれるのでネタ切れ技術系Blogerは真似するといいと思います っていう事を言いたいんだと思った
どこに連れてくか最初に宣言しない技術文書は叩かれても残当だわな
2012年頃だったら会社ブログでこういうノリもありだったと思う。でもいまのTech界隈はGeekノリでデュフフできる感じじゃなくなったよね
センスなくてつまんないだけの記事に攻撃しすぎでは、と思う
BNFの考えが頭の中に入っていれば、BNFにしなくても、再帰降下でさらっと行ける。Cだと文字列読み込み処理の方が面倒かも。
HDLで加算器を書く話ではなかった
括弧の判定をする関数を作成し、文字列の開く括弧と閉じる括弧のペアで切り出して再帰呼び出し。括弧がなければ四則演算記号でsplitして乗除加減の順に計算してまとめる。
小数を含む割り算は難しいよね、分かる分かる(そういう話ではない)
やる必要がないだけで、どうしてもやらなきゃいけなくなったらまぁパースして、ちから技でどうにかするとは思う。
ねえパパ、ほとんどのエンジニアは応力計算すら書けないってホント?、って書けばこのタイトルの無意味さが分かると思う。てか、IT系って「エンジニア」をソフトウェアエンジニアに限定しがち
思い出すのに時間かかるよね
必要になってから調べれば足りる程度の話ではある。ところで途中に挟まる盗作絵はなんだろ。「使えるものは再利用」って、それは御社の著作物じゃないだろ。
逆ポ、大学でやったので懐かしいな。そもそも必要に迫られないから学校で体系的に学んでない人は知らなくても無理もないと思う
逆ポーランド記法ってアカデミックな手法なんでしょ?うちの子供が課題で規定行数に収めるためにコードゴルフした時に使ってた。大学でコーディングを学んでる小学生には必要な記事なんじゃない?
いや、そんなに怒らんでも… >ブコメ タイトル見ただけでそういう話って予想つくじゃん。計算機科学の教科書に出てくる話だし、昔は雑誌の記事とかにもなってたけど最近のエンジニアは馴染みなかったりするのかな。
nand2tetrisやればわかる!!!!!!!!!
京都のほうの大学か
bisonを使ってしまい再帰下降構文解析器を自力で作ってないのは勿体ない!!でもいい記事だと思いました。
巨大数の四則演算って大変だよねとかそういう話が出てくると思ったら違った
昔はexcelっぽいマクロを実装する際にyacc lexを触ったもんじゃ(遠い目) 過去のトラウマが…
なぜか可算回路の話かと空目して何故かJKフリップフロップ組んでた。好きなんだJKフリップフロップ
エンジニアじゃないわい「Claude、頼む」
品のない文章だなあ
非エンジニアとして興味深いし、語彙に愛嬌あるし、ミームも手書きで配慮していいなぁと思ったらぼこぼこにされてて笑った。他人が自分より低い志で承認されるのそんなに憎い?評価の理由は投稿したからだよ…
ブコメ拗らせ過ぎでしょ。ハハハ程度で読めよw
学生時代にJavaでLL1パーサ書いたので、懐かしいなあと思いました。記事の中に怒りを感じた部分はありませんでした。
通年蠅いわ、エンジニアがITエンジニアだけだと思うなよ。(通年蠅いをつかいたかっただけ)
こういうポエム系のはQiita向けだと思ったんがZennにも出てきちゃったか…
四則演算を計算する論理回路を
タイトルを見たとき「乗算を加算の反復で書けるか」みたいな感じを想像したけど、読んだら違かった
タイトル(の元ネタの元ネタ…の元ネタ)はベイトソンのオマージュだろうけど、まあご存知ないか
AIに教えてもらいながら書くよ
昔は大学の授業でコンパイラ作成とかあったけど今もあるんだろか
大昔。まだScannerもParserも知らなかった頃。「隣り合う文字の組み合わせ調べる」「括弧の対応をチェックする」さえすれば,数式が評価できることを発見し,計算コードを書いたことがある。
著作権配慮を感じた(ノ∀`)
単にミスリードを誘うタイトルなのがピキリポイントなんだと思う。曖昧な書き方してる仕様書読んでる気分になるというか…。構文解析の話ならそう書けよと言いたくなる
四則演算をスクラッチから書けるエンジニアは少ないのは確かだけど、このお題で yacc を持ち出すのも大げさな感じ。Pratt Parser とかの再帰下降パーサを書けばよかったのでは。
zennもこういう感じになってきたか
エンジニアという単語の意味も知らない人が何か言ってる
ちゃんとやろうとすると難しいと思う。1/3*3 を0.99999じゃなくて1と出力するとか。
LISPなら (+ 4 (/ (- 10 (* 2 3)) (/ 4 (- 5 3)))) で終わりなんだよな。racketやguileならmatchあるから、これ系のパーサー書くのも余裕
yacc使うんかい。それはここで言う四則演算するプログラムが書けるに入れていいのか?なんかライブラリ持ってくるのではいかんのか?
ちなみに、Excelの数式そのものがスタックマシンで実行される言語です。
今後はこの記事のアクセス数やいいね数がアルダグラム Tech Blogの目標値となるので、これを超えるために社員一丸となってより浅ましいクリックベイトなタイトルを考えてください。
lispを書くプログラマより少ないんじゃなかろうか>逆ポーランド記法
学校の課題でこんなん(ただしカッコなし)が出て、粋がってたからeval使った別解出した気がする。//今思えば先生の手のひらの上かもだなあ。恥ずかしいな…
エクセルの関数でやれ!と言われるとだめかもな…w
RPN,昔、何かの本で見て、書いたことはあるけど、 yacc かー
外向きのテックブログを書いてはいけないタイプの人だ。無駄な煽り、タイトル詐欺、ただうっとうしいだけで面白くないセンスのズレまくった文章と挿絵。早く担当替えないとそのうちもっとヤバいやらかしをするよ
今の若い人はそんなことはやらなくていいとおもうよ。
再帰下降法で楽々です。え、そういう話じゃない?
社名公開してこの記事OKって社風なのか。このノリに合わない人は入社見送る判断ができるので、すごく有益なアウトプット。
なんだっけ、ビットをシフトするんだっけ?
電卓を作ろうって言う話。全加算機ではなかった。/ うーん、yacc 的なのを作ろうよとは思った。
会社名出してクリックベイトとは終わってるな。
だったらeval 使うのと五十歩百歩じゃないか。>yacc をつかって構文解析してみよう
演算では無く式の解釈の話だった。演算そのものにも色々面白い事あるのにな、乗算器が無いCPUでどうやって効率よく掛け算と割り算をやらせるか、とか。
「ねえパパ、どうしてはてなーはこれ読んで怒っているの?」 「人は自分ができない事を認めるのは難しいんだ。だから言葉尻とかで相手を攻撃するんだよ。」 「そんなことしてないで勉強すればいいのにね。」
これ書くくらいなら、「ほとんどのITエンジニアは連立方程式を解くプログラムすら書けないってホント?」くらい煽り散らかせばいいのに
整数の加減算しかないマイコンのアセンブラで浮動小数点の加減乗除を実装みたいな話かと思ったら全然違った。
怒ってる人多いけど、僕は結構おもしろく読めた。この程度の釣りタイトルはそんな目くじら立てるほどでもないと思うけど。逆ポーランド記法が主題だと思うけど、yacc使ってるのが気に入らないのかな?
20世紀末にyaccとか使わず完全に自作したなあ。逆ポーランド記法に変換できれば良いことはわかってたので括弧の対応を順番に拾って頑張った。あの頃が一番プログラミング楽しかった気がする……
コンパイラ作ったとか主張してるけどこれは全くコンパイラではないし、なぜかパーサだけ紹介してトークナイザの説明を一切してないし、生成AIの出力を全然理解しないで繋ぎ合わせたくらいの理解度に見える。
2進数と10進数の変換の関係で少数が正確に計算できない問題かと思ったら違った
こういうノリって痛くてほんと苦手だわ
えーっと。何のことはない、字句解析の話がしたかっただけ?しょうもない煽りの前文いらないのでは?結局yaccに丸投げだし(笑)
ねえパパ,ほとんどのエンジニアはプログラムを解釈して実行するプログラムすら書けないってホント?
トルコ風呂みたいにポーランドから苦情来ないのかな
工学部の情報系出てれば基礎として習ってるだろ
yaccやバッカス記法の話をしたいんやろなと思ったらだいたい予想通りだった。古参エンジニアならこのあたりはひと通り通過儀礼としてやってる人多いと思うけどな。
アセンブラと命令セットの話でも始まるのかと思った
専門外・分野外なので楽しく読んでいたけど炎上しているのね ゼロ割りも自動的に排除できたりしないのかしらん 恩師の本の紹介から京大情報系出身でLISP触っていそうというのは分かった
アセンブラでレジスタシフトするとか?と思った。逆ポーランド記法はCactiでプリセットだかテンプレートだか作るときに学んだなあ
湯浅先生が一番かわいそう
yaccってbisonに置き換わったと思ってたけど(よく見たら文中にも書かれているが)yaccはパーザ生成系の代名詞として名前だけ生きてる感じ?
「(きっとそういう人は普段のプログラムはアセンブラ言語を手書きしてから16進数に手で変換しているのでしょう)」そういうこと言うと本当にハンドアセンブル披露する人出てくるから
記事の主題はパースの話のようだった。 / ところで、int add( int a, int b){ return a+b; } みたいなのは足し算を計算するプログラムに入るのだろうか。組み込み関数のラッパー作ってるだけやんみたいな気もするが。
回路の話と思ったのに/左再帰が無いからRD手書きした方がよっぽど理解に繋がるのに
内容はともかく、読んでると恥ずかしくなってくる…
このくらい別にいいやん。。
トークナイズするって話?煽ってるなー。(本文ちゃんと見ないで発言)
くっだらねー
私は「Go言語でつくるインタプリタ」で履修済みですので(書けるとは言ってない)
この程度だとyacc使わなくてももっと簡易なクラスの文法で実装できるので手書きでもいけるはず。演算子文法だっけ。
scanfで入力された式から数値と演算子を読み取り計算しろというのはC言語の定番課題だと思う。
「UNIXプログラミング環境」懐かしい。これと「yacc and lex」でコンパイラを作るのが研究室での課題だったような。Sun4とvt220だったかな
相変わらず、自分のイメージするエンジニアを主語デカエンジニアで書いてしまう問題は解決してないのか。四則計算の前にそこからどうにかしてはどうだろうか?
このタイトル見たら、どこまで降りてくのかなぁと思うよね。
ねえパパ、ほとんどのエンジニアは四則演算を計算するプログラムすら書けないってホント?
止めてくれカカシ・・その質問はオレに効く
「パパはね、プログラムがどうやって動いているかわからないんだ。基本的な四則演算すらね。なんならプログラムも全部AIに書いてもらってるんだ。何が起きているのか全然わかんない。すごいだろ?」
訳わからん言い訳書いてるが普通にステートマシンで構文解析器を作れとしか思わなかった
俺たちはCPUがどうやって四則演算を処理して記憶装置や画面に出力しているのか分からない。雰囲気でコーティングしてる。
eval禁止で電卓アプリ自作させると大体のエンジニアが再帰降下かyaccで詰むやつ
この子と親の会話でプログラミングするシリーズ前もqiitaよく投稿されてたの思い出した
逆ポーランド記法がとうのこうの
社用のtech blogでよくこんな品の無いタイトルの記事書けるなと思う
舐めるなクソガキ。AIに書かせるんだよ
バイナリレベルの話かと思ったらただの逆ポーランド記法だった…
「自分が想像もできないことは AI に頼むのも難しいですしねー」lexやyaccの概念ぐらい知っといたら後はAIに丸投げでいいでしょ。
四則演算をするプログラムを作るって、プログラミング環境の基礎を構築することか?それはほぼできないだろうな。/長い演算を順序付けてやるだけか。まぁ超面倒。CSV処理を自分で用意するぐらい面倒。
私は子がもてなかったのでこの記事を読む資格がない
エンジニア(技術者)って色んな種類があるから、プログラムを扱わないエンジニアも多数いるんじゃない?※『デジタル大辞泉』では「科学上の専門的な技術をもち、それを役立たせることを職業とする人。技術家」とする
計算機科学の景色をちょっと覗けてそこから一歩先に進むための余地もちゃんとある良い記事だなーって思ったけど、ブコメが大不評でええ…ってなった。
一般的なプログラマは(10進精度の)マトモな電卓アプリを作れないって話?それともadderを一から設計しろって話かな?
lex&yaccがやってることを自分で書く話ではなかった。次はそこオナシャス
きも
文字列解釈付きのものは “四則演算を計算するプログラム”には該当するが、文字列解釈付きのものが書けなくとも四則演算を計算するプログラムは書ける人は多数。もしかすると論理的思考ができないのかも
コレジャナイ感がスゴイ。昔Qiitaで見た親子の会話で進んでいくやつかと思ってみたら全然違うし、わざわざこんなタイトル付けんでも。
アセンブラのビットシフトで割り算を書けないとダメだよ派ですか?
ブコメ、怒り心頭が溢れてて笑える
タイトル詐欺。パーサーと構文解析の話だよね?そう書けばいいのに。
そこはLISPで解説してもらいたいところ/NORでAccumulator 組む方がタイトルに即しているか
除算が面倒なんだよねぇ。確かにノーヒントで書けと言われたら無理だわ。と思ったら違った/逆ポーランド記法懐かしい。今でも習うんかな?
図星だとムキーってなるお前らかわいい。昔、Excel VBAでそういうのを求められたけど、逆ポーランド記法に変換して云々まで考えてVBAでやりたくなくてスルーした。
情報処理試験の勉強でやった気がする
四則演算の仕様の問題かと思ったら違ったし、結局書いてないという
この類のソフトウェアエンジニアの大半はカスだ記事は何度も燃えて、会社にマイナスにしかなってないのに。情報収集力のないエンジニアは四則演算すら書けないエンジニアよりカスですな。
ホントです。ほとんどのエンジニアはプログラマじゃないっすから。ハンス・カストルプはプログラマじゃない。
ん十年前に研修・練習的なやつを書いた記憶が。まぁ、多倍長整数演算とか浮動・固定小数点とかの車輪再発明をする必要はないと思うよ。ただ、理論・仕組みは理解しといても邪魔にはならない。
逆ポーランド記法なつい
久々に書き出しからして無理ってテックブログに出会えた。ありがとう。閉じるね。
昔読んだ教科書に載ってたなあ。式を逆ポーランド記法に変換、カッコは再帰して処理するとかなんか定番のやり方があったはず。sortを自分で書いてはいけないの類か。(読んでない)
基本情報の問題であったかな、、スタックにするとわかるな、、
ドラゴンブックの最初に書いてあるやろ
SRL A
2個取り出して計算して積もうのところ、2個取り出して計算する時の数字の順番は取り出した順の6-10じゃないのが知識ゼロの人間として気になった
こんにちはクリックベイト
Z80でシフトと加算で掛け算する話ではなかった。
割り算大変だよって話かと思ったら違った(追記)四則演算の話をせずParserの話をするならタイトルにそう書けば燃えなかったのに^^;
面白かった!
FPU非搭載マイコンに浮動小数点使うプログラムを移植するため、IEEE754準拠の四則演算を手書きしたことがあるが、そういう話ではなかった
"四則演算を計算"は頭痛が痛い状態なのでは
整数なら問題なくても小数点扱うと精度の問題出てくるのにそれすら考慮してないとかそういう話ではなかった
GPTに音声で聞いたら答えてくれるようになるから(なっているから)ほとんどの人は四則演算日常的にしないだろうし, そもそもエンジニアはソフトウェア以外に(略
レベルの低い話だな
そりゃ、ほとんどのエンジニアは職務でコンピュータプログラムなんか扱わないから。なんでIT系の人って平気でエンジニアって言っちゃうんだろ。他業界の人はもっと具体的な言葉使ってるよ。
「パーサーと構文解析の話」というタイトルだったらこんなに食いつかないよね。
2進数・16進数の四則演算は難しいんじゃ/例題は、「数字と+-*/()でできた文字列を受け取り計算結果を出力するプログラムを自作せよ」だった
コンパイラ入門みたいな記事だ
「パーサーと構文解析から理解する、四則演算の計算式の処理方法」くらいの導入ならいいのに、しょっぱなから読者を気分悪くさせてなにがしたいん?て記事
C++は2000年代にこれをコンパイルタイムの型計算だけでやり出してわけわからん方向に進化したんだよな。
えっ10で割ることもできないの?
「四則演算を計算するプログラム」←なんつーか、そもそも問題に楽勝感がないというか、昔はyacc/lexなんてのがあって(←なくなってはいないかもしれないが)、わりと定番のテーマだった記憶。
俺らは煽られたら本気で怒りに行くんだ
Lispでいいなら100行以内でかけるかも(うる覚え)。あとカッコなしでもいいならcsでもすぐかけるかも。中置記法はStack使ってやるのがデータ構造的にセオリーだね。
まず読んでもらうのが大変なんだろう
構文解析の話だった
今の時代、調べたらできますと頭の中だけで完結してできますにどれくらいの違いがあるんだろうか。昭和じゃあるまいに
四則演算を計算するプログラムを書ける皆さん向けの記事ではないのだから、そんなに怒らなくても
TIS-100ってSteamのゲーム、掛け算作るのすら難しくて楽しいぞ
隔離所のQiitaから出てくるな
yacc/bisonの話かなと思ったらそうだった
クソ記事だなぁ。30年以上前に同じようなプログラムをVBで真面目に書いた人間としては失笑しか出てこない。
関西型言語じゃないことに違和感しかない
NAND回路から四則演算を実装する話ではなかった
基本的なアルゴリズムの勉強をしていれば、流石にこの程度のプログラムは時間をかければ書けるだろう。
社名出した上でこんな薄ら寒いノリの記事を書けるメンタルが凄い。ネットミームの自作イラストあたりでゾワッとした。
演算前に割る数が0でないかチェックして演算後にキャリーフラグやゼロフラグをチェックして値を補正しなくちゃ。
読者をバカにしながらじゃないと構文解析の説明できないのか
なんでここまで叩かれるのか。。。
主語を他に変えてもドヤれるのでネタ切れ技術系Blogerは真似するといいと思います っていう事を言いたいんだと思った
どこに連れてくか最初に宣言しない技術文書は叩かれても残当だわな
2012年頃だったら会社ブログでこういうノリもありだったと思う。でもいまのTech界隈はGeekノリでデュフフできる感じじゃなくなったよね
センスなくてつまんないだけの記事に攻撃しすぎでは、と思う
BNFの考えが頭の中に入っていれば、BNFにしなくても、再帰降下でさらっと行ける。Cだと文字列読み込み処理の方が面倒かも。
HDLで加算器を書く話ではなかった
括弧の判定をする関数を作成し、文字列の開く括弧と閉じる括弧のペアで切り出して再帰呼び出し。括弧がなければ四則演算記号でsplitして乗除加減の順に計算してまとめる。
小数を含む割り算は難しいよね、分かる分かる(そういう話ではない)
やる必要がないだけで、どうしてもやらなきゃいけなくなったらまぁパースして、ちから技でどうにかするとは思う。
ねえパパ、ほとんどのエンジニアは応力計算すら書けないってホント?、って書けばこのタイトルの無意味さが分かると思う。てか、IT系って「エンジニア」をソフトウェアエンジニアに限定しがち
思い出すのに時間かかるよね
必要になってから調べれば足りる程度の話ではある。ところで途中に挟まる盗作絵はなんだろ。「使えるものは再利用」って、それは御社の著作物じゃないだろ。
逆ポ、大学でやったので懐かしいな。そもそも必要に迫られないから学校で体系的に学んでない人は知らなくても無理もないと思う
逆ポーランド記法ってアカデミックな手法なんでしょ?うちの子供が課題で規定行数に収めるためにコードゴルフした時に使ってた。大学でコーディングを学んでる小学生には必要な記事なんじゃない?
いや、そんなに怒らんでも… >ブコメ タイトル見ただけでそういう話って予想つくじゃん。計算機科学の教科書に出てくる話だし、昔は雑誌の記事とかにもなってたけど最近のエンジニアは馴染みなかったりするのかな。
nand2tetrisやればわかる!!!!!!!!!
京都のほうの大学か
bisonを使ってしまい再帰下降構文解析器を自力で作ってないのは勿体ない!!でもいい記事だと思いました。
巨大数の四則演算って大変だよねとかそういう話が出てくると思ったら違った
昔はexcelっぽいマクロを実装する際にyacc lexを触ったもんじゃ(遠い目) 過去のトラウマが…
なぜか可算回路の話かと空目して何故かJKフリップフロップ組んでた。好きなんだJKフリップフロップ
エンジニアじゃないわい「Claude、頼む」
品のない文章だなあ
非エンジニアとして興味深いし、語彙に愛嬌あるし、ミームも手書きで配慮していいなぁと思ったらぼこぼこにされてて笑った。他人が自分より低い志で承認されるのそんなに憎い?評価の理由は投稿したからだよ…
ブコメ拗らせ過ぎでしょ。ハハハ程度で読めよw
学生時代にJavaでLL1パーサ書いたので、懐かしいなあと思いました。記事の中に怒りを感じた部分はありませんでした。
通年蠅いわ、エンジニアがITエンジニアだけだと思うなよ。(通年蠅いをつかいたかっただけ)
こういうポエム系のはQiita向けだと思ったんがZennにも出てきちゃったか…
四則演算を計算する論理回路を
タイトルを見たとき「乗算を加算の反復で書けるか」みたいな感じを想像したけど、読んだら違かった
タイトル(の元ネタの元ネタ…の元ネタ)はベイトソンのオマージュだろうけど、まあご存知ないか
AIに教えてもらいながら書くよ
昔は大学の授業でコンパイラ作成とかあったけど今もあるんだろか
大昔。まだScannerもParserも知らなかった頃。「隣り合う文字の組み合わせ調べる」「括弧の対応をチェックする」さえすれば,数式が評価できることを発見し,計算コードを書いたことがある。
著作権配慮を感じた(ノ∀`)
単にミスリードを誘うタイトルなのがピキリポイントなんだと思う。曖昧な書き方してる仕様書読んでる気分になるというか…。構文解析の話ならそう書けよと言いたくなる
四則演算をスクラッチから書けるエンジニアは少ないのは確かだけど、このお題で yacc を持ち出すのも大げさな感じ。Pratt Parser とかの再帰下降パーサを書けばよかったのでは。
zennもこういう感じになってきたか
エンジニアという単語の意味も知らない人が何か言ってる
ちゃんとやろうとすると難しいと思う。1/3*3 を0.99999じゃなくて1と出力するとか。
LISPなら (+ 4 (/ (- 10 (* 2 3)) (/ 4 (- 5 3)))) で終わりなんだよな。racketやguileならmatchあるから、これ系のパーサー書くのも余裕
yacc使うんかい。それはここで言う四則演算するプログラムが書けるに入れていいのか?なんかライブラリ持ってくるのではいかんのか?
ちなみに、Excelの数式そのものがスタックマシンで実行される言語です。
今後はこの記事のアクセス数やいいね数がアルダグラム Tech Blogの目標値となるので、これを超えるために社員一丸となってより浅ましいクリックベイトなタイトルを考えてください。
lispを書くプログラマより少ないんじゃなかろうか>逆ポーランド記法
学校の課題でこんなん(ただしカッコなし)が出て、粋がってたからeval使った別解出した気がする。//今思えば先生の手のひらの上かもだなあ。恥ずかしいな…
エクセルの関数でやれ!と言われるとだめかもな…w
RPN,昔、何かの本で見て、書いたことはあるけど、 yacc かー
外向きのテックブログを書いてはいけないタイプの人だ。無駄な煽り、タイトル詐欺、ただうっとうしいだけで面白くないセンスのズレまくった文章と挿絵。早く担当替えないとそのうちもっとヤバいやらかしをするよ
今の若い人はそんなことはやらなくていいとおもうよ。
再帰下降法で楽々です。え、そういう話じゃない?
社名公開してこの記事OKって社風なのか。このノリに合わない人は入社見送る判断ができるので、すごく有益なアウトプット。
なんだっけ、ビットをシフトするんだっけ?
電卓を作ろうって言う話。全加算機ではなかった。/ うーん、yacc 的なのを作ろうよとは思った。
会社名出してクリックベイトとは終わってるな。
だったらeval 使うのと五十歩百歩じゃないか。>yacc をつかって構文解析してみよう
演算では無く式の解釈の話だった。演算そのものにも色々面白い事あるのにな、乗算器が無いCPUでどうやって効率よく掛け算と割り算をやらせるか、とか。
「ねえパパ、どうしてはてなーはこれ読んで怒っているの?」 「人は自分ができない事を認めるのは難しいんだ。だから言葉尻とかで相手を攻撃するんだよ。」 「そんなことしてないで勉強すればいいのにね。」
これ書くくらいなら、「ほとんどのITエンジニアは連立方程式を解くプログラムすら書けないってホント?」くらい煽り散らかせばいいのに
整数の加減算しかないマイコンのアセンブラで浮動小数点の加減乗除を実装みたいな話かと思ったら全然違った。
怒ってる人多いけど、僕は結構おもしろく読めた。この程度の釣りタイトルはそんな目くじら立てるほどでもないと思うけど。逆ポーランド記法が主題だと思うけど、yacc使ってるのが気に入らないのかな?
20世紀末にyaccとか使わず完全に自作したなあ。逆ポーランド記法に変換できれば良いことはわかってたので括弧の対応を順番に拾って頑張った。あの頃が一番プログラミング楽しかった気がする……
コンパイラ作ったとか主張してるけどこれは全くコンパイラではないし、なぜかパーサだけ紹介してトークナイザの説明を一切してないし、生成AIの出力を全然理解しないで繋ぎ合わせたくらいの理解度に見える。
2進数と10進数の変換の関係で少数が正確に計算できない問題かと思ったら違った
こういうノリって痛くてほんと苦手だわ
えーっと。何のことはない、字句解析の話がしたかっただけ?しょうもない煽りの前文いらないのでは?結局yaccに丸投げだし(笑)
ねえパパ,ほとんどのエンジニアはプログラムを解釈して実行するプログラムすら書けないってホント?
トルコ風呂みたいにポーランドから苦情来ないのかな
工学部の情報系出てれば基礎として習ってるだろ
yaccやバッカス記法の話をしたいんやろなと思ったらだいたい予想通りだった。古参エンジニアならこのあたりはひと通り通過儀礼としてやってる人多いと思うけどな。
アセンブラと命令セットの話でも始まるのかと思った
専門外・分野外なので楽しく読んでいたけど炎上しているのね ゼロ割りも自動的に排除できたりしないのかしらん 恩師の本の紹介から京大情報系出身でLISP触っていそうというのは分かった
アセンブラでレジスタシフトするとか?と思った。逆ポーランド記法はCactiでプリセットだかテンプレートだか作るときに学んだなあ
湯浅先生が一番かわいそう
yaccってbisonに置き換わったと思ってたけど(よく見たら文中にも書かれているが)yaccはパーザ生成系の代名詞として名前だけ生きてる感じ?
「(きっとそういう人は普段のプログラムはアセンブラ言語を手書きしてから16進数に手で変換しているのでしょう)」そういうこと言うと本当にハンドアセンブル披露する人出てくるから
記事の主題はパースの話のようだった。 / ところで、int add( int a, int b){ return a+b; } みたいなのは足し算を計算するプログラムに入るのだろうか。組み込み関数のラッパー作ってるだけやんみたいな気もするが。
回路の話と思ったのに/左再帰が無いからRD手書きした方がよっぽど理解に繋がるのに
内容はともかく、読んでると恥ずかしくなってくる…
このくらい別にいいやん。。
トークナイズするって話?煽ってるなー。(本文ちゃんと見ないで発言)
くっだらねー
私は「Go言語でつくるインタプリタ」で履修済みですので(書けるとは言ってない)
この程度だとyacc使わなくてももっと簡易なクラスの文法で実装できるので手書きでもいけるはず。演算子文法だっけ。
scanfで入力された式から数値と演算子を読み取り計算しろというのはC言語の定番課題だと思う。
「UNIXプログラミング環境」懐かしい。これと「yacc and lex」でコンパイラを作るのが研究室での課題だったような。Sun4とvt220だったかな
相変わらず、自分のイメージするエンジニアを主語デカエンジニアで書いてしまう問題は解決してないのか。四則計算の前にそこからどうにかしてはどうだろうか?
このタイトル見たら、どこまで降りてくのかなぁと思うよね。