- ベストアンサー
プログラミングのセンスをあげたい
C、C#、JAVAを勉強してきたのですが自分のセンスの無さに 愕然としています。授業ではJAVAで電卓を作っているのですが正直1人でできそうではありません。 それ以外にも自分で、仕様書などは作らずにオブジェクト指向言語で作っているのですができません。 最近作って挫折したのは小遣い帳です。 Excelで作ることは出来ると思います。 あと家にSQLサーバーが無いため、配列を用いてファイルに書き込むと言う手段を考えています。 プログラミングのスキルをあげるにはどうすればいいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
プログラミングは、絵画や楽器演奏に似ていると思います。芸術です。 まずは、模写やコピー演奏のようなことをしたり、その後、描いては壊しみたいに試行錯誤してみる過程は必要だと思います。適宜、先生みたいな人について、その技法を学ぶ、みたいなことも必要です。 もっとも、素質がある人は、そんなことをしなくても、一発でできます。しかし、それはわずかな人です。 > 最近作って挫折したのは小遣い帳です。 > Excelで作ることは出来ると思います。 Excel は画面の入出力ライブラリーが、すでに Excel という画面であるので、プログラミングする個所が少なくて済むので、Excel が簡単なのはあたりまえだと考えたほうが良いです。 > あと家にSQLサーバーが無いため、配列を用いてファイルに書き込むと言う手段を考えています。 これも Excel だったら、セルに数値を手打ちしていけば済むわけであり、ファイルの入出力ライブラリーがすでに付いているといったイメージなります。Java だとその部分も自分で作らないといけなくなるので、大変なことはたしかです。 手間はかかりますが、ファイルを読み書きするひながたを自分で作ることから、まず、やられてはどうでしょうか。 もちろん、データーベースも SQL Server であっても、無料で使えるバージョンが探せばありますし、それに対して JDBC などで接続することもできます。また、XML 用のライブラリーも Java には標準で付いていますので、そういうのを使ってファイル入出力もできます。 ただ、そういうツールやライブラリーを学ぶのにも時間がかかってしまいますので、最初のうちは、自分で CSV みたいなファイルを読み書きするようにしてしまうほうが楽かもしれません。
その他の回答 (3)
>仕様書などは作らずにオブジェクト指向言語で作っているのですができません。 No.1さんも指摘されていますが、これはちょっとマズイかも。 プログラミングは「言語」です。 日本語で仕様が書けなかったら、他の「言語」でも書けません。 いくら英語を習っても、「話す」技術が無ければ英会話ペラペラにはなりません(たまに違う人もいますが^^;) ロジックレベルでつまづいているのに、それをプログラミング言語の問題だと勘違いして、色々手を広げても、結局同じような壁にぶちあたって、傍から見ると同じような質問を繰り返す(この掲示板でもたまに見受けられます)ことになります。 まぁ生まれつきのセンスっていうのも確かにあるような気はしますが、基本は反復練習ですね。 「言語」ですから。
- dekopa-
- ベストアンサー率42% (161/378)
>自分のセンスの無さ プログラミングの上達は、すなわち定石の蓄積です。 後は問題を細かく分けて、定石に当てはめて順次解決していくのです。 ・ループの仕方 ・文字列処理 ・ファイルの読み書き ・GUIの構築 等は言語ごとに定石(パターン)があります。また、言語が違ってもあまり差異はありません。Cで通じたことが、ちょっと形を変えてJavaで出てきます。特に最近のオブジェクト指向言語同士では尚更です。 >仕様書などは作らずにオブジェクト指向言語で作っているのですが 慣れないうちにそんなことしてもマイナスですよ。メモ書きで良いので仕様を明確にしましょう。 オブジェクト指向は、仕様を省くためのものではありません。 >あと家にSQLサーバーが無いため、配列を用いてファイルに書き込むと言う手段を考えています。 配列である必要はありませんが…もしかしてCSV形式の事でしょうか? >プログラミングのスキルをあげるにはどうすればいいのでしょうか? あちこちの言語に浮気せず、これと決めたプログラムを1つずつ完成させる事です。 「これのやり方がわからない」というとき、調べるなりなんなりして乗り越えればそれがスキルになります。 「この言語じゃできない」という事は、特殊な例を除いて殆どありません。
お礼
>あと家にSQLサーバーが無いため、配列を用いてファイルに書き込むと言う手段を考えています。 はいCSVでしようとしていました。 あれもこれもと言語に関して浮気していたかもしれません 1つずつこなしていこうと思います。
- hana-hana3
- ベストアンサー率31% (4940/15541)
>プログラミングのスキルをあげるにはどうすればいいのでしょうか? 柔軟性と応用力です。 必要なデータや処理手順(順番)をきちんと把握して組み立てる事でプログラムになって行きます。 基本的な事が理解できれば、あとは応用力があるかどうかでプログラミングのセンスが問われます。 自分でネットを探して、サンプルを見てある程度理解出来る程度の能力があれば、多少の問題出ても自力解決できるかと思います。
お礼
回答ありがとうございます。 プログラミングは、試行錯誤して自分で経験を積まないと レベルが上がりませんよね。