PHP脱初心者に向けて頑張っております。
少し気が早いかもしれませんが、PHPの次に覚えるべき、おすすめの言語がございましたら教えて下さい。
「お前は何を作りたいのか」ということだとは思いますが、アプリももちろん作りたいですが、それよりもプログラミングというものを順々に理解していきたいというのがあります。PHPを習得したことを活かせる言語だといいかなと思います。
皆さんの実体験を教えていただくのが一番リアリティがあって良いのかなと思います。もしお時間ある方がいらっしゃいましたら、ぜひよろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答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
総合スコア5223
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
総合スコア384
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
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
総合スコア3541
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
総合スコア9388
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/11/22 18:57
2014/11/22 19:00
2014/11/23 02:07
0
もしかしたら期待している回答にそぐわないかもしれないのですが、WEB関連の制作でいうとrootでサーバーをコントロールできるようになるとよいかと思います。何だかんだでApacheの設定からsmtpの設定とか、サーバーのセキュリティー関連とかWEB制作関連には必ずつきものになってくるんじゃないかと。
私の私的な経験からいうとプログラム言語自体をインストールすることから始まるので、SSH接続でshellとかそこら辺りを扱えるようになるのがよいかと思います。というのも、プログラムはとても上手に書けるのに用意されたサーバー環境でしか書けないとなると結構技術的に範囲が狭くなってしまうものじゃないかと思っています。PHPもいろいろなバージョンがあって仕事で使う際にはバージョンを分けて使ったりするような設定をサーバーに施してゆかないといけないので、階層を下に潜っていった方がよいかもしれません。
サーバーが扱えるようになったら、ネットワーク関連も手をつけてゆくのがよいかもしれないです。
プログラム言語を学ぶというのとちょっと違う領域になりますが。。。。
(すばらしいプログラムが書けるのにSSHに秘密鍵の設定ができない。。。なんて方も非常に多いんですよ。)
投稿2014/11/23 01:47
総合スコア241
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
どうも、別件の質問で回答させていただいたものです。
個人的にはHTML、CSS、JavaScriptを覚えて、WEBアプリケーションをマスターするのがよろしいかと思います。
ご用件の話で行くと、プログラムスキルの幅を広げる、作れるものを増やすという点でも既出ですがJavascriptはお勧めです。 手続き型のPHPとは違った、関数型のプログラムでとっつきにくいかもしれませんが、リッチコンテンツの開発や、Titanium Mobileでのモバイルアプリ開発、MongoDBのオペレーションなど応用範囲は広いです。
慣れ親しんだ手続き型でJavascriptを試すのであれば、TypeScriptというMicrosoftの出しているVisualStudioのアドオンでJavaScriptを開発できるツールがあります。
また、環境構築の敷居は高くなりますが、Rubyを使えるようになってサーバーサイドアプリケーションプログラミングのスキルを高めるというのも選択肢の一つかもしれません。
投稿2015/04/09 02:23
総合スコア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
総合スコア1679
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/11/22 18:51
2014/11/23 02:37
2014/11/25 05:38
2014/11/25 09:21