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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Perl

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

Ruby

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

PHP

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

C++

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

Q&A

8回答

14623閲覧

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

samlife

総合スコア45

Perl

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

Ruby

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

PHP

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

C++

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

0グッド

11クリップ

投稿2014/11/22 07:26

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

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

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

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

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答8

0

  • 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 08:02

mpyw

総合スコア5223

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

samlife

2014/11/22 18:51

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

2014/11/23 02:37

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

2014/11/25 05:38

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

2014/11/25 09:21

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

0

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 09:42

utun

総合スコア384

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

samlife

2014/11/26 04:37

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

0

プログラミングというものを順々に理解していきたい
PHPを習得したことを活かせる言語

ということであればC#をおすすめします。

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

PHPからC#への移行を実際にされた方のスライドです。↓
[slideshare id=22979400&doc=phptocsharp10reason-130614092051-phpapp02]

投稿2014/11/23 02:49

sho_cs

総合スコア3541

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

samlife

2014/11/26 04:48

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

2014/11/26 05:23

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

0

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/22 15:40

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

samlife

2014/11/22 18:57

ありがとうございます。 まずはスクリプト言語とコンパイル言語の違いから学ぶ必要がありそうですね・・・ PhysonはGoogleにも使われてて、見た目がシンプルだ、と見かけました。C系はほとんどの言語の元になっているとも。大型のプロジェクト、あとAndroidはJAVA?? ということはiOSでも使えるC++からJAVAっていう流れはどう思いますか??
argius

2014/11/23 02:07

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

0

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

投稿2014/11/23 01:47

osamuya

総合スコア241

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2014/11/23 13:23

pac894398

総合スコア429

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

samlife

2014/11/26 04:38

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

0

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

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

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

投稿2015/04/09 02:23

hermitagejp

総合スコア53

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

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 01:28

k.tada

総合スコア1679

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

samlife

2014/11/26 04:33

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問