プログラム言語が変わっても、実際のプログラムの動作が同じなら、どのプログラム言語を使っても同じ事ではないかと思った。そこで、標準入力から一行読み込んで、それを表示するプログラムをいろいろな言語で書いてみた。
C言語 (stdio.c) #include <stdio.h> int main(void) { char str[80]; fgets(str,80,stdin); puts(str); return 0; } C# (stdio.cs) using System; class Example { static void Main() { string str = Console.ReadLine(); Console.WriteLine(str); } } Perl (stdio.pl) $str = <STDIN> print $str; Ruby (stdio.rb) str = gets.chomp puts str Haskell (stdio.hs) main = do cs <- getLine putStrLn cs Scheme (stdio.scm) : Guile (begin (define (read-line cs) (let ((ch (read-char))) (if (eqv? ch #\newline) (list->string (reverse cs)) (read-line (cons ch cs))))) (display (read-line '())) (display #\newline)) 同じ事をやるのなら、やはり余計な記号がなくて短い方がいいなとあらためて思った。 まだまだ、新しいプログラミング言語は出現するだろう。たくさんのプログラムが作られていく中で抽象化して部品化できるアルゴリズムが明確になってきたら、そのアルゴリズムを端的に表現できるプログラム言語が現れるに違いない。 一方で、速度的な問題や細かい調性をしなくてはならない問題については、C言語のような低レベルの言語の価値は残っていくだろう。 部品的なアルゴリズムについては簡潔な表記でプログラムでき、かつ、細かいハード寄りの動作や速度を要求されるプログラムについては、低レベルまで記述できる言語とのインターフェースを自動的に作ることができるようなプログラム言語が、未来の言語として望ましいのかもしれない。
by tnomura9
| 2009-12-31 10:45
| 話のネタ
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||