電子書籍の厳選無料作品が豊富!

web業界4ヶ月の者です。

業務でphpを使用しています。現在1ヶ月半ほどphpにてプログラミングをしているのですが、どうも理解が進みません。
こうやったらこれが実現できるというようなロジックを考えつくまで非常に時間がかかってしまいます。
ほかの人が3日でできるという簡単なシステムをつくるのに1ヶ月ほど費やしています。

上司曰く、「学生でもできる最低限のレベル」のことができないといった状況です。
phpは非常に簡単な言語だから誰でもわかるとのことなのですが、1ヶ月半やそこらで習得できるようなものなのでしょうか。
習得できない私はあまりプログラミングをするのに向いていないのでしょうか。
皆様の率直なご意見をお願いいたします。

ちなみに、プログラミング歴は2年でVBをやっていました。一応基本的な知識はあると思っています。

A 回答 (8件)

ANo4のPonpoko213です.


だいぶ様子がわかりました,周囲の方々のソフトウエア開発力が高いのですね.社内のノウハウもそれなりに蓄積されている印象を受けます.
個人的な考え方で恐縮ですが,この課題のハードルは高いと思いますよ.前回の繰り返しになりますけれど,WEBプログラミングはデザインスタイルが違うのです.会議室予約のようなものは不特定多数の素人が使い,変更も多いシステムですのでそれなりのシステムです.これまでの言語の経験者だというだけで,いきなりフレームワークを使って自分でつくってみなさい,といわれたとすると,結構戸惑う方がいらっしゃるのがむしろ当然です.
私のところにも大卒,院卒のエンジニアや既存ソフトの経験者が入社してきますけれど彼らの当時を思い浮かべても,会議室予約システムを独力でしかもWEBフレームワークで,というのは課題として投げっぱなしにするには難しいと思います.事前のレクチャーとフレームワークがしっかりしているということであれば実現可能な,興味深い課題にすることはできるとは思いますけれど.
 それなりの試験を受け,基礎能力等を認められて入社されたのでしょうから,わからないことを聞く,ということはやっていけないことでもないし,恥ずかしいことでもなんでもないと思います.聞き方のTPOと内容をわきまえる必要はありますが.
 詳細がわかりませんし,特に上司の方のお考えが理解できていないものですから,なんとも言えませんが.

 これ以下は全く余分なたわごとかもしれませんが,一言.ご本人にとってはまずはできる・できないが大切なのでしょうけれど,自分の力だでやらなければという思いが先行してWEBからソースをパクッて仮に動くものができれば,上司からほめられもするでしょうけれども,今後の仕事には大して活かないと思いますよ.質問者さまのおっしゃる通りいつもパクれるとも限りませんし,第一WEBからパクッて理屈も完全に把握せぬままソフトが動いた,ということは偶然で動いたようなものですから.
また,WEBや一般書籍のソースを沢山読むこともいいことですが,社内に優秀な方がいらっしゃるというなら,そちらのソースも読まれることをお勧めします.立派で完全無欠なソースでは無いとしても,それで仕事をやってきているのは事実ですし,自社の「型」がわかります.更にご本人たちからの解説も聞けるからです.

今の段階であれこれ考えて不安になることはあまり得策ではないと思います.スタートラインに立ったということでしょうから,多少きついことを言われても先輩に胸を借りつつまずやってみることだと思います.向き不向きはそれからでないと判断付かないと思いますよ.頑張って下さい.個人的にはPHPの信奉者です.大きな可能性を持ったすばらしい言語だと思います.
    • good
    • 1
この回答へのお礼

ponpoko213様

いろいろとアドバイスありがとうございます。親切丁寧にご回答くださって大変感謝いたします。

私の今までのスタイルは、わからなかったらとにかく聞いてそのパターンを覚える、記憶するというやり方でした。

しかし、今思えばこれは思考をあまり行っていなかったということだったのだと思います。
今の会社の方針ですと思考力、想像力が非常に要求されます。
自分の思考力のなさを痛感しています。

アドバイスを参考にいろいろ仕事のやり方を自分なりに考えて頑張って行きたいと思います。

お礼日時:2007/08/05 00:01

VBは、VBだけ知っていれば何とかなりますが



Webの開発は、PHPだけでは何も出来ません。

最低でも、HTML、CSSの関連の書籍を1週間で
全部一通り全部読んだほうがいいかな。
馬鹿らしいほど、単純で退屈な事かも知れません

phpは非常に簡単、それらよりHTMLやCSSはもっと簡単
でも、それが出来ないならPHPがいくら出来ても
Web開発の効率は上がりません。
向いている向いていないと言うより、効率の問題なので
気にすることはありません。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。

HTML、CSSについてはある程度理解しました。
webの仕事は今までと比べると覚えることが非常に多いので最初は少し困惑しました。

お礼日時:2007/08/05 01:03

つらつらQAを読んでいたら、質問者様は、職場での疎外感が強くなっ


ているのではないか、という気になってきました。これは気の毒です。

やはり、質問のところですね。ここでも、丸投げの質問があると、
考えて質問するように言われる人がいます。ところが、丸投げの
質問のようでも、ちゃんと回答が付くケースもあるのですね。

自分の過去を思い返すと、質問ばかりする人間だったようです。
頑張っていると、質問者と回答者が逆転するのは結構早いです。
勿論、質問して嫌われる場合もありますが、上手に質問し、相手の
言うことを良く覚え、良く考え、発展させると教えるほうも教えがい
を持つようになるものです。特に、論理ミスとかが指摘出来るように
なると、余計に喜ばれます。中には逆の人もいるわけですが、臨機応
変に問題にならないようにしなければなりません。

本気で長時間考えて、思いつかないのであれば、正直に言い、ヒント
だけでもお願いします、と行くべきです。途中でつまったら、自分は
コウコウ理解したつもりだけど、ここで詰まった、と答えやすく聞く
コツが必要です。

そうです、聞くコツは分からないところを聞くのではなくて、分かっ
たことを報告するつもりが効率がいいでしょう。つまり、今日勉強し
てコウコウと理解しましたが、あっていますか?とか聞かれて気分が
悪くなる人はいないでしょう。勿論、聞く前に、ちょっと2,3分よ
ろしいでしょうか?と前フリをお忘れなく。10分かかると思っても
2,3分です(^_^;)

それに、間違って袋小路に入って時間ばかり使うことも少なくな
るでしょう。

私も人に教えないといけなくなった時は、最後に分からないところは
ありますか? という質問はしないことにしています。今日、あなた
が分かったことを教えてもらえませんか?とこちらが質問するので
す。実に効率よく問題が発見出来ます。

最後に、自分の理解の問題が発見できて、修正された時は、努めて
喜びを表すことです。相手は、また教えてやろうって気持ちになり
ます。ハジだと思って苦虫をつぶしたような顔になる人がいますが、
このような人には、教えると自尊心を傷つけそうで、教える気が
無くなりますね。

このサイトでも分かりますが、人って本当は教えたがっているもの
です。気持ちよく教えられてあげましょう。

重要なのは、質問することにより、知識の共有ができ、職場での
疎外感が無くなることです。

話の前フリとか書きましたが、前置きの言葉は重要です。
最近は「すみません」が汎用語化してきましたが、すみませんでも
無いよりいいですが、時間を貰うときは「恐れ入りますが」とか、
相手が間違ったと思ったら「失礼ですが、今仰ったことはこういう
ことでしょうか?」とか相手に気を使う言葉を選択することは大切
に思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

何度もご回答いただき大変感謝いたします。

私も、VBで開発を行っていたときには積極的に聞いていたように思います。
わからなかったところは聞いて、それをパターン化して記憶する。そんなやり方でした。

しかし、このやり方だったためにプログラミングの根本的なことが理解できていないままだったのかもしれません。

多分、聞き方にも多少問題があったからなんではないかと思います。

Tasuke22様のご回答を参考に私も教えがいのあるような質問の仕方を考えながらやっていきたいと思います。
自分の理解度を伝えた上で聞くということは重要ですね。

それにしてもみなさん丁寧にご回答くださって大変うれしく思います。
ネット上はもっと殺伐としているものかと思いましたが、ここまで親切にいろいろアドバイスいただけるというのはすばらしいことですね。

お礼日時:2007/08/05 00:42

フレームワークを1ヶ月で使いこなすのは無理です。


使いこなせてこそのフレームワークですから、初めのうちは
そのフレームワークをどう使うかを模索する為、
使いこなせている人と比べたら格段に遅いのは当然です。

むしろそのフレームワークの使い方は、フレームワーク仕様の資料を
渡しつつ、知ってる人が教えるべきです。
だから質問するのも大事です。
カレンダーを生成するだけでも1から作るのか、もしくは
フレームワークで提供されている機能を利用して作るのかなんて分かりませんからね。
フレームワークの資料なら膨大でしょうし、全部に目を通しても
まず覚えきれないでしょう。

> 質問はするのですが、基本的には自分で考えて欲しいとい
> う方針です。
これは自分で考えたり調べたりしてプログラミング出来る能力を
培って欲しいという教育があるからでしょう。
考えたり調べたりした結果分からなかったら質問はしていいと思います。
なんせ、やりたい事は分かるけど『書けない』のですから。
それを『じゃあそのやりたい事をやる為にまず何をしなければならないか?』
と順序立てて教えてくれる人はネットの情報や私達ではなく
先輩や上司なのですから。

同じ作業をしている他の社員のレベルが高いというのも、
実はPHPは小学生レベルで、フレームワークを熟知してるだけかもしれませんよ。
(フレームワークを作ったのなら、それに携わった人は
プロでしょうけど)

余談ですが、冗長なコードでも第三者が理解し易ければ
いいと思います。
長すぎたり短すぎたりして意味不明になるより。
そういったプログラミングスキルは、幸いにも社内に
高いレベルの人がいるのですから、その人の作成した
ソースを見たり、自分で新しい知識を得てから、自分の
作成したソースを見直したりして徐々に向上していくでしょう。
きっと当時の自分を振り返って、「俺こんなきたねーソース書いてたのかあああ!!」
と思うでしょう!そう思ったら成長している証拠です^-^
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

上司はとても丁寧に教えてくれていると思います。
ここはこういうことだということを説明してもらって、後は自分で考えてという風に言われるのですが、その自分が考えなければいけない部分がなかなか考えられないという困った状況なのです。
思考能力の問題なのかなと考えてしまったりします。

それでもなんとかしないとならないので、積極的に上司に聞いたりしてやっていきたいと思います。

ちなみにフレームワークは会社の方が1人でつくっているようです。すばらしい開発者です。

お礼日時:2007/08/05 00:20

 これは想像なのですが,質問者様は「PHPを習得する」ということを,PHP言語を習得すれば,PHP言語を操ってシステム設計ができる,とお考えなのではないでしょうか.


 私もPHPは多少かじっていますが,第一のつまづきはPHP言語そのものだけではなく,むしろ既存のソフトの作り方に対してWEBプログラミングのスタイル(あるいはアプリケーションフレームワーク)が大きく異なることではないでしょうか?
それ如何で,このご質問「PHPをある程度習得するのに1.5ヶ月程度が妥当か否か」への回答は大きく変わります.

まず,PHPの言語仕様をとりあえず覚え,コマンドプロンプトレベルで動く演習的なものであれば1.5ヶ月はいらないはずです.しかし,PHPアプリケーションを作れるまでの,ということになると,正直WEBアプリケーションの経験が無い方が独力で習得するとなると,1.5ヶ月で習得
できる人はそう多くはいないと思います.

 他の方々が3日で作る程度のアプリケーションに1ヶ月も費やさなければならないとのことですが,どこで躓いているのでしょうか.「わからない」と思う人は「どこがわからないかも含めてわからない」ということで,躓いている箇所は自分では見えないものですので,それこそ心ある先輩に相談して,勉強法を推薦してもらうことが一番の近道ではないかと思います.

長文になってしまうので詳しくは申し上げませんが,もしも質問者様がおっしゃっている,「2年間のVBの経験」の対象がフローチャートや状態遷移図で表わされる一般のWindows上のアプリケーションであるということであれば,WEBプログラミングは全くパラダイムの異なる代物で,多くの人にとって学ぶべきことが沢山あることの法がむしろ当然だと思います.むしろ,WEBプログラミングやオブジェクト指向を学ぶときに,下手にこれまでの構造化言語や手順施行のシステム構築に凝り固まった知識や過信があったりすると,邪魔になるので,プログラミングのことを何も知らない人の方が良い,なんてことを言う人もいるくらいです.(C→C++への以降の時もそうした論議が沢山ありました)
ですので,向き不向きを論じるにはまだ早いです.生理的に,イヤという人はどうしょうもないと思いますけれど.

この回答への補足

ponpopko213様へのお礼文やほかの回答者様のお礼文で私が書いた内容について、すでにご回答いただいていることに加えてさらにアドバイスいただけることがありましたら何卒よろしくお願いいたします。

補足日時:2007/07/29 12:54
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

簡単ではありますが、No.2の回答者様のお礼の欄に記載したようなシステムを作成しています。初期の段階でやることとしては少し高度なのでしょうか?
しかし、これができなければテストもさせられないという風に言われてしまいました。
なお、会社の社員の技術レベルはそうとう高いです。

細かいロジックの部分で毎回つまづいてしまっています。

ご回答者様の仰るとおり、webアプリケーションはVBのアプリケーションとは全く別次元のもののように感じています。

お礼日時:2007/07/29 12:54

プログラムの作成のポイントはソースをできるだけ短くすること(繰り返しを使って)とメンテナンスをし易くすることです。


じつはこの部分は最初に長ったらしい直しにくいソースを書いてしまってから、何度も手直しして短くしてゆくという経験で初めて身につきます。
たいてい多次元配列や連想配列、クラスオブジェクトなど利用で実現するのですが、ロジックを考えるときに、これを使えば一番早いというのが感覚でわかってくるようになります。

毎回長いコードで書いて納品して終わっていたらいつまでも上達しないでしょう。
納期があることでしょうけど、しばらくは家で夜も週末もそのソースと格闘して短く簡潔にする能力をつけることです。
残業代も出ないのにと思うでしょうが、すぐに自分の身になって普段の仕事が速く終わったり、たくさん処理できるようになるので、自己投資と思うことです。
一ヶ月そんな感じでやればPHPならそこそこプロレベルになりますよ。

この回答への補足

insider007様へのお礼文やほかの回答者様のお礼文で私が書いた内容について、すでにご回答いただいていることに加えてさらにアドバイスいただけることがありましたら何卒よろしくお願いいたします。

補足日時:2007/07/29 12:59
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。

まだ、知識が備わっていないせいか、どうしても冗長なコードを書いてしまいます。

VBをやっているときは、他人のコードなどを見て、自分なりにこういう風に書けばもっときれいになるのにというようなことを思えたのですが、今まだほかのphpのコードを見てもそういったことがよくわからない状態です。

もっと、他人のコードをたくさん読まなければいけませんね。

お礼日時:2007/07/29 12:43

こんにちは。


早い人は一ヶ月そこらで習得してしまうのかもしれませんが、私は習得までに一年くらい掛けているので、一ヶ月半でそんなに気を落とさなくても良いと思います。

私はプログラミング経験無しで、学生アルバイトでPHPを始めました。
最初の6ヶ月は製品のテストをしつつ独学で学んでいたのですが、全く身につきませんでした。
この時は、自分は本当に才能が無いのだと思いました。
6ヶ月目に偶然開発に欠員が出て、バグ取りをさせてもらったのですが、そこから、本当に伸びが速かったように思います。
1年経過したあたりから、モバイルの公式サイト開発を一人でやらせてもらってました。

習得の過程で気づかれると思いますが、PHPの開発は非常に単純で、
1.入力チェック
2.何か処理
3.出力
で、大抵の製品は作れるということです。
2.の「何か処理」が一番大変なわけですが、入力チェックと出力は基本的にコピペです。出力はたまにページング処理やらCVS,画像出力といったイレギュラーがありますが、大抵は類似したコードが身近にあったり、ネット上に浮いていたりします。
2.の具体的なロジックの組み方の習得は「たくさん書くこと」とアドバイスされる方もいると思いますが、私はそれ以上に「他人のコードを読む」ことが重要だと思っています。
PHPが簡単と言われる所以は「ライブラリが充実していること」です。
例えば、画像処理について精通していなくても画像処理関数の名前と使い方を覚えれば、基本的な画像処理は実装できます。
つまりロジックを組む才能や計算機に対する知識が無くても、暗記と経験を積むことで習得できる言語です。

niguotdさんが今、伸び悩んでいるとお思いになるのなら、才能が無いのではなく、勉強する環境が悪いのだと思います。
周囲にPHPができる方がいるのなら、
・最初は比較的簡単な実装を(ページ単位などで)仕事として振ってもらう
・過去のソースコードをもらって類似したコードをすぐに読めるようにする
・5分間考えて分からなかったら質問できるようにする
などの環境を整えると、今、1ヶ月掛かる簡単なシステムの構築も徐々に早くなっていくと思います。
PHPの実装は単純なので、そのうち手が覚えてしまって、3日で終わるようになります。

最後に、長文ごめんなさい。

この回答への補足

tecinfo様へのお礼文やほかの回答者様のお礼文で私が書いた内容について、すでにご回答いただいていることに加えてさらにアドバイスいただけることがありましたら何卒よろしくお願いいたします。

補足日時:2007/07/29 13:08
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

現在業務として行っていることは、社内用の勤怠管理簿と会議室予約の機能を備えたシステムです。設計と大まかな仕様は決まっていまして、細かいロジックの部分はすべて自分で考えてつくっています。
なお、フレームワークを使用しております。

質問はするのですが、基本的には自分で考えて欲しいという方針です。
たとえば、カレンダー表示をするということを機能として実現しなければならなかったとき、それをそのままこういう風にやればいいというのは教えてもらえません。あたりまえですが。
そこの部分は自分で考えなければならないのですが、いつまで経っても思いつくことができないのです。webで調べてそれをちょっと形を変えてようやく実現できたといった状態です。

今後そういう場面に頻繁に出くわすと思うのですが、すべてがwebに載っているというわけでもないので、やはりそういう思考力を鍛えないと厳しいかと思っています。

何か「できる」といった確信をもつことができればいいのですが、ちょっとまだ自信が持てていないです。

お礼日時:2007/07/29 12:32

過去に、10以上の言語をやってきましたが・・・



> 上司曰く、「学生でもできる最低限のレベル」のことができない
> といった

この言い方は大げさでしょう。通常の学生で出来る人はいますが、
圧倒的にその数は少ないですよ。稀と言っても過言では無いでしょう。
例外を引き合いに出すのは卑怯です。

> 習得できない私はあまりプログラミングをするのに向いていない
> のでしょうか。

向き不向きがある、というのがどうも理解出来ませんが。
プロもアマチュアもかなりの数教えてきましたが、やる気の無い人
は、自分が行わない言い訳を何時も持っている、というのを学びま
した。これはプロもアマも問わなかったですね。

私見では、数百万年前には無い職業なので、生まれながらにして合っ
ている人はいないのではないでしょうか。人間は、後天的に合わせる
ことが出来るから人間なのだと思いますけど。

生まれながらにしてこの職業が合っている、という言葉はウソという
か間違いだと思いますね。氏より育ちです。20歳過ぎても、自分で
自分を変えられます。

> 一応基本的な知識はあると思っています。

少なくとも現時点ではこの気持ちを捨てないといけないと思います。
個人的な感想では、BasicがベースのVBは言語としてどうかな?と
思います。

それと、やはりPHPは通常のプログラミング感覚の部分と、HTML吐き
出しの部分は異なる感性が必要だと思います。私も時々、一瞬ですが
PHPがクライアント側で動いているのかサーバ側で動いているのか勘
違いすることがあります。注意としてはこの辺でしょうか。

HTMLそのものやJavaScriptも必要でしょうしね。一ヵ月半では習得す
る範囲は広くて、そう簡単では無いと思います。最初の頃は家でも
マニュアル読みでしょうね。

後は、今の開発環境はラクなので、細かいことでも、取りあえずコー
ディングして動かしてみる、という作業を何度も行うことです。
HTMLが吐き出せるのだから、自分の期待値をどんどん吐き出して、結
果を目で見ることが重要でしょう。
机上でウンウン考えるよりも、ラクだし意味を捉えやすいでしょう。

この回答への補足

Tasuke22様へのお礼文やほかの回答者様のお礼文で私が書いた内容について、すでにご回答いただいていることに加えてさらにアドバイスいただけることがありましたら何卒よろしくお願いいたします。

補足日時:2007/07/29 13:10
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

上司も、多くの人を指導してきたようなのですが、私に関してはその中でもかなりできないほうという厳しい意見をいただきました。

たしかにVBと比べるとPHPはかなり異なる言語のように感じます。なので非常に難しく感じてしまっています。

お礼日時:2007/07/29 12:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!