戻る

テストプログラム

前書き

それぞれの言語の特徴を調べるために、同じテーマでプログラムを書いてみました。

標準入出力 (type)

コンソールアプリケーションの基本的である標準入出力のやり取りをそれぞれの言語で記述してみました。
標準入力からテキストを読み込み、標準出力に出力します。

Perl

"<>" と指定すると標準入力から入力することになるので、それをPrintで出力すればOK

type.pl

C

getsでとるとバッファの長さとかの問題があるので1文字ずつ処理してみました

type.c

C++

Cとの違いはiostreamを使ったことだけです。

type.cpp

Java

標準入出力はSystemクラスの System.in/System.outを使用する。
Javaのjava.langパッケージは他のパッケージと違い使用するときにimport宣言をしなくてもよい特異点となっている。注意したいのは入力がInputStremで出力がPrintStreamだということである。
PrintStremは行単位の出力をするメソッドがあるが、InputSteramには行単位の入力をするためのメソッドがない。そのために他のストリームに接続する必要がある。

type.java

Ruby

標準入力は$stdinという変数として定義されているので、for x in を使って全部表示すればOK

type.rb

PHP

標準入出力は"php://stdin" のように特別なURLを使用して明示的にOPENしなければいけないようだ。

type.php

JScript

WScriptクラスの中にあるStdIn,StdOutオブジェクトを使用しました。

type.js

ディレクトリ表示 (dir)

カレントディレクトリに含まれるファイルを表示します。 余裕があればファイルサイズ、日付なども表示します。

Java

ファイル名とファイルサイズを表示してみました。lo_dirが実際の処理している関数です。ディレクトリとファイルの判定をして、ファイルならばサイズを出力しています。

dir.java

PHP

stat(ファイル名)で配列にステータスが入ります。それぞれが何を意味しているかはマニュアルを参照してください。
strftimeは形式に合わせて日時を文字列に変換する関数です。

dir.php

Perl

opendir, readerでディレクトリのオープンとファイル読み込みになります。

dir.pl

戻る