いろんな言語でHello World

8月はチャレンジの月!

いろんな言語でHello Worldをやってみます。

開発環境はMacをベースにしています。

言語について

Webアプリケーションを作ってみたい、という時には大きく次を選択する必要が出てくると思います。

  • 開発言語
  • フレームワーク
  • データベース

開発言語

Webアプリケーションを動かす環境ってどんな環境でしょうか。

ロリポップ、heroku、GAEなど無料orなるべくお金のかからない環境で動かしたいところです。

そんな環境で動く言語といえば何でしょうか?環境とサポート言語を見てみましょう。

言語ロリポップHerokuGAE
Ruby×
Python
PHP
Perl××
Java×
Go×
Node.js××

ロリポップ

http://lolipop.jp/manual/hp/cgi/

Heroku

https://www.heroku.com/features

以下個人的な意見。

とりあえずWebアプリケーションをつくろうとするのであれば、選択できる言語は

PHP,Ruby,Pythonの3択になると思います。

正直Perlはオワコンだと個人的には思っているので、今あらためて0からやるのであれば、あえてPerlを選ぶ選択肢はないかなと考えています。

Goはプラットフォームに依存する部分が大きいので、Googleと運命を共にする覚悟がない限り避けておいたほうが無難かと思います。

Javaはパフォーマンスを求めるとかサーバまわりも自分で構築するようなフェーズに入ってから選択しても遅くはないかなと思います。

Nodeはよくわかりません(キッパリ)。

フレームワーク

開発言語に依存しますが、ログインやDB操作など一般的な処理は自前で作るよりもフレームワークをベースにしたほうが安全で簡単です。

選ぶ基準とかメジャーどころありますが、まずは一旦置いておきます。

データベース

大体MySQLかPostgreSQLの2択です。GAEもMySQLっぽいのありますがお値段そこそこするような気がします。

言語ロリポップHerokuGAE
MySQL××
Postgresql××

PHP

動作環境

$ php -v
PHP 5.5.24 (cli) (built: May 19 2015 10:10:05) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

hello.php

<?php
echo "Hello World!";
echo "\n";

Terminal実行結果

$ php hello.php 
Hello World!

Java

動作環境

$ java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

Hello.java

クラス名とファイル名は大文字・小文字含めてあわせておく必要があります。

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

コンパイル

javac Hello.java 

Terminal実行結果

$ java Hello
Hello World!

Ruby

動作環境

$ ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]

hello.rb

puts 'Hello World!'

Terminal実行結果

$ ruby hello.rb
Hello World!

Python

動作環境

$ python -V 
Python 2.7.10

hello.py

print "Hello World!"

Terminal実行結果

$ python hello.py
Hello World!

Perl

動作環境

$ perl -v

This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for more detail)

Copyright 1987-2013, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

hello.pl

#!/usr/bin/perl
print "Hello World!";
print "\n";

Terminal実行結果

$ perl hello.pl
Hello World!