アカウント名:
パスワード:
昔からある「高級言語」「低級言語」の認識ズレのジョークやね。
でも、コンピューターサイエンス的な意味での低レベル言語から教えていくというのもありなんではないかと。コンピューターって底の方ではこういう風に動いてるんだよ、という知識が付くと、なにかとIT周りで勘が働くようにならないだろうか。
劣勢遺伝子、優勢遺伝子とかも間違えやすいよねなんか調べてたら間違えやすいから名前変えたとか出てきた
コンピューターサイエンス的に最適な言語習得初等教育の方法論ってどっかで研究されてそうだけどで、そういうところでできたのがscratchとかなんじゃないかなぁ低レベルで、というならたしかMicro:Bitとかもあれで行けたと思うし
なまじ高水準言語から入った人だと、字面しか見てなくてたまにその印象だけで語るから変なことを言う人もいる。
たとえばパフォーマンスまわりなんかだと、その傾向が強い。
「ビットシフトはCPUの一命令だから早いけど、正規表現は複雑な処理が必要だから遅い。」みたいな感覚がまったくないんだ。
ただし小学生にそこまで求める必用派なさそう。あくまで職業プログラマの話として。
理論は二の次、まずは計測だ!
懐かしい名言。
高水準言語だと正規表現の方が強烈な最適化かかる可能性もあったり下手にシフトみたいな細かい命令書くと最適化阻害したり
そりゃ、可能性だけなら。現実問題として、正規表現がビットシフトより速いケースなんてまずないよね。よっぽど馬鹿げたコードでもない限り。
元AC氏は、そういう感覚自体が存在していない人のことを言っているんじゃないのかな。ビットシフトや正規表現の実装方法を知らなければ、そういうことになりかねないよ。
外注さんの書いたコードで、そういうのを目にしたことがある。確かにその方法で目的は達成できるけど、なんでそんな無駄に遅い処理を行う必要があるのよ、的な……。いや、あれはほんとに酷かった。orz
必要度が低いところで高速化に血道を上げてる輩も迷惑なもんですけどね。一個もローカル変数を作るもんかと最初から一行にぎちぎちにつめこんでデバッガが使いづらい状態にコーディングしてくれるオタクとか。
ビットシフトってJAVAとかC#でも早いのかな…
そこで高級低水準言語Cの出番ですよ。
「ビットシフトはCPUの一命令だから早いけど
整数はCPUが扱う基本データ型という固定観念で頭が固まってるジジイとは今どきの整数型すら抽象化されてる高級言語扱ってるヤングメンは話通じないだろうな。
任意長整数なLISPとか、10進表現なCOBOLとかナウなヤングの言語なんて知らないわ
そもそも「嫁と話が合うわけがない」という問題かも
まあ話が合わない=それぞれの観点、それぞれの観点を持っているということなのでそこから対話することでそれぞれの持つ考えを共有できて知識が増える……はずなのですが、そんな話をかつて当時の嫁にしたら嫁の方は話が合うこと前提でこの点においてすら嫁と話が合わなかった
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
案外 (スコア:0)
昔からある「高級言語」「低級言語」の認識ズレのジョークやね。
でも、コンピューターサイエンス的な意味での低レベル言語から教えていくというのもありなんではないかと。
コンピューターって底の方ではこういう風に動いてるんだよ、という知識が付くと、
なにかとIT周りで勘が働くようにならないだろうか。
Re:案外 (スコア:1)
劣勢遺伝子、優勢遺伝子とかも間違えやすいよね
なんか調べてたら間違えやすいから名前変えたとか出てきた
Re: (スコア:0)
コンピューターエンジニアリング的ではあるけど
Re: (スコア:0)
コンピューターサイエンス的に最適な言語習得初等教育の方法論って
どっかで研究されてそうだけど
で、そういうところでできたのがscratchとかなんじゃないかなぁ
低レベルで、というならたしかMicro:Bitとかもあれで行けたと思うし
Re: (スコア:0)
なまじ高水準言語から入った人だと、字面しか見てなくて
たまにその印象だけで語るから変なことを言う人もいる。
たとえばパフォーマンスまわりなんかだと、その傾向が強い。
「ビットシフトはCPUの一命令だから早いけど、
正規表現は複雑な処理が必要だから遅い。」
みたいな感覚がまったくないんだ。
ただし小学生にそこまで求める必用派なさそう。
あくまで職業プログラマの話として。
Re: (スコア:0)
理論は二の次、まずは計測だ!
Re: (スコア:0)
懐かしい名言。
Re: (スコア:0)
高水準言語だと正規表現の方が強烈な最適化かかる可能性もあったり
下手にシフトみたいな細かい命令書くと最適化阻害したり
Re: (スコア:0)
そりゃ、可能性だけなら。
現実問題として、正規表現がビットシフトより速いケースなんてまずないよね。
よっぽど馬鹿げたコードでもない限り。
元AC氏は、そういう感覚自体が存在していない人のことを言っているんじゃないのかな。
ビットシフトや正規表現の実装方法を知らなければ、そういうことになりかねないよ。
外注さんの書いたコードで、そういうのを目にしたことがある。
確かにその方法で目的は達成できるけど、なんでそんな無駄に遅い処理を行う必要があるのよ、的な……。
いや、あれはほんとに酷かった。orz
Re: (スコア:0)
必要度が低いところで高速化に血道を上げてる輩も迷惑なもんですけどね。
一個もローカル変数を作るもんかと最初から一行にぎちぎちにつめこんでデバッガが使いづらい状態にコーディングしてくれるオタクとか。
Re: (スコア:0)
Re: (スコア:0)
ビットシフトってJAVAとかC#でも早いのかな…
Re: (スコア:0)
C#ね
for (int i = 0; i < 1000000; ++i) { int x = 1 << 1; }
84ミリ秒
for (int i = 0; i < 1000000; ++i) { bool x = Regex.IsMatch("hage", ".*"); }
432ミリ秒
さすがにシフトのが正規表現よりは早いけど、#4184059みたいに感覚がないとか怒るほどのこっちゃないな。
現実のプログラムではもっと遅い原因が別にあると思うよ。
Re: (スコア:0)
そこで高級低水準言語Cの出番ですよ。
Re: (スコア:0)
「ビットシフトはCPUの一命令だから早いけど
整数はCPUが扱う基本データ型という固定観念で頭が固まってるジジイとは今どきの整数型すら抽象化されてる高級言語扱ってるヤングメンは話通じないだろうな。
Re: (スコア:0)
任意長整数なLISPとか、10進表現なCOBOLとかナウなヤングの言語なんて知らないわ
Re: (スコア:0)
そもそも「嫁と話が合うわけがない」という問題かも
まあ話が合わない=それぞれの観点、それぞれの観点を持っているということなので
そこから対話することでそれぞれの持つ考えを共有できて知識が増える……はずなのですが、
そんな話をかつて当時の嫁にしたら嫁の方は話が合うこと前提で
この点においてすら嫁と話が合わなかった