2015年05月27日: 表が見にくいというご意見を頂いたため、原文著者に連絡のうえ体裁を修正しました。 上位のレベルには下位のレベルの知識も蓄積されているということに注意してください。つまり、レベル n であれば n より低いレベルの知識も全てあります。 コンピュータサイエンス データ構造
多くの言語は冗長性を有していますが、これらの機能を省いていくことも言語設計の進歩につながります。 巷には数多くのプログラミング言語があり、新しい言語も継続的に紹介されています。でも新しいものが古いものより優れているかというと、そうとは言えません。なぜなら、何が“優れているか”を判断する明確な尺度は存在しないからです。 それでも過去からの流れを見ていくと、優れた言語を作る1つの方向性は、言語にある冗長性を特定し、それらを持たない新たな言語をデザインすることにあるように思えます。 「完璧とは、それ以上足せない時ではなく、それ以上引けない時に達成される」 – Antoine de Saint Exupéry この投稿では、現在までに知られている言語の冗長的機能を見ていくと共に、恐らく冗長性を有しているだろうと思われる機能についても触れていきます。 自ら墓穴を掘るあらゆる可能性 初めてコンピュータ
みなさんはプログラミングは得意ですか。わざわざこのような記事を見ているということは、もしかしたら得意なかたかもしれませんね。ただ、何年もプログラミングを仕事や研究で経験されていないと「得意でない」「わからない」という場合がほとんどではないでしょうか。 本連載ではそのようなプログラミングを得意としていない人を対象に、Pythonと呼ばれるプログラミング言語を使ってプログラミングの概念や文法について学んでもらいたいと考えています。そこで、Pythonの文法について教科書のように詳細に記載するというよりも、「プログラミングの普遍的な概念を理解したうえで、Pythonのコードを実際に書く」という実践的なスタイルで解説していきます。最終的には、Python以外の、CやJavaといった言語を学びたい方でも有用なコンテンツとなるよう、心がけていきます。 なお、本連載はシスコシステムズ Japanの社内で
Haskellだと問題1が一番難しいともっぱらの噂の問題をやってみました。 問題1 forループ、whileループ、および再帰を使用して、リスト内の数字の合計を計算する3つの関数を記述せよ。 再帰のコードが一番簡単なので、まずはそれから。 ではついに一番難しいforループとwhileループのコードを書いてみましょう。 まず問題になるのが、Haskellにはfor文もwhile文もないというところです。まずはforループを作らなければなりません。そもそもforループ、whileループというのが、何を示すのか?というのがあんまり自明ではないのですが、C言語でのforループとwhileループだと考えましょうか。 for :: Monad m => a -> (a -> Bool) -> (a -> a) -> (a -> m ()) -> m () for init cond incr body
先の5月28日の衆院特別委員会での、安保法制(戦争法案)をめぐる志位和夫・日本共産党委員長の質疑は鬼気迫るものがあった。安倍首相の答弁の矛盾を次々に突き、たたみかけるように論破していく。筆者はいわゆる「無党派層」であるが、28日の志位委員長の徹底的に理詰めの追及には唸らされた。ともかく、28日の審議で浮き彫りになったのは、どこまでも対米追従であり、例え、それが国連憲章違反の違法な戦争であっても、米国の戦争であれば、ムリな屁理屈をこねてでも支持しようとする安倍政権の実態だった。 ○国連憲章違反の戦争でも支援するのか?!例えば、以下の質疑。 志位「米国が先制攻撃の戦争を行った場合でも、集団的自衛権を発動するのか?」 首相「国連憲章に反する行為に対して、わが国が武力をもって協力することはない」 志位「米国の戦争を一度も批判したことがない日本政府に、自主判断ができるのか?」 1945年に国連憲章が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く