質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.79%

  • PHP

    13274questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Ruby

    4315questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • C++

    2091questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • Perl

    309questions

    Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

PHPの次に覚えるべき、おすすめの言語は?

受付中

回答 8

投稿 2014/11/22 16:26

  • 評価
  • クリップ 7
  • VIEW 3,945

samlife

score 28

PHP脱初心者に向けて頑張っております。

少し気が早いかもしれませんが、PHPの次に覚えるべき、おすすめの言語がございましたら教えて下さい。

「お前は何を作りたいのか」ということだとは思いますが、アプリももちろん作りたいですが、それよりもプログラミングというものを順々に理解していきたいというのがあります。PHPを習得したことを活かせる言語だといいかなと思います。

皆さんの実体験を教えていただくのが一番リアリティがあって良いのかなと思います。もしお時間ある方がいらっしゃいましたら、ぜひよろしくお願いします。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 8

+8

  • JavaScript … スクリプト言語。Webブラウザ用。PHPはサーバ側のみでしか仕事が出来ないので、ブラウザ側で動きを出したければPHP+JavaScriptの連携は必須となる。
  • Java … コンパイラ言語。PHPに文法は似ているところが多いが、コンパイラ言語なので型などはカッチリ指定する必要がある。
  • Ruby … スクリプト言語。PHPとはかなり文法に違いがあるが、多くはPHPより「短く」「美しく」書ける。ただ、慣れるまでは豊富過ぎる演算子や記号の意味を覚えるのがつらい。
  • C/C++ … コンパイラ言語。高級言語の中では最も機械語に近く、PHPのインタプリタもC言語で設計されている。苦難は多いが、スクリプト言語のインタプリタが裏でどうやって動いてるのか理解が出来る。

何かを作りたいのではなく、プログラムがどうやって動いているのかを知りたいのであれば「C」がオススメ。


【追記】

私もScalaは良い言語だと思いますが、クラスとオブジェクトを使わずに学習を終えたレベルのPHPの次には向かないと思います。やはり

手続き型(非オブジェクト指向) PHP, C, C++

手続き型(クラスベースオブジェクト指向) PHP, Ruby, Python, C++, C#, Java 

手続き型(プロトタイプベースオブジェクト指向) JavaScript

関数型(マルチパラダイム) Scala, Lisp, C#

関数型(純関数型) Haskell

という順番で学習するのが一番理想的だと思いますね。

投稿 2014/11/22 17:02

2014/11/30 23:51

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

  • 2014/11/23 03:51

    ありがとうございます。

    まだPHPしか知らないので想像がつかないのですが、例えばアプリとかは、htmlやcssに当たる部分も、全部その言語でするということなんですか(Webを引っ張ってくるもの以外)?

    キャンセル

  • 2014/11/23 11:37

    「アプリ」とはスマートフォンアプリのことでしょうか?最近はアプリの骨組みの部分だけを各端末向け言語(iOSならSwift/AndroidならJava)で書いて、残りのほとんどの部分をHTML/CSS/JavaScript形式でWebからダウンロードしてきて表示させるマルチプラットフォーム対応の手法が流行しているみたいです。有名どころだとYahoo!メールのアプリで実践されてますね。

    キャンセル

  • 2014/11/25 14:38

    JavaScriptはプロトタイプベースというところを注意しないといけないのでは無いと思いますね。
    本当に素直なプロトタイプベースであれば赤子でも直ぐ理解できます。
    問題はJSではそうでないということですね。(バージョンにもよりますが)

    キャンセル

  • 2014/11/25 18:21

    なるほど、確かにクラスベースを押さえてからの方がいい感じはします。JSは闇ですよねいろいろと…

    キャンセル

+3

PHPがWeb系がメインのスクリプト言語なので、
それとは異なるタイプの言語が良いんじゃないでしょうか。


具体的には、

  • C/C++ ... OSレベルの処理を学ぶのには必須。UNIX系OSの多くがこれで作られています。スクリプト言語の実装もC言語で作られているものが多いですね。CとC++の違いに注意。
  • Java ... 用途はPHPとかぶっているところもありますが、コンパイル言語だったり型があったりします。AndroidアプリもJavaですね。マイナーながらも、デスクトップアプリや、FLASH,Silverlightと同系統のJava Appletというのもあります。
  • C# ... 言語としてはJavaに似ていますが、こちらも.NETがカバーする範囲でWebからデスクトップアプリまで幅広く利用できます。Windows向けのデスクトップアプリを作るなら、こちらがおすすめです。
  • 他のスクリプト言語 ... ツールとして使われるメジャーなスクリプト言語のどれか。日本ではRuby、英語圏ではPythonがメジャーです。Perlは少し古くなってしまいましたね。

あたりでしょうか。

プログラミングの理解ということでしたら、私もC言語がお薦めです。



逆に、次じゃない方が良いものは、

  • 関数型言語 ... 抽象度が高すぎて一定以上使いこなすのが大変
  • Scala ... 関数型とかぶるところもありますが、それ以上にJavaの基礎知識が前提なところが
  • Objective C ... iOS開発しないなら次じゃなくても

などです。



研究者やプログラミング言語マニアでなければ、メジャーな言語にしておいた方が良いと思います。

投稿 2014/11/23 00:40

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

  • 2014/11/23 03:57

    ありがとうございます。

    まずはスクリプト言語とコンパイル言語の違いから学ぶ必要がありそうですね・・・

    PhysonはGoogleにも使われてて、見た目がシンプルだ、と見かけました。C系はほとんどの言語の元になっているとも。大型のプロジェクト、あとAndroidはJAVA??

    ということはiOSでも使えるC++からJAVAっていう流れはどう思いますか??

    キャンセル

  • 2014/11/23 04:00

    あ、AndroidはC++もいけると書かれてました。
    http://blog.mokosoft.com/entry/2014/01/05/121040

    ということはC++がいいんですかね?

    キャンセル

  • 2014/11/23 11:07

    iOSとAndroid向けのC++のサンプルは、Objective-C,Javaと比べると多くないので、スマホアプリ向けならC++はあまりおすすめではないかも知れません。
    ただ、私はスマホアプリ関連は実際に作るのはほぼ未経験で、ブログなどで読んだ情報から判断したものです。


    C++をやってみて、難しすぎるようでしたらJavaに切り替える、のようにされても良いかと思います。

    キャンセル

+3

プログラミングというものを順々に理解していきたい
PHPを習得したことを活かせる言語
ということであればC#をおすすめします。

  • コンパイラ言語だが型推論、動的型付けがあるのでPHPのような動的言語から移行しやすい。
  • マルチパラダイム(手続き、オブジェクト指向、関数型などなど)な言語なので、更に次の言語を学習するときのハードルが少し下がる。
  • プラットフォームのメインはWindowsだが組み込み系、Android、iOS、Linux、Mac、UNIX等でも動作するし、コンパイラ、フレームワークのコア部分がOSSになったためよりマルチプラットフォーム化が進む。
  • 自分が好きな言語だから。

PHPからC#への移行を実際にされた方のスライドです。↓


投稿 2014/11/23 11:49

2014/11/23 15:23

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

  • 2014/11/26 13:48

    スライドありがとうございます!
    イメージが広がりました。C系はいずれ習得したいです。
    JAVAにも結構近いんですかね?

    キャンセル

  • 2014/11/26 14:23

    C/C++とC#は文法は似ていますが、全く別物と考えたほうがいいです。
    JavaとC#は他の言語と比べると似ていると思います。
    実際に両方書いていると、表面的に似ているけど、やはり中身は別物で逆に混乱することもあります。(文字列、コレクション操作等)

    キャンセル

+3

Javascriptいいっすよ~
基本的なプログラミング知識が無いと、誰にも読めないスパゲッティが出来上がりますが、
PHP習得済みでオブジェクト指向と値渡し、参照渡し辺りが理解できていれば問題無いかと思います。
ついでに非同期処理関連にも明るければ尚良しです。

現在HTML5への要求範囲が非常に広くなってきています。
例えばJava Appletで作っていたWeb上のGUIコンソール的なものもHTML5になりつつありますし、
スマホアプリ業界でもHTML5が幅を利かせております。
(HTML5ってのはHTML、CSS3、Javascriptを使ったリッチな環境を統合して言う言語(?)です)

また、サーバサイドでもNodejs(サーバサイドのJavascript)がじわじわ広まっているので、
その辺りでの需要もあるかもしれません。
単一プロセス内での非同期処理が非常に簡単に記述できるので、一気に高性能なプログラムが書けるようになりますよ!
あと、最近のサーバ - クライアント間のデータ渡しはほとんどJSONで行われるので、そういった意味でも親和性が高いです。

とまぁ、Javascriptの布教をしてしまいましたが、
ギークな方向へ行きたければ、python、ruby、bash、
正統派な方向へ行きたければ、C#、Java、
辺りが良いかと思います。

ただ、個人的にはJavascriptが最強だと思っております!

投稿 2014/11/25 18:42

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

  • 2014/11/26 13:37

    ありがとうございます。
    Javascriptは想像してたより広い範囲をカバーできるものだったんですね。
    Node.jpというのもよく聞くので、やはりJavascriptっぽいですね。他の方も推す方が多いようです。

    キャンセル

+1

もしかしたら期待している回答にそぐわないかもしれないのですが、WEB関連の制作でいうとrootでサーバーをコントロールできるようになるとよいかと思います。何だかんだでApacheの設定からsmtpの設定とか、サーバーのセキュリティー関連とかWEB制作関連には必ずつきものになってくるんじゃないかと。
私の私的な経験からいうとプログラム言語自体をインストールすることから始まるので、SSH接続でshellとかそこら辺りを扱えるようになるのがよいかと思います。というのも、プログラムはとても上手に書けるのに用意されたサーバー環境でしか書けないとなると結構技術的に範囲が狭くなってしまうものじゃないかと思っています。PHPもいろいろなバージョンがあって仕事で使う際にはバージョンを分けて使ったりするような設定をサーバーに施してゆかないといけないので、階層を下に潜っていった方がよいかもしれません。
サーバーが扱えるようになったら、ネットワーク関連も手をつけてゆくのがよいかもしれないです。
プログラム言語を学ぶというのとちょっと違う領域になりますが。。。。
(すばらしいプログラムが書けるのにSSHに秘密鍵の設定ができない。。。なんて方も非常に多いんですよ。)

投稿 2014/11/23 10:47

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

+1

JavaScript だと思います。
言語構造が 近く、PHP と連携しやすいので今までの経験が最大限に生かせます。

投稿 2014/11/23 22:23

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

  • 2014/11/26 13:38

    ありがとうございます。
    Javascript最強説がかなり強いようですね(笑
    皆さんに頂いたコメントを見ていると、覚えておいて損はないという気がしております。

    キャンセル

0

・Javascript
 他の方が挙げているようにPHPとの連携でWebサービスを構築するために必須となる言語。
 最近はSAP(シングルページアプリケーション)のように、JSメインで構築することも増えているため、
 Javascriptと並行してAngularJSやBackboneJSなどのJSフレームワークの習得も進めるとよいと思います。
 また、JSを一度覚えてしまえば、サーバサイド(Node.js)やIOS/Androidアプリ(Enchant.js/TMLib.js等)も作れるようになるので、覚えて損は無い言語だと思います。
 JSの闇に落ちたくなければ、CoffeeScriptやTypeScriptのようなAltJSから手を出すのも良いかと。

・Ruby/Python
 PHPのような手続き型言語の書き方も可能で、関数型言語の様な書き方も可能なため、ScalaやLispのような関数型言語に移行するための足がかりとして良いかと思います。
 あと、個人的にはPHPを書いているときに感じる違和感や面倒臭さを解消している言語だと思います。
 違和感→array_mapとarray_filterで引数の順番が違っていたり・・・

・Java/C#
 一度は静的型付け言語も経験しておくべきかと思います。という理由だけです。
 最近はC#のほうがアツいように感じます。

投稿 2014/11/26 10:28

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

  • 2014/11/26 13:33

    ありがとうございます。
    Javascriptはやはり習得すべき基本の言語なんですね、やっぱり。jsからそんな広がりがあるとは知りませんでした。

    キャンセル

0

どうも、別件の質問で回答させていただいたものです。
個人的にはHTML、CSS、JavaScriptを覚えて、WEBアプリケーションをマスターするのがよろしいかと思います。

ご用件の話で行くと、プログラムスキルの幅を広げる、作れるものを増やすという点でも既出ですがJavascriptはお勧めです。 手続き型のPHPとは違った、関数型のプログラムでとっつきにくいかもしれませんが、リッチコンテンツの開発や、Titanium Mobileでのモバイルアプリ開発、MongoDBのオペレーションなど応用範囲は広いです。
慣れ親しんだ手続き型でJavascriptを試すのであれば、TypeScriptというMicrosoftの出しているVisualStudioのアドオンでJavaScriptを開発できるツールがあります。

また、環境構築の敷居は高くなりますが、Rubyを使えるようになってサーバーサイドアプリケーションプログラミングのスキルを高めるというのも選択肢の一つかもしれません。

投稿 2015/04/09 11:23

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    以下のような回答は評価を下げられます

    • 間違っている回答
    • 質問の回答になっていない投稿
    • 不快な投稿

    評価を下げる際はその理由をコメントに書き込んでください。

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.79%

関連した質問

同じタグがついた質問を見る

  • PHP

    13274questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Ruby

    4315questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • C++

    2091questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • Perl

    309questions

    Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

閲覧数の多いPHPの質問