LoginSignup
6
6

More than 5 years have passed since last update.

Python, Ruby, PHP, Java, JavaScriptの側をそれぞれ書いてみる

Last updated at Posted at 2015-06-28

初めに

授業で各コードのパフォーマンス比較のレポートを出した時にPython, Ruby, PHP, Java, JavaScriptそれぞれのコードを書いたので、それらを省略して側だけ列挙してみる :smiling_imp:
間違った書き方、個々はこうしたほうがいい等ございましたら教えていただけると非常に嬉しいです。

今回はサンプルとして、クラスを作り、fugaメソッドを定義し、初期処理としてfugaを呼び出す流れになっている。

JavaScriptコード :shipit:

クラスはないのでクロージャにして、prototypeをつくり、コンストラクタからfugaメソッドを呼び出す

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コード :gem:

classを作って、initializeから初期処理として、fugaメソッドを呼び出す

class Hoge
  HOGE = "hoge".freeze

  # 初期処理
  def initialize()
    fuga
  end

  # fugaメソッド
  def fuga
    puts "fuga"
  end
end

Hoge.new()

Pythonコード :snake:

クラスを作って、__init__から初期処理として、fugaメソッドを呼び出す


class Hoge(object):
    HOGE = "hoge"

    # 初期処理
    def __init__(self):
        self.fuga()

    # fugaメソッド
    def fuga(self):
        print "fuga"

Hoge()

PHPのコード :elephant:

クラスを作って、__constructから初期処理として、fugaメソッドを呼び出す

<?php

class Hoge
{

    # 初期処理
    public function __construct()
    {
      $this->fuga();
    }

    # fugaメソッド
    private function fuga()
    {
      print "fuga";
    }
}

new Hoge();

Javaのコード :coffee:

mainメソッドから、fugaメソッドを呼び出す

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を書いてみて比較してみるとあまり変わりがなかったけど、各言語毎に少しの差がある

6
6
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6