PHPとは?スクリプト言語としての特徴とは?

このQ&Aのポイント
  • PHPはWebアプリ開発言語としてだけではなく、スクリプト言語としても使われています。
  • 他の言語と比較して、PHPはどのような特徴を持っているのでしょうか?
  • なぜPHP以外の言語を使ってスクリプトを書く場合があるのでしょうか?
回答を見る
  • ベストアンサー

スクリプト言語としてのPHPについて

PHPについてほとんど知らない者です(他の言語もほとんど知りませんが・・・)。 Webで検索していると、Webアプリを開発するLL言語としてPHP, Ruby, Python, Perlを使っているというケースをよく目にします。一方、タスクを自動化するためのスクリプトを記述する言語としては、Ruby, Python, Perl, シェルスクリプトで記述しているケースをよく目にします(Linux/UNIX系)。 そして、PHPはWebアプリ開発言語としてかなりのシェアを占めていそうだが、スクリプト言語としてはそんなにシェアを占めていないのかな? という印象を持ちました。 そこでお聞きしたいのですが、スクリプト言語としてのPHPは他の言語と比較してどのような感じなのでしょうか? PHPはWebアプリ開発言語としてだけではなく、スクリプト言語しても開発現場でRuby, Perl同様に使われているといった感じなのでしょうか? あるいは、WebアプリはPHPで書いてるけど、スクリプトはPHP以外(Ruby, Pythonなど)で書いているという方は結構いるのでしょうか?その場合、何故PHPを使わずに別の言語を使っているのでしょうか? ご意見をお聞かせください。

noname#241088
noname#241088
  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5081/13278)
回答No.2

それぞれのプログラミング言語には得手不得手があるので、目的や利用環境に合わせて使い分けます。 PHPでバッチ処理のプログラムを書くことが無いのかというと、そんなことは無くPHPを使った方が便利な場合も有るので、その時は使います。 例えばWebサーバ内でバッチ処理を行う際にDB接続が必要な場合は、DBサーバの接続情報をWebアプリ用とバッチ処理用に分けるのではなく一元管理したいので、その場合は全部PHPで書いて定義情報などを共有します。(メンテナンス性を考えたら定義情報は共通化します) サーバ内のファイル操作や、Linuxのコマンド、プログラムを駆使した処理を行いたい場合はシェルスクリプトで行うのが圧倒的に効率的なので、その場合はシェルスクリプトを使いますし、何か特殊な処理を行う場合、ある言語にはとても便利な機能やライブラリーが有るという時は、その言語を使ってプログラムを書いた方が効率的なので、その言語を使います。

noname#241088
質問者

お礼

返信が遅れて申し訳ありません。 ご回答ありがとうございます。 学習コストは気になりますが、臨機応変に言語を使い分けるのが良いのかもしれませんね。

その他の回答 (1)

回答No.1

Webサーバを介してWebページを表示させる為のスクリプト言語としては 優秀(すぐに入り込めて結果も出易い)ですが、サーバ内でゴリゴリと 重い内部処理をするには適さない為。 PHPでもやれますが、処理スピードが他の言語に比べて明らかに遅かったです。 よって、PHPでコードする優位性が見当たりません。 最近はそういった開発からめっきり手を引いてしまった為、 今の最新バージョンではどうなのか知りません。

noname#241088
質問者

お礼

返信遅れて申し訳ありません。 ご回答ありがとうございます。 PHPは実行速度に問題があったのですね。

関連するQ&A

  • シェルスクリプトのBシェル(Bourne)に出てくる、$0,$1,$2

    シェルスクリプトのBシェル(Bourne)に出てくる、$0,$1,$2...のような位置パラメタや、$?,$$,$!,$-のような特殊変数がありますが、これはPerlやRubyもあるようですが、意味や効果、やり方等は同じでしょうか。 当方はPHP,JavaScriptしか触れていませんし、PHPやJavaScriptは、そのような位置パラメタや特殊変数は見当たりませんでした…。 つまり、PerlやRubyはUNIXのコマンドから誕生したスクリプト言語ということでしょうか。 こういった位置パラメタや特殊変数はPerlやRuby以外に他の言語にもありますでしょうか。PythonとかCとかJavaとか…。 また、Bシェルを学んでいる途中ですが、シェルスクリプトの中にはbourne以外にもbashやC Shell,zsh,Perlがありますが、何故Perlが入っているのでしょうか。 Perlをやっている方は別途シェルスクリプトをやる必要はないということでしょうか。

  • 組込Linuxに最適な軽量スクリプト言語とは?

    当方Webシステム技術者ですが、組込Linuxで動作するWeb設定画面を構築することになりました。 (ちなみにJavaが専門でScript言語はPHPをかじったくらいの知識しか持ち合わせておりません) スペックはこんな感じです。 ARM9 MontaVista Linux v4.0 RAM 128MB Flush 16MB RAMディスクに使用できる領域としてはせいぜい50MB位とのことでした。 OSであるMontavistaLinuxにはデフォルトでApache(バージョンは不明)がインストールされているようで、 そのなかで動作するCGIかモジュールでもって動かすことが決まっています。 用件としては ・スクリプト言語で実装したい ・可能な限りファイルサイズを絞りたい ・複数ログインはない ・設定したい項目はOSのファイルを書き換えたり、シェルスクリプトをキックするなど簡単なもののみ 候補としては ・PHP ・Perl ・Ruby ・Python があがっているのですが、どれが(ランタイム時の動作と、ファイルサイズの両方のおいて)一番軽い、カスタマイズしやすいなど、アドバイスいただけれ助かります。 個人的にやりたいのはRubyなんですけどね~。 どこまで小さくできるものでしょうか? よろしくお願いします。

  • 各種スクリプト言語の記述時の文字コードについて

    掲題の通り、メジャーなLL言語についての文字コードについて質問です。 例えば PHPでコンソール用にちょっとしたものを書くとき #! /usr/local/php print("文字列"); 書いて、ターミナルで php ./sample.php などとすると問題なく「文字列」という文字が表示されます。 このとき、ファイルはUTF-8で書いたとします。 次に、別のLL言語pythonで下記の様に記述したとします。 #! /usr/local/python print ("python文字列"); 上記内容を python ./sample.py などと実行すると SyntaxError: Non-ASCII character '\xe6' in file と上記のようなエラーがでます。どうやらアスキーコードの範囲外のバイト数が含まれているようです。 これを #! /usr/local/python #coding: utf-8 print ("python文字列"); としてやると問題なく「python 文字列」と表示されると思います。 これはRubyでも同じだと思います。 また同じ様に #! /usr/bin/bash echo "文字列" とシェルスクリプトで上記の様にかいてやると・・・ 問題なく「文字列」と表記されます。 ではなぜシェルスクリプト(bash)やPHPはマジックコメントを記述しなくても 暗黙のうちにUTF-8で文字列が表記されて pythonやRubyは明示的にUTF-8とマジコメを記述しなければならないのでしょうか? ご教授ください。

    • ベストアンサー
    • PHP
  • PHPとかperlとかrubyとか

    質問させていただきます。 プログラミング言語を学ぼうと思っています。 ありがちな質問ですが、言語の特徴などを伺いたいと思います。 PHPはWEBに特化した言語だと聞きました。 あとperlはテキスト処理だけでどうも、、、って話も。 rubyはまだプログラムの話で出てこないことも多い。 やりたいことがあっての言語なのは承知しています。 WEBやデータベース、スタンドアロン?の簡単なソフト開発とか、いろいろやりたいことは多いです。 最初に目をつけた敷居が低いとされるWEBに特化したPHPはソフト開発には向かないらしいし、偏ったものもどうかと思ってます。 でも次の言語にJAVAを考えていて(JAVAは習得が難しいと聞きましたので)、PHPはJAVAに多少似ているってどっかのサイトで見ました。たぶん賛否両論はあるでしょうが。 別にWEBプログラムだからってperlでもrubyでもできるんですよね?だったら偏ったPHPよりperl、rubyの方が書いていて楽しいような気がします。rubyの需要はまだ少なそうですし、perlのテキスト処理だけってのもどうなんだろうと思いますが。そこらへんも聞きたいです。 簡単なゲームとか、顧客管理ソフトとか、WEBとかデータベースとか、できれば敷居が低く楽しめる言語があればと思ってます。

  • スクリプト言語でおすすめなのを教えてください。

    現在スクリプト言語を勉強しようとしているのですが どの言語がおすすめなのでしょうか? 調べてみるとどうやらRubyやPythonなどがあるのですが どのような特徴をもっているのかいまいちわかっておりません。 スクリプト言語を覚えるのは初めてなので初心者がとっつきやすいのは どういったものがありますか? よろしくお願いいたします。

  • シェルスクリプトのbashとperlについて

    シェルスクリプトのbashとperlについて 今さら気づいたのですが、PerlもUNIXのコマンドやシェルスクリプトとして使用できるということでしょうか。 RubyやPHPをUNIXのコマンドやシェルスクリプトとして使用することはできますでしょうか。 学ぶとしたら、bashとPerlのどちらが良いでしょうか。 また、シェルスクリプトはどんな用途や利点がありますでしょうか。 Webアプリケーションによるバックアップやログをタイマーでセットして自動的に取得したりすることは可能でしょうか。

  • 古いカーネルから最新のスクリプト言語を使いたい

    カーネルが2.4.20-8のRedhatで現在PHPのバージョンが4.2.2で、Rubyも1.6.5です。 PHPをバージョン5にしたり、Rubyを1.8.5にすることは可能ですか? また、yumが入っていないので、yumを入れたいのですが... これもpythonがらみで低いバージョンです。 カーネールが古いと最新のPHPやRuby,Python,Perlなどは動かないのでしょうか?

  • スクリプトでnslookupのAレコード MXレコードを調べるようなこと

    スクリプト(perl,php,python,javascript,ruby,vb.net)など言語は問いませんが nslookupのAレコード MXレコードを調べるようなことしたいです。 できればpythonやjython,phpでの方法が知りたいです。 osはWindowsです。

    • ベストアンサー
    • Perl
  • 初めてのプログラミング、rubyかphpか

    初めてプログラミングを学ぶのですが、rubyかphpかで迷っています。 現在のところの目的は、HP作成で、このokwaveのようなフォームを多用したサイトを作りたいと思っています。となると、PHPが向いているのでしょうが、「PHPはテンプレート言語だからプログラムの知識がつかない(他の言語に手を出すときにつまづく)」と聞きます。 そこで、RUBYも選択肢に入れています。 あと、WEBアプリ開発となると、PERLという言語もあるそうですが、PHPとどこが違うのですか? 回答お願いいたします。

  • CGIに用いる言語について

    現在Perlを用いてCGIを作成しています。 ところが多人数で開発をしているため、他人の書いたコードの編集に時間がかかってしまいます。Perlというのは人の書いたものは非常に読みづらいですね(^^; そこで、文法に自由度があまりないなどの、多人数向きの言語に変更することを考えています。 実行速度は多少遅くても構いませんし、複雑な処理をするわけでもありません。 あくまで開発のしやすさに重点をおきたいです。 Ruby, PHP, Pythonなどを考えていますが、数ある言語の中でどれが多人数開発向きでしょうか?

専門家に質問してみよう