タグ

ブックマーク / blog.8-p.info (3)

  • シェルスクリプトを書くのをやめる - blog.8-p.info

    今年から、できるだけシェルスクリプトを書くのをやめようとしている。私が毎日 zsh に打ち込んでいるのも広義のシェルスクリプトだし、自分用の雑なスクリプトを書くことはあるけれど、チームの他の人も将来に使ったり改変したりするようなものは、なるだけ他の言語を使っている。 シェルスクリプトを書くのは難しいし、その難しさは、学ぶに値しないといったら言い過ぎかもしれないけれど、2021年に初心者が取り組むべき問題とは言い難いと思う。 シェルは悪いプログラミング言語である Bash Strict Mode とかを使ってみても、シェルスクリプトには落とし穴が多すぎる。自分で書いたものを自分で使っている分には大丈夫なのだけど、スクリプトがチーム内で使われるようになると、考慮していなかったところ、例えばファイル名に空白文字が含まれるとか、そういうレベルの微妙なところで、ちゃんと書かれていないスクリプトは壊れ

  • blog.8-p.info: なんでこれから Scala?

    Posted at 2010/01/22 08:06, Modified at 2010/01/22 23:00 去年から Scala を勉強していて、お正月には Martin Odersky の『Scala スケーラブルプログラミング』(コップ、と呼ぶらしい) も読んだ。Scala はかなり良い。私が言語を選べる立場にあるときに、いままで好き好んで使っていた言語は Ruby だった。でも、これからは Scala も積極的に検討していこうと思っている。 プログラミングの間違いが静的にみつかる Scala を推す一番の理由はここだ。型がちがうとか、引数の個数がちがうとか、存在しないメソッドを呼び出しているとか、そういう間違いは静的にみつかるべきだと最近は思っている。型をいちいち書くのはだるいけど、Scala には型推論があるので比較的だるさは軽減される。また、実行時例外として名高い Nul

  • C にクロージャのようなものを追加する Grand Central Dispatch - blog.8-p.info

    Snow Leopard には Grand Central Dispatch (以下 GCD) という機能がある。これは C と当然 C++, Objective-C, Objective-C++ にクロージャのようなものを追加し、マルチコアな CPU における計算の並列実行を簡単に書けるようにするらしい。 私は並列化には全然詳しくないのだけど、クロージャのようなものは気になるので調べてみた。 Block Apple Developer Connection にある Introducing Blocks and Grand Central Dispatch は GCD の全体像をコードを交えつつわかりやすく説明している。この “blocks” というのがクロージャのようなものだ。 Blocks are similar to — but far more powerful than — tr

  • 1