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

四月から就職したんですけど、プログラムがうまく書けなくて困ってます。

なんとか追いつこうと参考書を買って仕事が終わってから一から勉強しているのですが、なかなか進みません。会社の同期を見るとネット上のプログラムを組み合わせたりして要領よくどんどん進んでいます。自分も仕事中は同じようにネット上のプログラムを使っているのですが、なかなか理解できずに上手く進みません。

皆さんはどういう風にプログラム言語を習得していますか?

A 回答 (3件)

プログラム言語なんて方言みたいなものなので、何か一つ覚えてしまえば


わりと流用できます。
一番重要なのは、アルゴリズムを組み立てられるようになることです。
# 将来的には、何か一つ言語を決めて言語自体のアーキテクチャを勉強しましょう

同期の子と自分を比較しているようですが、無理にあせって作成する必要はありません。
ゆっくりでよいです。そういう期間なのですから。
開発という作業は「急がば回れ」という言葉を身をもって体験できるところです。
時間がないとき、焦っているときほどゆっくりと確実に作業を進めましょう。
今はそういう事ができるようになる訓練を主体に考えるべきです。

ということで、プログラムを勉強する上で練習しておくと幸せになれる事柄です。
1. コーディングする前に設計をすること
2. コーディングした後、トレースして計算量を机上で計算すること
3. コンパイルする前に自分で見直し(レビュー)すること

1.の設計に関しては、自分のメモ書き程度でも十分です。
作成しようとしているものにどんな機能が必要なのか、
「機能」や「要件」について、詳細をまとめるだけでよいです。
注意事項は、コーディングにならないこと
あくまで仕様に着目して書いてください。

んで、今度は上でメモした仕様をすべて実装できるように
日本語で処理の順番に従って箇条書きにします。
ここでも、処理のフローみたいなことは重要ではありません。
でも、処理の順番は意識して箇条書きにした方がよいですね。

最後に、実際のコーディングですが
箇条書きにした日本語を実際のコーディングにしていきます。
コーディング時の注意事項は、コメントの書き方です。
コメントは処理でなく、目的を書くようにしてください。
処理自体はソースコードをみればわかるので書く必要はなく、
そこの処理は何のためにやっているのか?それが大切です。

日本語で列挙した部分をコメントにして処理のブロック的に
考えるとよいかもしれません。
理想は、コメントを読むだけでソースコードを斜め読みできることですね。
なれないうちは、まず一つの関数でごっそり書いて
だんだんとリファクタリングしていくのがやりやすいかもしれません。
# ほんとうは最初からある程度機能単位に関数化されていた方がいい
# でも、細かくなりすぎないように注意

2. は、処理量(時間)を机上で計算します。
特に繰り返しの部分は注意してください。
数件で実行したときの結果を数個サンプリングして、
このまま増え続けたらどうなるかを予想してください。
テストの段階では数件だから問題なかったけど、100万件になったら
性能が追いつかなくなったとかよくありますので、見積もりは大切なことです。
まぁ、作成する段階で実運用での諸元を気にして作成するでもよいですね。
あまり、オーバースペックとならないように注意した方がいいかも?

3. はレビューを行うことです。
とりあえずかいて、コンパイルして実行して~なんてひとが結構いますが
僕的にはコンパイルする前に、頭の中でいろいろなケースを
テストした方がよいと考えています。
結局、実際に動かしてテストはしなければならないんですけどね。
新人のうちから、そんなことになれちゃだめです。

あとは、処理効率をあげるために定石的なアルゴリズムを
学ぶことでしょうけど、そういうのは大抵ライブラリ化されているので
自分で作成するよりは、あるものは使った方がよいでしょう。

最後にコーディングについてですが、
ロジックを考えていて詰まることがあると思います。
そういうときは、紙に書いて、自分がプログラムになった気持ちで処理をしてみましょう。
コーディングは今自分がしたことを分析して細かく表現してあげるだけです。
プログラムなんて所詮は書いたとおりにしか実行されません。
デバッガの使い方も覚えるとはまったときに助かるかも?
長くなりましたが、がんばってくださいね。
    • good
    • 0

>>なんとか追いつこうと参考書を買って仕事が終わってから一から勉強しているのですが、なかなか進みません。



と言うことはまだ一通り参考書を見て勉強できていないということですか?だったらまず参考書を一通り読んで全体を把握しましょう。

私も就職してからプログラムを始めましたけど、正直最初の半年間は全然プログラムを理解できませんでした。(私はC言語を勉強してました)
しかし、業務をしつつ勉強をしていたらそのうち理解できるようになると思うので焦らず今出来る勉強をするのが良いと思います。

自分のやってきた勉強方法としては
(1)参考書を読む … これは基本です。
(2)実際にプログラムを書いてみる。 … 参考書に載っている例のプログラムでいいので書いてみてください。
(3)プログラムをトレースする。 … プログラムを目で追ってどのように動いているのかを追っていくと理解が深まると思います。

最初は基本的なことだけでもいいので覚えましょう。
(条件分岐やループについて)
最初はわからないことも長くプログラムと接すれば次第にわかるようになっていくと思うので焦らず長いスパンで勉強してください。
    • good
    • 0

回答します。



「プログラム言語」を習得するのではなく、「コンピュータに何をしてもらいたいのか?」について勉強するのが一番早道です。コンピュータにも出来ることがあれば、出来ないこともあります。性能の高いスーパーコンピュータならば出来ることが、小さなパーソナルコンピュータではできないことがあるのと同じことです。

さて、そのような場合。早道は、ソースプログラムなどを集めて、このプログラム中では何をやっているんだろう?と調べてみます。実際問題として、プログラムは、ある入力(データ)に対して、ある出力(情報)を得ることを目的にして計算します。これは、電卓などを使った経験があるならば、分かると思いますが・・・ある計算をするために、データを入力し、演算子を入力し、そして答えを得る。同じことをコンピュータでも行っているわけです。

最初のうちは、「アルゴリズムなどを勉強してみて、それからどうやったらあるデータを処理できるのか?」などを工夫していくと、だんだん上達します。

では。

追伸
かなり上達したら読んでおくと良い書籍は、
1.藤原博文著、「Cプログラム診断室」、技術評論社
2.「データ構造とアルゴリズム」、培風館
3.その言語のバイブルと呼ばれる書籍
    • good
    • 0

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