Created
February 21, 2011 07:51
-
-
Save IrhAyaka/836790 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
記録:N本 | |
*************************************** | |
1.プログラムって何ですか?先生! | |
プログラムは絵の具! | |
computerがキャンバス! | |
その道具を使って好きな絵を書けばいいさ。 | |
あやちゃんの質問に対するイメージ | |
まったく思い浮かばないけど・・ | |
単に機械への命令文のようなもの | |
リレーとか論理回路をつなげていくイメージ | |
(難しいねっていう反応) | |
言った者勝ち! | |
具体的な話でもOKですよね? | |
一応、情報セキュリティには気をつけてくださいね。 | |
ほかになさそうなので次に行きます。 | |
*********************** | |
2.型とか変数とか関数 | |
変数が箱みたいなもの | |
箱の種類が型 | |
大きさって言いたいけど、色とか形とか・・今はクラスとか | |
言って抽象的な感じ | |
基本はStringとかIntegerとか。 | |
C言語だと、扱える値の大きさかな? | |
int string char boolean float double longとかだいたいそこらへんはどの言語も同じですね。 | |
拡張型と基本型。 | |
あとは定数。const | |
関数がわからない! | |
型はその入れ物が何かっていうのを示すもの | |
型は必ず宣言しないといけないものもあれば、しなくてもいいものもある。 | |
型って、大きい値が入るなら全部大きければいいんじゃない? | |
いやいやメモリは有限でしょ! | |
(N本の心の叫び) | |
メモリ=倉庫 | |
型=箱 | |
倉庫にいっぱい箱を入れたら、、、ね。 | |
カーオーディオとか組み込み系だとメモリが小さいのでケチ | |
僕らは組み込みじゃないので、メモリ使いたい放題じゃない | |
普段はメモリの容量はまったく考えていない。 | |
質問!IntegerとLongの使い分け。全部Long使えば良くないですか? | |
ほら、箱とか倉庫とかの例えが役に立ってる!w | |
GCの説明。 | |
箱を整理する仕組み。 | |
箱を整理する仕組みがうまくない言語は倉庫がすぐ汚くなる | |
いらなくなった箱が放置された状態がメモリーリーク。それを解消する方法がGC。 | |
変数は中に入るものが変わるから変数 | |
それと対照的に一度箱に入れると変わらないのが定数。 | |
グローバル変数って何ですか。 | |
関数の後に。、 | |
************************** | |
関数って何ですか。 | |
サブルーチンって? | |
gotoは行った先。サブルーチンは戻ってくるところ。 | |
なんでサブルーチンにして呼び出す必要があるの? | |
全部、一から十まで飛ばさずにやればいいんじゃない? | |
一回だけ使うものなら、わざわざサブルーチンする必要はない。 | |
だけど、あっちこっちから呼び出すようになったらサブルーチン化したほうがいい。 | |
似たような処理が2つか3つ以上出てきた場合はサブルーチンにするほうがよいでしょう。 | |
一回しかやらないのは、サブルーチンにしなくれもいいよねっていうのは、 | |
後から呼び出される可能性もあるから、サブルーチンにしておくのがいいよね。 | |
関数 VB:プロシージャ java:メソッド | |
好みの問題もあるけどプロシージャが長いのはいやだ。 | |
画面でスクロールせず1ページでおさまってほしいな。 | |
ひとつの関数何行以内、それを超えれば分割せよというようなルールもある。 | |
処理と処理を改行とかで分けるんじゃなくて、関数として分けたほうが読みやすいですよねっていう場合もありますよね。 | |
最後はVB6でメモリ管理が甘いかんじ | |
サブルーチンについてほかには! | |
次行こう | |
次は関数。 | |
関数とかメソッドとかプロシージャってなんですか。 | |
呼び方が違うだけ? | |
メソッドと関数のちがい。 | |
一緒。関数とサブルーチンも厳密に言ったら違うけど一緒。 | |
呼び方が言語によって違うだけ。 | |
ただ関数だけは他とはちょっと違う。 | |
sin cos tan!!!!!!!!!! | |
神登場! | |
M村さんも。 | |
関数のメリットは処理をまとめる。 | |
関数に同じ値をあげると毎回同じ値を返す。 | |
毎回、処理を書くとめんどいから関数にわけるんだけど、関数の名前がわかりずらいと大変だよねという話? | |
関数名のつけ方はすごい勉強になる。 | |
和暦と西暦を変換する関数名をつけるとしたら? | |
SEITOWAはとてもメジャー | |
渾身の関数名を! | |
1.SeiToWa(YYYY) | |
2.西暦to和暦(YYYY) | |
3.SeirekiWareki(YYYY) | |
Get年号from西暦() | |
VBは元号もformatで扱える! | |
/* | |
一人Twitter | |
forrower 0 forrow 0 orz | |
*/ | |
引数とは! | |
関数に与える変数! | |
VB6 戻り値がある場合Function 戻り値がないのがSub | |
難しい(><) | |
Javaの場合は? | |
void main(void){ | |
} | |
いやいやC? | |
Public static void main(){ | |
} | |
ついにきた、アクセス修飾子 | |
JavaのPublic、Protected、Privateってなんですか? | |
クラスの話からしないといけない気がする。 | |
やっぱりクラスの話からしないとだめな気がする。 | |
破綻ました。 | |
オブジェクト指向のはなし? | |
プログラムって… program is... | |
ブロック状になっていて分かれている。 | |
ブロックの中に変数がある。 | |
ブロックの中の変数へのアクセスの制御を行っている。 | |
ブロックの中の変数が見れる、見れない、イジれる、イジれない。 | |
ぱぶりっく、他のブロックからでも見れる | |
ぷらいべーと、自分のブロックの中だけ。 | |
プロテクテッドは難しいね。 | |
javaの場合はブロックがクラス(ファイル)みたいな | |
外から見える、見えないの違いがPublic Protected Private | |
全部Publicじゃダメなんですか? COBOL的な | |
全部Publicでいいという考えがあるなら、Privateがある理由は? | |
すごくわかりゃすい、□でアクセス修飾子のおはなし。 | |
クラスは→が伸びているだけの話 | |
ひとつにまとめてもいいのではないか? | |
えっ、ダメな理由は? | |
説明するのがめんどい。 | |
だんだん難しいというか例えを見つけるのが難しいお話になってきましたね。 | |
たとえ話、好きです。 | |
全部Publicだと何がうれしいの? | |
新しくつくるのではなくて、すでにあるプログラムを変更する場合、全部Publicだと | |
どこで、その値が編集されているかわからなくて、全部読まないといけなくなる。 | |
一般的にはすべてPrivateでsetterとgetterでアクセスするほうが好ましいと言われています。 | |
Privateは、中でしか使ってないから、処理を読むひつようがないとき | |
Privateな変数は読まなくてもいいけど | |
Publicだと外からも触れるし、編集できるから読む必要がある | |
Privateは中で使ってる前提、Publicは外から編集される前提っていう指標になったりする。 | |
どっちでもプログラムは動くけど人間が読んだり編集するときに辛いよね! | |
変数の名前をつけるルール。 | |
最初が大文字とか、小文字とかハンガリアン記法とか | |
strMOJIRETU | |
intSUUZI | |
sMOJI | |
iSUUZI | |
私はいやらしいと思います。 | |
int a = 10; | |
IDE(変数の型とかが簡単にわかるエディタ)とかがなかった時代に、 | |
10万行とかのプログラムで間違えないように名前に情報を付加していたんじゃないかな。 | |
IDE: eclipseとかVisualStudioとかNetBeansとか /*EmacsとかVimとか*/ | |
************************************ | |
APIって何ですか? | |
Application Programing Interface! えっ、ひよこ?(でやる内容?) | |
応用(Application) | |
プログラミング | |
やりとりするルール(Interface) | |
ライブラリとかDLLとか、パッケージ Jar、共通関数 | |
言語が用意している標準関数とか | |
java.lang.Stringとか、標準で用意されていて使える。 | |
↑ちょっと違うかな? | |
どこかの誰かが用意した関数がAPI | |
難しい部分(OS)とかを隠して、ただ関数を呼び出せばOSとか難しいところの機能を利用できる。 | |
その関数のことをAPIといいます。 | |
OSの難しい部分とかDatabaseにアクセスする難しい部分をやってくれる関数。 | |
APIはどうやって探すんですか? | |
DLLとかJarの中身は読めないので | |
ドキュメントを読んで探しましょう。 | |
※逆コンパイルはひよこのすることじゃないです。 | |
APIわかんないからって無理やりJadとか使わないほうがいいと思います。 | |
DLL : Dinamic Liblary Link | |
DLLって何ですか?Jarみたいなやつ。 | |
クラスとかをまとめたやつ。 | |
すごくみんな熱く語っています。 | |
********************************************** | |
戻り値、returnで戻ってきた数値はどこに入るのか? | |
普通は変数に入れるけど変数に入れなかったら捨てられて何もおきない。 | |
VBだと?Javaだと?PHPだと?Cだと・・・ | |
private int A(String){ | |
return 15; | |
} | |
↑VBだとA=15でreturnと同じだけど、なんでreturnがJavaにはあるの? | |
return使う意味がわからない。 | |
returnで戻した値はどこに入るのか | |
v = A(); | |
int A(){ | |
return; | |
} | |
わーにんぐ?コンパイルエラー? | |
運がよくて0 | |
引数戻り値はOK | |
みんな疲れ気味 | |
*********************************** | |
・ifやcaseやforなどについて おのさん。 | |
forよりdo~untilが・・ whileもあるよね。 | |
do~untilは使わないほうがいいのでは・・・ | |
使い分ける理由がなくて好み? | |
使うと読みやすい場面があるのかよくわからない。 | |
業務でたまに見かける。 | |
do~untilでわかりやすい場合は使ってもいいんじゃないでしょうか。 | |
do~whileもあるんだ、、初知り。 | |
あれこれあると、わかんなくなるので使うのを限定したほうがいいんじゃないか。 | |
構文をたくさん覚えないといけなくなる。 | |
好みではないでしょうか・・・ | |
if () { | |
} elseif { | |
} | |
とか好みじゃないでしょうか。 | |
switchのほうが箇条書き的なものを書くのに向いてないかな。 | |
select~caseとswitch~caseもおなじだよね。 | |
たくさん書くと見えてくるかもしれない。 | |
いろんなパターンを経験してifを使うのかcaseを使うのか、他人のを見ないとわからないよね。 | |
これって個性? | |
まぁでも、 | |
if () { | |
} elsif { | |
} | |
気持ち悪い。 | |
ネスト。 | |
ネストは何段まで許せるか? | |
二段になったときに何か考えたほうがいい。 | |
見て一瞬でわかる範囲を超えそうになったら考えたほうがいい。 | |
if (三項演算子) {} | |
とか死ぬ。。。 | |
A ? 1 : 0 | |
Aが真だと1が返って偽だと0が返る | |
IIF的なもの。 | |
使い分けは好みだと思います。一番はわかりやすいこと。 | |
基本的にはわかりやすいものを使うのが正しいのではないか | |
三項演算子はできるだけ使わないほうがいいでしょう、ifとswitchで | |
十分でしょう。 | |
初めてプログラミングするときはC?Java? | |
Cだと思うけど、、今やるならJavaかな。AndroidもJavaだし | |
JavaとJavascriptの違いはインドとインドネシアくらいの違いです。 | |
Java言語とJavaVMも違うしね。 | |
*************************************************** | |
次回に向けて | |
次は構造化を中心にオブジェクト指向をやりたいです。 | |
3月ごろ? | |
Javaを中心にオブジェクト指向とかを勉強したい。 | |
オブジェクト指向をやるなら少しだけrubyをかじったほうがいいと思います。 | |
Javaはコンパイルする必要があるしeclipseがないと不便。 | |
rubyはすぐに実行できる(コンパイル不要) | |
手軽、便利 | |
rubyは楽しそう。 | |
次回は3月の半ばくらいに、できれば。 | |
次は構造化を中心にオブジェクト指向をやりたいです。 | |
来月もよろしくお願いします。 | |
Thats all for today. | |
お題は決めておいて横にひろがっても戻るみたいな。 | |
しつもんしやすいのが大事。 | |
お題を決めておいて横道にそれつつ | |
進めていくのがいい。 | |
質問箱はどこへ? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment