初めに
授業で各コードのパフォーマンス比較のレポートを出した時にPython, Ruby, PHP, Java, JavaScriptそれぞれのコードを書いたので、それらを省略して側だけ列挙してみる
間違った書き方、個々はこうしたほうがいい等ございましたら教えていただけると非常に嬉しいです。
今回はサンプルとして、クラスを作り、fugaメソッドを定義し、初期処理としてfugaを呼び出す流れになっている。
JavaScriptコード
クラスはないのでクロージャにして、prototype
をつくり、コンストラクタからfugaメソッドを呼び出す
.js
var Hoge = (function(value) {
// 初期処理
function Hoge(value) {
this.hoge = value;
this.fuga();
}
// fugaメソッド
Hoge.prototype.fuga = function() {
console.log("fuga");
};
return Hoge;
})();
new Hoge(10000000);
Rubyコード
classを作って、initialize
から初期処理として、fugaメソッドを呼び出す
.rb
class Hoge
HOGE = "hoge".freeze
# 初期処理
def initialize()
fuga
end
# fugaメソッド
def fuga
puts "fuga"
end
end
Hoge.new()
Pythonコード
クラスを作って、__init__
から初期処理として、fugaメソッドを呼び出す
.py
class Hoge(object):
HOGE = "hoge"
# 初期処理
def __init__(self):
self.fuga()
# fugaメソッド
def fuga(self):
print "fuga"
Hoge()
PHPのコード
クラスを作って、__construct
から初期処理として、fugaメソッドを呼び出す
.php
<?php
class Hoge
{
# 初期処理
public function __construct()
{
$this->fuga();
}
# fugaメソッド
private function fuga()
{
print "fuga";
}
}
new Hoge();
Javaのコード
mainメソッドから、fugaメソッドを呼び出す
.java
public class Hoge {
private staitc final String HOGE = "hoge";
// 初期処理
public static void main(String[] args) {
new Hoge().fuga();
}
// fugaメソッド
public void fuga() {
System.out.println("fuga");
}
}
最後に
4つのコードを比較してみた。
class
, method
を書いてみて比較してみるとあまり変わりがなかったけど、各言語毎に少しの差がある