トップページ⇒tech
305コメント103KB

最強のプログラミング自習法

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
最高に効率の良いプログラミング自習法とは?
他人に聞くのは不可。
全て自分で調べるのが最低条件。
0002デフォルトの名無しさんNGNG
人それぞれ。
0003デフォルトの名無しさんNGNG
とりあえず自分でプログラムを作ってみるのは最低限必要だね(当たり前
あとは、常にどうやったら良いプログラムを作れるか常に考えている事
寝るとき以外。バスの中でも、風呂の中でも、食事中でも
0004デフォルトの名無しさんNGNG
それは効率が良いのか?
0005デフォルトの名無しさんNGNG
ソース読め
0006デフォルトの名無しさんNGNG
>>2がいいこと言った。
>>5もいいこと言った。
0007デフォルトの名無しさんNGNG
自分でプログラムを書く。これ最強。マジ。
0008デフォルトの名無しさんNGNG
1.LOGO
2.Scheme
3.HSP
4.PASCAL
5.ML
6.Hackell
7.C
8VB
9.Delphi
10.Sqwuek
11.C++
0009デフォルトの名無しさんNGNG
>>8

>>6.Hackell
Haskell

>>10.Sqwuek
Squeak
0010山田太郎NGNG
12:Java
13:C#
14:Lisp
0011デフォルトの名無しさんNGNG
>>8 >>10 は
この順で勉強しても意味無いですよリスト
00129NGNG
>>10
Lispっていうのがわからんな。
Scheme入ってるし。
あえて書くならCommonLispと書くだろうし
0013デフォルトの名無しさんNGNG
別に Lisp=Scheme じゃないでしょう。
00149NGNG
いや、そうだが。
Lispだと多岐にわたりすぎている
0015デフォルトの名無しさんNGNG
アセンブリ言語どれかひとつは必須だろう(除くx86)。
0016デフォルトの名無しさんNGNG
やっぱりなんかテーマ決めてアプリ一本書くのが最強でしょう。
本に書いてあることをすぐに試せるのがプログラミングの強み。
機械設計の場合そうはいかん崎
0017デフォルトの名無しさんNGNG
>>15
んじゃ お勧めのアッセンブラはなんですか?

以前使ってたmipsのアッセンブラはアッセンブラなのに
最適化(命令の再配置)しやがるんで、往生したよ
0018デフォルトの名無しさんNGNG
今CとScheme使ってるけど、これで不便無し。
0019デフォルトの名無しさんNGNG
えーと、SPARC。
レジスタウインドウと遅延ブランチ除けば素直だよ。
0020デフォルトの名無しさんNGNG
>>17
68k
0021デフォルトの名無しさんNGNG
68kはゲームやってる人にはいいかもね。
エミュもあるし。
0022デフォルトの名無しさんNGNG
>>20
68Kの頃でいいんなら 6809のニモニックがオレは好きだ
68Kってなんか無理がない? 奇数byteアドレス指せないとか

個人的には、NECのV60以降を期待してたんだけどなぁ
0023デフォルトの名無しさんNGNG
正直、怒田舎の小さな書店(バアちゃんがレジに座ってる典型的田舎書店)に
K&Rとマイコン何たらZ80 が置いてあったのはビシクリ!
0024デフォルトの名無しさんNGNG
言語を覚えるには、コンパイラを書く。
ネットワークを覚えるには、ソケットを書いてプロトコルを実装する
3Dを覚えるには、ラスタライザを自前で書く。

結局これが効率の良い自習方法。
0025デフォルトの名無しさんNGNG
言語を覚えるには、自分語を考えて、常に自分語で喋る。
ネットワークを覚えるには、ボクシングで足腰を鍛える
3Dを覚えるには、シアトルで焼きそばを食べる。

結局これが効率の良い自習方法。
0026デフォルトの名無しさんNGNG
CASLでいいやん(藁
0027デフォルトの名無しさんNGNG
オープンソースを見つけてきてひたすら読み進める、これ、最強。
ただしこれをやると深みにハマっていつまでも自分のプログラミングできない
可能性がある両刃の剣。初心者にはお勧めできない。
0028デフォルトの名無しさんNGNG
>>27
俺、そのパターンだ・・・
ウトゥ
0029デフォルトの名無しさんNGNG
まあ>>28はHSPでもやってなさいってこと。
0030デフォルトの名無しさんNGNG
>>24
> 言語を覚えるには、コンパイラを書く。
でも何の言語も知らん場合、そんなことはできんのでは?
別スレでもそんなことかいていた人がいたけど、それがLispとかの話なら
ともかく、C教本をつくろうのスレだったりすると???なのだ。
0031デフォルトの名無しさんNGNG
将棋や受験数学と勉強法は同じ。
定石の暗記が上達への近道。
もちろん、理解を伴ったものでないといけないけど。
0032デフォルトの名無しさんNGNG
>>31
8合目までは早く登れるが、頂上にはつながっていない道。
0033デフォルトの名無しさんNGNG
>>32
その後は本人次第、才能次第でしょ。
とりあえず8合目までは訓練期間と言うことで
0034デフォルトの名無しさんNGNG
>>33
10合目まで登れる人間は、初めから独自の道を歩いている。
0035デフォルトの名無しさんNGNG
プログラミングの上達過程を将棋に例えるのは面白いな
まず、ルール(文法)を覚え
定石を覚え
プロの棋譜(ソース)を研究しつつ
実戦を重ねる
0036デフォルトの名無しさんNGNG
まず、Rubyをやれ。
そしたら他の言語なんてどうでも良くなる。
0037デフォルトの名無しさんNGNG
>>35
最後に決めてとなるのは、何手先まで読めるかという深い思考能力。
初めから棋譜を覚えるのを繰り返してきた脳は、これに対応できない。
0038デフォルトの名無しさんNGNG
まず、HSPをやれ。
そしたらRubyなんてどうでも良くなる。
0039デフォルトの名無しさんNGNG
最終的にlispで落ち着くと思う。
0040東条上等兵NGNG
マイコンベーシックマガジンに載っているプログラムをノートの左側に写し、其の後
ノートの右側に動作の内容を書いていく。その後少しずつプログラムを改良していく。
0041デフォルトの名無しさんNGNG
>>40 エディタ上でやれよ。
もちろんemacsだ。反論は却下。
0042デフォルトの名無しさんNGNG
>>41
うそーん(´Д`;)
0043 NGNG
運動会とかのプログラムはつくったこと(*^^)vアル!
0044デフォルトの名無しさんNGNG
>>43
ちゃんと構造化しろよ。
0045デフォルトの名無しさんNGNG
一番最初に求められるのは「それを楽しいと思ったかどうか」だよ。
楽しくなきゃ上達遅いって
0046提案:C++の勉強法NGNG
「C言語→ベターC→STL→OOとC++」
はどうか?
”可能かつ効率的かつ実践的かつ興味を持続しやすい”と思うのだが・・・
要は構造化の流れの最後にSTLをもてきただけなのだが。
0047今は日曜PGNGNG
COBOL → VisualBasic → PerlとC
ときた漏れは、言語仕様の違いに振り回され、ロジックを考えて組むより、
仕様を知ってからロジックを組み、それからコーディングという人になりま
した。
実際には
仕様を知る為に → 組む、ただひたすら組む。やりたいと思った処理を一生賢明つくる。
といった行動を取ります。
何かの足しにでもなればうれしいです。
0048デフォルトの名無しさんNGNG
>>41
通はviだろ!
0049デフォルトの名無しさんNGNG
俺、厨房の頃88でNーBASICかじって、そこから10年以上たって
必要から(金融関係の予測モデルをつくる)、Java勉強し始めた
んだけど、割とすんなりいけたね。やっぱ、仕事なり、学校のテスト
なりでおいこまれたら、必死に勉強するよね。
ってこれ自習法の答えになってないね。よって、sage.
0050デフォルトの名無しさんNGNG
ageてるやん
0051デフォルトの名無しさんNGNG
一番重要なのって応用力じゃないのかなぁ……
定石を覚えてもそれを組み合わせ応用できない人は
いつまでたっても駄目だと思う
31-34は秀才と天才の違いだよね
確かにしいて言うなら天才の方がより応用力に富んでると思う
0052デフォルトの名無しさんNGNG
締め切り決めること、かなぁ 。
1日、1週間、1年 ?
0053デフォルトの名無しさんNGNG
競馬ゲームを作ろう
パカランパカラン
0054デフォルトの名無しさんNGNG
>>34
これってホントに痛感するね、日常で。どんなに努力しても絶対超えられない
なって奴、周りにいるもんな。寂しいけど、俺は絶対に自分の中にある10合目
には到達できないな。で、天才じゃないけど、せめて9合目にはたどり着きたい
って人にはやっぱり数学(応用数学)をきちんと勉強するのを勧めけど、どう?
0055デフォルトの名無しさんNGNG
数学を効率よく勉強するためには、プログラミングが必要で(以下略
005654NGNG
>>55
そのコメント、壱里あり。
いずれにせよ、プログラムやろうとしてる厨房付近のみんな、
数学さぼらんほうがいいと思うぞ。
0057デフォルトの名無しさんNGNG
>>49
java.sun.com/docs
を見て意味わかるくらいになったら、たいていの
ことは自分で調べれるね。JAVAは。
0058 NGNG
まず英語を勉強する。
誤訳ではまった奴、けっこういるだろ?
0059デフォルトの名無しさんNGNG
TK-85かってこいって!
0060 NGNG
>>58
厨房の頃、パソコンデスクに英和辞書をおいてたら(BASIC勉強中だった)、
すでにプログラムできる友人に烈笑された記憶あり。
0061質問NGNG
誰かVBでUNIX時間(1970年からの10桁秒のやつ)を変換する方法を教えて下さい。
0062デフォルトの名無しさんNGNG
プログラミングってのとはちょっと違うかもしれないけど、
OSを含めて、インストールしたソフトウェアのディレクトリ内を探検して
何があるのか興味を持ったりする人と、しない人では、ソフトについての
理解度に格差があると思う。

これは開発環境についてももちろん当てはまる。
初心者のうちはただインストーラに言われるままにインストールして、
入門書のとおりにコンパイルするだけだけど、分かってくるとコンパイラの
位置とかライブラリ、ヘッダ、ツールのディレクトリなんて当然のようにし
ってて、リンクエラーなんか全然怖くなくなる。

つーわけで、プログラムはじめる人は、自分のインストールしたコンパイル環境
のディレクトリ構成から覚えるのが吉。
0063デフォルトの名無しさんNGNG
CGIはプログラムに入らないの?
0064デフォルトの名無しさんNGNG
VC++とVB両方買う場合は、Visual Studio買ったほうが安く上がるの?
あと、VCってもう売ってないの?
0065 NGNG
いきなりHaskellから習う。これ最強。
0066デフォルトの名無しさんNGNG
いきなりHakellから習う。これ最強。
0067デフォルトの名無しさんNGNG
>>63
CGIはただのインターフェイスだから。
0068デフォルトの名無しさん NGNG
CGI言語、HTML言語、Shell言語 これ最悪
0069デフォルトの名無しさんNGNG
HTML言語はやめて
0070デフォルトの名無しさんNGNG
DOS言語とかSQL言語とかも有るよ (´ω`;)
0071デフォルトの名無しさんNGNG
ヘンタイメーリングリストHTML
0072デフォルトの名無しさんNGNG
shell, C, Perl
特にshellイコール「UNIX語」だから最初にやれ
おまえは順番がくるってる

というお説教をししょうから
月曜のあさ4時くらいに
0073デフォルトの名無しさんNGNG
名スレの予感。
0074デフォルトの名無しさんNGNG
応用数学勉強してるけどプログラミングはあんまりと出来ないです
有限オートマトンの基礎ぐらいですけど
0075デフォルトの名無しさんNGNG
俺がインドの山奥で修行していると
ダイバダッタの魂が宿り
全てのプログラム技術が頭にひらめいた
失敗すると変な化身になったりする諸刃の剣
0076デフォルトの名無しさんNGNG
>>74
802?
0077デフォルトの名無しさんNGNG
>>49
> 必要から(金融関係の予測モデルをつくる)、Java勉強し始めたんだけど、

スレ違いだけど、正味なんでJavaなんか興味あり。
Mathematica + Cとか、R + Cとか、専用アプリの方が良くないですか?
http://www.r-project.org/, http://cran.r-project.org/
http://sal.KachinaTech.COM/cgi-bin/AT-SALsearch.cgi?config=sal&restrict=&exclude=&method=and&format=builtin-long&sort=score&words=financial+Monte+Carlo

金融工学モンテカルロ法系の人ですよね。既に素敵なclass libraryがあるのかな?
0078デフォルトの名無しさんNGNG
何でもいいから、一つの言語の文法を覚える。
その後は、自習より、厳しいソースレビューを受けた方が効率が良い。
0079デフォルトの名無しさんNGNG
とりあえずcygwinのfileutilsのソース適当にDLしたけど読み方全然わからん・・・
0080デフォルトの名無しさんNGNG
>>79
> とりあえずcygwinのfileutilsのソース適当にDLしたけど読み方全然わからん・・・

じゃあ、shellutilsから出直せ。false.cとかさ。
wc *.c | sortすればどれが短いか分かるし。
0081デフォルトの名無しさんNGNG
知らない言語の本を読んで一から覚えるというのは楽しい反面、知らないことだらけで
かなり苦痛になる場合がある。そんな時は一日たった一ページしか読まないで
いいと決める。そのかわり毎日かならず一ページは読む。
そうすると一年で365ページは読む事になるから
気づけば、どんな難しい本でも読破しちまっているというわけだ。
0082デフォルトの名無しさんNGNG
>>81
おしいね。漏れだったら、もっとレベルの低い本を探してくるよ。
0083爺NGNG
最近の奴は選択肢が広くて幸せだな、、
0084デフォルトの名無しさんNGNG
インターネットは偉大だ、と。
0085デフォルトの名無しさんNGNG
飽きたら他の言語などに逃げて、また戻ってくる。
寄り道が大事なんじゃよ。
0086デフォルトの名無しさん NGNG
google最強
0087デフォルトの名無しさんNGNG
疲れたらチムポこすって出すもの出す。これ常識
0088デフォルトの名無しさんNGNG
もっと斬新な方法はないのかね?
0089デフォルトの名無しさんNGNG
LOGO
Scheme
HSP
PASCAL
C
86系アセンブラ
C++
JAVA
VB
DELPHI
VC++
この順でやれ。
0090デフォルトの名無しさんNGNG
私の場合、
PASCAL
C
VC++
でした。
だから、だめなのか・・・。
0091デフォルトの名無しさんNGNG
>89
何故そこにVBが入ってくるのかを聞きたい。
0092デフォルトの名無しさんNGNG
ちょっと、コンパイラに手を出して、
詰まったらひたすらASM・・・・とか?
0093FORMNGNG
まずはもっともシンプルなコードを完璧にマスターする。(なぜそういう記述になってるのか、その言語のバックグラウンドも含めて)

それの組み合わせ、つみかさね。
0094デフォルトの名無しさんNGNG
疲れたら寝る

これが重要だね
0095デフォルトの名無しさんNGNG
私の場合
C++
C
Java
MIPSアセンブラ
ML
でした。

で、いつの間にかPerlやShellなどもやるようになりました。
これらは習ったというより自然と覚えたって感じ。

Schemeはシンプルだから一瞬で覚えられるね。これからやるのが
いいのかも。
0096デフォルトの名無しさんNGNG
俺の場合
BASIC→COBOL→C→Assembler→Delphi(Pascal)→Perl→VC++(C++)
COBOLとCは学校で習った。
Assemblerは、リセット以外終了方法がないエロゲーがウザかったんで
常駐プログラムで強制終了させる為に憶えた(w
DelphiはWindows対応のGUIプログラムを自作したいからで、PerlはWeb
掲示板とIRCボットを自作したいから、VC++はDirectXが使いたかったか
ら憶えた。
結局、必要だから憶えるというのが正しいような?

何か具体的にしたいことがないなら、学校で習うのが一番効率がいいかも?
無理矢理にでもしたいことを見つけるというのも、一つの手ではあるが・・・・
0097デフォルトの名無しさんNGNG
激しく 94 にどおい。
でも、睡眠許可エラーでません?
0098デフォルトの名無しさんNGNG
87と94は単純だが非常に重要かと
0099デフォルトの名無しさんNGNG
バグが出たら一回抜いて考え直し、
0100デフォルトの名無しさんNGNG
風呂だ風呂、風呂に入ってリラックスして考えろ。
あとはトイレだ。
0101デフォルトの名無しさんNGNG
学生時代は夕方から朝までプログラミングする日々。
ネットで知り合った同士との切磋琢磨でスキルもガンガン上がった。

しかしプログラマになってからの5年間は会社に時間を束縛され続け、
まったく新しい技術の習得なんて出来なかった。

俺は決めた。もう会社やめて地元に帰って朝から晩まで
プログラミングに明け暮れるあの夢のような日々に戻る事を。
■ このスレッドは過去ログ倉庫に格納されています