プログラミング道の極意

タグの編集
投稿者 匿名で勘弁  (社会人) 投稿日時 2010/5/7 09:51:12
これは雑談です。回答を要求するものではありませんが興味のある方は是非回答してくださいね。

プログラミングを始めて誰でも当初は苦労すると思います。
しかし、その苦労を突破して行く人と悲しいかなあえなく挫折してしまう人がいます。
才能のちがいといってしまえばそれまでなのですが
突破して現在に至った方にお尋ねしたいのですが、行き詰まり感を乗り越えることが
できた原動力は何だったのですか?
また、そのときにした努力、工夫などもできればおしえていただけたら嬉しいです。

投稿者 るしぇ  (社会人) 投稿日時 2010/5/7 10:22:07
保護者に守られている学生時代ならいざ知らず、社会では
弱肉強食ですから強いものを持っているから生き残ってます。

逆に職業としてプログラマを選ぶというようなレベルで
あれば、お客さんの立場に立って考えてみて下さい。
頑張って働いて貯めたお金を出し、便利になる事を夢見て
システム開発を依頼したのに「初心者だから」「不勉強だから」
で使えないシステムを作られてはたまりません。
挫折したなら他の道を探してください。
投稿者 るきお  (社会人) 投稿日時 2010/5/7 12:42:36
こんにちは。

>行き詰まり感を乗り越えることができた原動力は何だったのですか?
私の場合は、「作りたい」という思いと、それを一個ずつ達成していくことの楽しさの連鎖と思います。

最初は簡単なパズルゲームを作る気になって、
原始的なプログラムを書いてました。技術的にはだめだめでしたが
ゲームとしては苦労のすえ望みどおりのものができて大満足。

バイト先では、みんな効率悪いことやっていたので、
私が勝手にプログラムを自作してみんなに喜んでもらったり。

一個一個作りたいなと思うものをどうやって作ろうか調べたり考えながら
四苦八苦していくその過程自体も楽しく、気が付いたら結構プログラムが得意になってました。

>また、そのときにした努力、工夫などもできればおしえていただけたら嬉しいです。
とりあえず、作りたいものを作ることかなと思います。
そして、「作りたいもの」もいろいろ妥協は必要なんで完全主義にならないこと。
プログラム的にはだめだめでも結果的にものが完成することを目指すこと。
さらに、作ったものを人に使ってもらって楽しんでもらったり喜んでもらうと
それが次の原動力になりますよね。

作りたいものには、
ゲームやひらめきのように何もないところから沸いて出てくるアイディアもあれば、
普段の仕事や勉強、パソコンの操作が面倒で、自分のプログラムで楽をしたいという思いから沸いてくるものもあります。
また、既にある機能でも有料だったり、ちょっと物足りない部分を自分で作るということもあります。

なにか作りたいものはありますか?
それとも、あまり余裕のない状況ですか?

投稿者 (削除されました)  () 投稿日時 2010/5/7 20:34:10
(削除されました)
投稿者 cupid  (社会人) 投稿日時 2010/5/7 23:16:04
想像するに、かなり初級レベルでおっしゃっていると感じましたので、それに合わせて。
プログラムってのは基本的にかなり単純な働きしか、しないものです。文法的な内容や
基本コントロールを理解するのは大した事ないと思います。
ところが解説書読むと、難解な概念が難解に書かれてある、場合もあります。
「オブジェクトを宣言(定義?)して、そのインスタンスを配置する」など、...
しかし、解説より、ソースコード自体の方が分かりやすい場合もあります。
そんなとき、ソースを真似てプログラムを書き、実行して見る。必ずDebug.Print様の
ものも加えて。そうするとプログラム実行の結果、どう動くかだいたい分かります。
そこで、あまり何故?を考えない方が良いかもしれません。ともかくこう書けばこう動く
という事を理解?します。その積み重ねで、だんだん何故も分かるようになるでしょう。
早いうちに行き詰まる人は、一足飛びに結果のみ求める場合が多いのではないでしょうか。
分かる分からないを向き不向きと考えてしまえば、深く考えず転進してしまうのも手かも
しれません。しかし生活がかかっているから何とかしなきゃ、と思えば何とかなります。
投稿者 流れ者  (社会人) 投稿日時 2010/5/8 17:08:41
こんにちは。

>行き詰まり感を乗り越えることができた原動力は何だったのですか?
腹をくくることでしょうか。行き詰まり感といえば印象が悪いですが、別の言葉にすれば「スランプ」となると思います。一気に解消しようとは思わずに、一歩でもいいから前に進もうとする気持ちですね。

>また、そのときにした努力、工夫などもできればおしえていただけたら嬉しいです。
仕事としてのプログラミングに関してですが、私はとことん考え込みます。会社からの帰り道、食事中、テレビを見ている時、布団に入り眠りに落ちる瞬間まで、とにかく色々な解決策を考えます。そうすると、ふと、道が開けることがあります。

あとは、悩むことも含め、プログラミングそのものを愛することですかね ^^)
投稿者 名無氏  (社会人) 投稿日時 2010/5/9 09:50:02
小生の場合も基礎を一応勉強しましたが、なかなかレベルアップするのは難しいというのが
実感です。

作りたいものを作ることが大切だと思ってますが、作りたいものがない、というか、作りたいものはもうすでにネット上のフリーソフトの中にあることが多いですね。
それで同じものを作ってみようとしますが、このフリーソフトもプロの方が趣味で作られているのが
結構多いようで、自分のレベルでは歯が立たずあきらめてしまうことの連続です。
もちろん機能を削って身の丈にあったものであればなんとか作ることはできますが満たされない
ものがあります。

どうにもステージを一つ越えるには大きな壁が立ちはだかっているような感じです
または、自分に才能、適性、資質が乏しいのかなとも思ったりしている今日この頃で
プログラミングからもしばらく離れているような状況です。
VBも2010にバージョンアップしたのを機会に再チャレンジをしてみたいと思ってはいるのですが
とりとめもないことを書いてしまいました。
投稿者 cupid  (社会人) 投稿日時 2010/5/9 10:12:41
> フリーソフト

どういうものを言っているか分かりませんが、何となくOSと密接にからんだ、
あるいはOS機能に深く入り込んだソフトのように想像しました。であれば、
Windows機能だのAPIだのに深く詳しい知識が必要とされ、もうオタクの世界でしょう。
小説読むより、PCやOS本読む方が好きという人が作ったように思われます。

自分の場合、こういう分野に弱く、どちらかと言えばアルゴリズム派ですが、対して、
向こうはインターフェース派とも言えるでしょう。分けて考える方が良いかも..
今の話題と直接関係ありませんが、若干、自サイトの宣伝もさせていただきます。
投稿者 名無氏  (社会人) 投稿日時 2010/5/9 13:31:21
プログラミングにもいろいろなジャンルがあるのは知ってますが
(ゲーム、データーベース、ネットワーク関連、ユーティリティなど)
パーティーションを切り分けたり、デフラグ、データ圧縮、解凍などのソフトは
かなり上級者向けなのでしょうか?
そうしたシステム系のプログラムについては、アルゴリズムさせ考えつかないような
状況です
投稿者 葉月  (社会人) 投稿日時 2010/5/9 15:35:08
達人についてだったんで参加しないつもりでしたが、
テーマが変わっているので参加します。


>>データ圧縮、解凍
関連URLは、ググった結果です。
この中に、VB.NET系やC#からJ#を呼び出したやり方を記載したサンプルサイ
トがあります。

>ここから改造。注:実践していません(笑)
上記で解凍、展開、情報取得のやり方がわかります。
一時的な作業領域を作り解凍→編集→圧縮(元の圧縮ファイルがある位置に
上書き)すれば、あたかも圧縮されたまま中のファイルをいじったり、追加
するツールが作れます。
この案は、ファイル数が多いと破綻するのも一応説明しておきます(笑)
私程度だとそんな案しか出ませんが、もっといいやり方もあると思います。


>>パーティーションを切り分けたり、デフラグ
他の言語に任せた方がいいかも知れません。


基本的な調べ方ですが――
探したいキーワードに、VB C#でググればサンプルサイトが見つかります。
私的にはDOBONさんがお勧めです。
Vista以降のOSをお使いの方は、Googleや専用サイトのガジェットを作るの
も、いいかも知れません。

サンプルを参考にMSDNで概要を調べれば、必要な知識が入ります。
MSDNの説明がわからなければ、@ITやITPROの記事を探してください。
投稿者 名無氏  (社会人) 投稿日時 2010/5/9 16:28:12
>>パーティーションを切り分けたり、デフラグ
>他の言語に任せた方がいいかも知れません。


こういう知識というのは、VB関係の本を読むだけでは身に付かないですよね。
VBでは、どの程度の力が身に付いたら、○○程度のプログラムが作れます
といった目安見たいのがあればいいですね(何か自分でもおかしなことをいってると思いますけど(^^;))
身の丈に合ってないプログラムを毎回作ろうとして挫折しまくって
いるような私なのです。トホホ…

>サンプルを参考にMSDNで概要を調べれば、必要な知識が入ります。
>MSDNの説明がわからなければ、@ITやITPROの記事を探してください。 
 有り難うございます。