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

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

ただいまの
回答率

90.11%

PHPを学習中なのですが疑問が浮かびました

解決済

回答 6

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 906
退会済みユーザー

退会済みユーザー

PHPはあまりプログラミングぽく見えないのですが、そんなPHPでも自分で設計し、組み立てる。というプログラミング的考えが身につくのでしょうか?
元々HTMLの拡張的存在というのは知っていますが、機能が限定されすぎてるような気がしてどうも学習意欲が高まりません。

皆さんありがとうございます!
  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 6

+4

当初は書かれているとおりですが、現在では普通のプログラミング言語として十分使えます。
いまでは、ウェブアプリでも、本来の機能である「HTMLにプログラムを埋め込む」という機能を全く使っていない(HTMLは全部プログラムで出力している)というケースが普通だと思います。

ただ、プログラミング言語としては変なところがいっぱいあるので、「10個以上のプログラミング言語をマスターするぞ!」という人が最初にマスターする言語としてはやめた方が良いかもしれません。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

+2

学習の進め方にはいろいろなアプローチの方法があります。
そして、取っ付きやすい特定の言語の「例題」をひとつひとつ当たりながら理解を深めて行くというのも現実的な方法です。
しかし、どのプログラミング言語も、ある特定の分野の問題を、それぞれ独自のアプローチで解決するための「道具」に過ぎないので、その言語で記述されたプログラム(の例題)をどれだけ読み解いても、プログラミングにまつわる知識や技術のすべてに触れられる訳ではありませんし、各知識を系統だてて学んだり深く理解したりできるとも限りません。

結局のところ「何を学びたいのか」という目的がハッキリしないと、どんなアプローチが適しているのか、結論はでないのではないでしょうか?

どんなプログラミング言語であれ、何かしらの「システムを構築」するためのものですから、その道具を使い込んで行くうちに、つまり実際にシステムを『自分で設計し、組み立てる』という作業を繰り返すうちに、プログラミング的な考えや知識は多かれ少なかれ身に着きます。
ただ、先に書いた通り、言語によって『分野やアプローチの仕方』が違うだけです。
それと、どの言語を選んで学習を進めたとしても「終わり」はありません。むしろ、学べば学ぶほど新たな疑問や課題が出てくるものです。

そこでもっとも重要になるのは、どれだけ興味があるか(=意欲を持続できるか)だと思います。
現時点であまり学習意欲が湧かないのであれば、無理にPHPを(今すぐに)学習しなくても良いのではないでしょうか?
もっと気になることを先に学習し、後でPHPに興味が湧いてきたら、あるいは必要に迫られたら、改めて勉強すれば十分だと思いますし、他の学習を続けながら気が向いたらPHPをつまみ食いするというやり方でも良いと思います。

いずれにしても、ちょっと寄り道して、色々なプログラミング言語の生い立ちに目を向けてみると良いと思います。(全体像を公平に扱った資料は少ないのが現実ですが、逆に言えば、それ程幅広く深い事情があるようですね…)
そうすれば、プログラミングの世界がどれ程幅広く、アプローチの仕方も多岐にわたるのかが実感できるでしょうし、ご自身の興味に近づく上でどんな言語を選択すればよいかも分かるかもしれません。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

PHPはあまりプログラミングぽく見えない

PHPの文法はよくあるプログラミング言語に見えます。
基本的な部分はC言語系の他言語と大差ないです。


PHPでも自分で設計し、組み立てる。
というプログラミング的考えが身につくのでしょうか? 

設計やアルゴリズムの部分は言語に左右されません。

ただ、PHPの本はアプリをすぐ動かすことを重視しているので、
アルゴリズムや設計を学習する機会が少ないかもしれません。

そういう理論的な本はたいていCやJavaで書かれているので、
PHPに慣れたらCやJavaで基本を学ぶことはおすすめできます。


機能が限定されすぎてる

逆に「機能が限定されてない」「プログラミングっぽい」と感じるのは、
どういうプログラムを見たときに思えるのでしょうか。

推測で進めますが、商業ゲームに代表される「商業ソフトっぽいリッチなUI」
のほうが言語より求めているものだった、というケースもよくあります。


もしその場合だったら、「PHPだから」というより、
サーバサイドのWebアプリだから、という面が大きいでしょう。
でも、ほかの言語(PerlやRubyやPyhton)で書いても変わらないです。

その場合、CやJava(とGUIツール)で、デスクトップアプリを作るか、
JavaScriptとライブラリでUIをリッチにするか、すれば満足できるかもしれません。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

「 Webサーバ(WordPress)上に常駐して負荷を監視し、サーバ負荷がしきい値を超えたら
『ただいまサーバが混み合っています。しばらくしてからもう一度お試しください。』
というソリーページに差し替え、負荷が下がったら通常のWordPressの動作に戻す。」

というツールを PHP で作って24時間動かしたりしています。
サーバサイドではありますが、Web アプリじゃないですね。
PHP の適用範囲は相当広いと思ってます。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

どの程度勉強が進んでいるのかわかりませんが、さわり程度でしたらそのように見えても致し方ないでしょうね。

そんなPHPでも自分で設計し、組み立てる。というプログラミング的考えが身につくのでしょうか? 

それは人による。短期間で身につく人もいれば、そうでない人もいます。

機能が限定されすぎてる

そんなこともないと思うけど…

学習意欲が高まりません。

なけれな生きていけないものでもないので、必要に迫られてもいないのでしたら続けなくてもいいと思います。



投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

phpはC言語などの静的型付き言語とは異なり、動的型付き言語ですし、その他においても簡単に書けるようになっています。
ある意味アバウトな言語ですので基礎が分かっていないと落とし穴にはまってしまう可能性はあります。
少なくとも他の静的型付き言語を習得してからphpに取り組むのが理想ではありますが、逆に簡単にプログラミング出来るphpを少しかじってから他の言語を習得するのもいいと思います。
学習意欲が高まらないのであれば他の言語をお勧めします。
機能が限定されているという事ではなく、機能がウェブ関係に最適化されているとお考えください。phpには他の言語には出来ないこともたくさんあります。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.11%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる