プログラマとか、めちゃくちゃすげぇよな!!!!!!!

このエントリーをはてなブックマークに追加
801以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 10:07:47.18 ID:Mz5PkoglP
802以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 10:08:31.60 ID:ovLwzuCY0
803以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 10:08:58.09 ID:agXtK8nT0
俺ハッカーになれたんですけど、そこでプログラミング引退してしまったよ
大事なものは、捨てずに全部かかえて前へ進めよ
804以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 10:10:31.77 ID:ZcyX4rFE0
はい次の方ー
805以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 10:54:08.79 ID:4d7ntr8CP
最近、初学向けの言語はなんだろう?ってよく考えて調べてた。参考程度に聞いてくれ。

まず言語。正直言語は何でもいい。ネットでも本でも日本語の情報が簡単に手に入るように
なってるから。できれば身近に教えてくれる人がいて、その人のすすめる言語がいい。
アドバイスも聞けるからね。将来的にこの言語は学んだ方がいいってのはあるかもしれないけど。

ただ調べてわかったんだけど、言語の教科書は本当に沢山ある。でも本当に全くゼロからの
プログラミング初学者向けの情報というのが意外に少ない。

ここでいう初学者向けってのは、英語で例えると実用的な英会話と言えばわかってくれる
だろうか。先の言語の教科書ってのは英文法って感じ。文法についての情報は山ほどあるけど
会話についての情報は少ないんだよね。

つまり言いたいのは本屋の書籍やネットの情報では英語の仕組みは分かっても英会話は出来ない
って事。

英会話だと相手が手助けしてくれる場合もあるからそれでも平気なんだけど、プログラミングは
ダメ。プログラマがコンピュータに100%指示しなきゃいけないからね。

だから初学者はプログラム言語と同時に指示の仕方を学ばなきゃいけない。ちょっと難しく
言うとアルゴリズムってやつだ。最低この二つを勉強しなきゃいけない。

この二つを学ぶ手っ取り早い方法はやっぱり専門学校や大学で学ぶのがいい。ちゃんと
カリキュラムが組まれてるから。でも世の中には社会人になってから勉強したかったり大学へ行く
前から学びたい人がいるのも事実。
806以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 10:55:06.85 ID:4d7ntr8CP
そうなるとやはりネットか本って事になる。俺が知ってるサイトだとここかな。

■目指せプログラマー!
http://www5c.biglobe.ne.jp/~ecb/index.html

ここにはアルゴリズム入門とプログラミング言語が4つ紹介されてる。このサイトで勉強するなら
無難にCから始めるのがいい。Javaでも構わない。ただここは一番最初に必要な開発の為の
アプリケーションを準備する説明がないのが痛い。あとサイト名もちょっとダサいしw

本だったら石畑清って人のアルゴリズムとデータ構造ってやつを。Cプログラミング言語に関しては
一杯あるから気に入ったやつでいい。amazonのレビュー見ながら探して。じゃがんばれよ!



と、ここまでは俺がわざわざ言わなくても誰かがアドバイスしてくれるはず。次は俺の意見ね。
807以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 10:58:09.73 ID:4d7ntr8CP
まずこんなの最初に勉強するのはクソつまらない。本当につまらない。純粋に数学やコンピュータが
好きなヤツだったら楽しめるかもしれない。俺もどっちかというと好きな方だけどつまらなさ過ぎる。
学校の勉強と一緒。最悪、言語とアルゴリズムを覚えても「で?」って事になる。本当はプログラ
ミングって面白いし面白さを知った上でアルゴリズムを学ぶと楽しいんだけどね。

つまらない理由は簡単。こういう学習って大体目標が設定されていないから。英語もそうだけど
英語がしゃべれますってのと英語圏の恋人が出来ましたってのとは全然違う。恋人を作るって目標を
設定すると達成度が全然違うんだよね。

プログラミングもそう。シューティングゲームを作るとかGoogleを超える検索エンジンを作るとか
目標を定めないとつまらない物になる。飯の種にするって目標もありだけど最初からそうしてると
多分一生底辺プログラマ。

808以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 10:59:04.68 ID:4d7ntr8CP
んで俺が薦めるド素人向けプログラミングの学習は scratch で遊ぶ事。scratch はクソゲーの宝庫
だけどvipにいる奴らだったらブラウザゲーとか好きだろ?まずこれで遊んでくれ。
あ、Javaが必要な。

http://scratch.mit.edu/projects/jay/118
http://scratch.mit.edu/projects/TheSaint/379172
http://scratch.mit.edu/projects/m44/171608
http://info.scratch.mit.edu/node/119/4

俺はこんなの結構好き。おまえらもちょっと探してみてくれよ。面白いのを見つけるタグは lol とか
coolio だな。

んでこんなのをどうやって作るかのチュートリアルムービーはここ。英語だけど気にすんな。
とりあえず見ろ。

http://info.scratch.mit.edu/Video_Tutorials

チュートリアルで学んだ後は自分で好きなの作るのもよし、ギャラリーからプロジェクトこぴって
魔改造するもよしだ。魔改造しまくってたら結構いいの作れるようになると思うぞ。

何か作ったらギャラリーにアップして教えてくれ。

長文すまん。
809以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 11:10:05.53 ID:Uj9RSzBp0
はい次の方ー
810以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 11:13:11.66 ID:0b5rDHDTP
プログラミングを学びたい、の動機自体は軽くても重くても何でもいいけど、
昨今の動作環境はベース自体がもう複雑で、派手で目に付く部分は実は技術の積み重ねで出来ているので
動機に対して知らなければならない事の階層が相当に激しく、
目に付いた所の技術を得たい → それを知るには 前提があって前提があって前提があって前提があって・・・ の階層が
深かったりして、最終的にそれを面白がるか、面倒に思って去るかの最初の二択があったりする

古くから触れている人間は、大昔の単純な頃から一緒に時代を歩いてきながら、
なんとなく過去の記憶をヒントに応用を繰り返して進んできているけど、毎日毎日新しい人は生まれる
なので、現代から未来に進むほど、前提の前提の・・・ は増えていく。 その辺を埋める存在として、「さらに高級な言語や環境」 も
生まれてはいるけど、それであっても少しコアな所、電子計算機の基本的な部分に触れようとすると、

はしょって飛ばした前提の前提の・・・のどこか一部分には触れねばならない。 その辺にジレンマ
しかし飛ばせないジレンマ。 最後はその人の意思と性格次第
811以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 11:18:27.52 ID:Mz5PkoglP
3行で頼む
812以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 11:31:51.75 ID:0b5rDHDTP
>>811
フクザツな経緯を
誤解が無いまま3行で伝えるのは
無理
813以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 11:43:57.25 ID:0b5rDHDTP
CPU → 機械語(1:1のニモニックで書いて機械語に翻訳するアセンブラ)
→ 「毎回 ハードウェアのI/Oと通信して書かなきゃいけないの?」
→ 文字の入力や表示みたいな基本的な事は、どんな場合でも使うよね
→ じゃあ基本セット作っておこう、今後はこれを呼び出すだけね
→ 「機械語からそれCALLするの?」 「他にもこういう処理はどんな場合でも大抵使うよね」 「ならもう少しこんなのあったらry」
→ 「じゃあそれらを組み合わせて何か作れる方が楽だよね」
 → 翻訳して機械語まで落とす? = ネイティブコンパイラ Cなど
 → 翻訳しながら俺が実行させよう = インタプリタ BASICなど

 (時と共にソフトウェア工学としてアイデア色々誕生。作っちゃった人も登場)

 → C にこんな機能あったらもっともっと = C++
 → 私はもっとロジックの再現過程の短縮に注目しました = その他インタプリタ全般

 (時と共にソフトウェア工学としてアイデア色々誕生。作っちゃった人も登場)

 → 「もっとハードウェア寄りの内容を隠して開発を短縮しよう。その部分は俺が書いとく。これに従ってくれればみんな楽になれる」
  = もっと上位のインタプリタ
  → 「毎回文字列翻訳しないで、一旦仮想的な 俺のCPU 向けの中間コード生成して実行も短縮しちゃう」
   = VM系言語: Javaなど ※中間言語コンパイラというインタプリタを持つ、新しい変態

 → MS「Javaとか目の上のたんこぶ。Sunうぜぇ。IBM氏ねよ。全部技術者取り込んでやる」
  = .NETフレームワークをOSに乗っけつつ → C#など誕生

 → Macromedia 「絵が自由に動かせるときれいですよね。別にmacだけじゃないですよ」
  = Shockwave → 後に Web版だった Flashに吸収 → 後に会社ごと Adobeに飲み込まれる

大雑把すぎ書いてて自分でワロタ
814以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 12:07:46.90 ID:IyV9d6bH0
起源まで遡って説明してもらうとわかりやすいよね
flashメモリができるまでとか
詳しい人はどんどん書いて欲しい
815以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 12:16:41.37 ID:yASGaqZo0
全く知識ない素人だけど、iTunes作るためには何が必要なのよ?
816以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 12:18:00.41 ID:ovLwzuCY0
iTunesができる前の時代まで遡れるタイムマシーンとか
817以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 12:19:24.79 ID:yYtXI04J0
>>811
すごく簡単に言うと、「20年プログラマーやってた人が、1年プログラマーやってる人よりも知識が多くてずるい!」ってことだろ・・・
何を言ってるんだお前は
818以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 12:20:52.12 ID:4d7ntr8CP
>>815
音鳴らす
サウンドエフェクト
DRM管理
ヴィジュアルエフェクト
ネット接続
Win&Macで動くコア
デバイス制御

あと動画もか

大雑把に言ってこんくらいかな
819以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 12:33:51.61 ID:yASGaqZo0
>>818
ありがとう。

iTunesのようなソフトを作るにはどの言語が適してるんだろ?使いやすいの使えって言われそうだが
820以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 12:37:11.42 ID:h2JyakM/P
初心者はC++だと挫折しやすいから(ポインタが難しい)ポインタを意識しなくて良い言語が良いと思います。
C#オススメ
821以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 12:42:29.93 ID:4d7ntr8CP
>>819
C++かCかな。

参考までにiTunesじゃないけど似たようなソフトでSongbirdってのがあってそれのソースは

http://publicsvn.songbirdnest.com/client/trunk/

で見れる。ちなみにこれのソースはC++とJavaScriptとpythonじゃなかったかな。他にも使ってるかも。

自分の思い通りに作りたかったらC++。C++で作れるようになればスクリプト系の言語はすぐ
覚えられるよ。
822以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 12:54:40.92 ID:mD98s2CFP
今日のPGスレここでいいよね?
823以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 13:26:41.11 ID:Mz5PkoglP
>>819
iTunesみたいなGUIツールをWindowsで書くならC#が一番手軽。
本気で書くならC++
824以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 13:50:10.48 ID:yASGaqZo0
>>820
>>821
>>823
ありがとう。
難しいらしいがC++勉強するわ
どうしても無理だったらC#勉強したあと
再度挑戦する
825以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 13:54:29.14 ID:HaqYFzbg0
普通の対話型アプリならUIが重要であって、処理速度は二の次でよい
UIが簡単に作れるVBやC#は最適解の1つだな
826以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 13:56:08.85 ID:0b5rDHDTP
処理速度の話って出てたか?
827以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 14:04:33.70 ID:0b5rDHDTP
成果物を使う側の視点で、何が重要かって話になったとき、
人が触れるUIインタフェースを素早く作れるって意味で、かつWin環境なら
OSベンダが用意しているVBやC#は、最適解の一つではあるけど、

アプリケーションにとってUIは実装する機能の1部分でしかないから、
書き始めて、さて実際に 「何をする為のプログラムなの?」 って当たり前の所に来たとき、
必ずしも最適じゃないかもしれないし、やっぱ正解でした、かもしれない

→ つまり製作する内容による って感じ
828以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 14:07:05.19 ID:Mz5PkoglP
UXも大切な場合もあるけど
829以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 14:09:17.08 ID:VMM5LpjC0
Cからjavaへ移植したらポインタの概念すっかり忘れてしまったでござる。
メモリ確保とかメンドクサー
830以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 14:09:42.43 ID:0b5rDHDTP
あとついでに書いておくと、VisualStudioを使う前提で言うなら、C#でGUI部分を作るのは
あくびしながらでも作れるが、コードで書いていく事を考えた時、それは例えば
win32を理解していてC++でコード書く場合と大して手間に違いは無いかもしれない

けど、VC#は.NETフレームワークとRADを目的としてそもそも用意されているから、
当然小さな手間の積み重ね的に、開発期間は短めになるかもしれない。 ← ここまで定型のGUI部分作成についてだけの話
831以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 14:11:05.94 ID:0b5rDHDTP
>>829
何かを移植した程度で忘れるような事あるかい
832以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 14:12:30.53 ID:Mz5PkoglP
VS以外でC#触ったら、Javaに毛が生えたレベルじゃないか。しかも余計な
833以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 14:12:35.74 ID:VMM5LpjC0
C畑からjavaやphpなどのオープン系開発に畑ごと移植っていみだYO
もう6年javaやってるからなwww
834以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 14:19:26.65 ID:VMM5LpjC0
しかし、初心者にとってGUI開発ってどうなんだろうねぇ。

イベント(C++だとメッセージだっけ?)の発火の仕組みとかなんちゃら理解していないと
なかなかに混乱する気がする。

最近はAJAXの開発楽しいですwwww
835以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 14:20:36.54 ID:0b5rDHDTP
それ移籍って言わないか
ただトータルで触れてる期間次第で、前の概念忘れるとかはあるかもな・・・
そういう意味で俺はBASICの READとDATAの動きとか思い出せない
836以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 14:21:24.66 ID:Mz5PkoglP
>>834
WPFでMVVM楽しいよ
837以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 14:22:57.61 ID:0b5rDHDTP
>>834
メッセージ伝播して処理の振り分けっていう基本的な部分を
抽象的な発火やリスニングって言うイメージで囲んでる言語から見ると
やってる事自体は大して違わないんだけど、多分若干違和感があって捉えにくくはなるかも
いやマジで

あと、C++だとメッセージ、じゃなくて Windowsの仕組みだと、かな
838以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 15:27:43.20 ID:083viFmWP
ゲーム作りたい!っていう人は、とりあえず「ゲーム開発者になる前に覚えておきたい技術」買っとけ
初心者向けだし、直接DirectX触るわけでもなく
ゲームの作るのに最低限必要な知識が全部乗ってる
色々本買ったけど、これが一番だった
というチラ裏書いて保守
839以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 15:36:28.68 ID:VMM5LpjC0
ぬるぬる動くげーむつくりたいお!
→ グラフィックつくれないお(´・ω・`)
な、ならばアドベンチャーゲーム
→ やっぱり グラフィックつくれないお(´・ω・`)
ええい、画像なんて後回しでいいや
→ シナリオリーダー?なにそれおいしいの?(´・ω・`)
   そもそもシナリオなんてどうやってつくんの?

と、結局コーティングの前に色々挫折する姿が目に浮かぶw

840以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 15:37:25.73 ID:0b5rDHDTP
ココナツサブレうめぇ

模擬OPコード
http://codepad.org/kmGWYQsC

とってもWindows
841以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 15:38:25.40 ID:0b5rDHDTP
OPってなんだ。オペコードじゃねぇ。 OSの模擬コード

上見て思ったが、いわゆるゲームにも応用出来るかもね
842以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 16:55:24.49 ID:z5QGrPoX0
ゲーム作りたいならFlashやってれば良いよ。最近割と真剣にそう思うわ
グラフィカルな部分弄るのが楽過ぎるし出来上がった作品公開すんのも楽だし
843以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 17:23:32.91 ID:CyzLzZ+C0
>>839
だらだらしてるけど、あれぐらいの厚さが必要になるんだよなー
必要かどうかは知らないけど、面白くてつい読んでしまう。
844以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 17:34:05.66 ID:lInICIpB0
初心者は環境整えるだけで一苦労
845以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 17:34:57.48 ID:0b5rDHDTP
若干変更した >>840
http://codepad.org/zTETBtmr

さらに JavaやC#っぽいハンドリングの階層を追加
http://codepad.org/U0cXOKMU
846以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 17:35:16.04 ID:8FYptxJf0
ޤ
847以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 17:58:23.13 ID:/WklG96w0
しかし今はタダでVSやEclipse、FlashDevelopみたいな高度なIDEが手に入るから
昔みたいにフリーのコンパイラ落として環境変数とおしてetcetcとチマチマした作業する
必要も無くなったし、環境整える苦労なんて無いに等しいもんだろ
848以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 18:20:35.78 ID:CyzLzZ+C0
入門書のDirectXサンプルがコンパイルできるようになるまで30回ぐらい挫折したよ
849以下、名無しにかわりましてVIPがお送りします:2011/01/17(月) 18:24:25.16 ID:ovLwzuCY0
OpenCVは導入時にかなり苦労した記憶が
850以下、名無しにかわりましてVIPがお送りします
C++ は C# で P/Invoke して使う物。
GUI なんかは C# で適当に作れば言い。