俺様がJavaを極めてニートを脱出しようともがくスレ
■ このスレッドは過去ログ倉庫に格納されています
00011
2005/10/21(金) 17:27:1200521
2005/10/21(金) 21:44:50だめぽ
00531
2005/10/21(金) 21:47:52基本情報のJavaは実践的でかなり難しいと聞くが('A`)
でも、それくらいじゃないと現場じゃ使えんのだろうなぁ。
経歴詐称の派遣とかマジであるのか。ガクブル
0054デフォルトの名無しさん
2005/10/21(金) 21:49:44. 〃 ヽル1'´ ∠:::::::::::::::::i
i′ ___, - ,. = -一  ̄l:::::::::::::::l
. ! , -==、´r' l::::::/,ニ.ヽ
l _,, -‐''二ゝ l::::l f゙ヽ |、 ここはお前の日記帳じゃねえんだ
レー-- 、ヽヾニ-ァ,ニ;=、_ !:::l ) } ト
ヾ¨'7"ry、` ー゙='ニ,,,` }::ヽ(ノ チラシの裏にでも書いてろ
:ーゝヽ、 !´ " ̄ 'l,;;;;,,,.、 ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{ __)`ニゝ、 ,,iリ::::::::ミ
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ , な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
0055デフォルトの名無しさん
2005/10/21(金) 22:12:06一つのクラスについてオブジェクトをたくさんnewして、
staticな変数とそうでない変数の値を色々書き換えてみろ。
そしたら違いが分かるから。
>>54
せめてズレてないAA貼れよぉw
顔もわからんAAじゃ煽りにならんよw
0056デフォルトの名無しさん
2005/10/21(金) 22:12:48正社員でもいいけど、労働組合もなく残業代が出ないところだと社員になっただけ損をする。
20代とか、すぐやめたいっていうなら派遣やアルバイトがお勧め
0057デフォルトの名無しさん
2005/10/21(金) 22:14:42> >>51
> 基本情報のJavaは実践的でかなり難しいと聞くが('A`)
おれが基本情報のJavaを受けたときはめったくそ簡単だったが。
5分で解けたぞ。というのは4年前の話だが。
それより、他の問題のほうが難しかった。
0058デフォルトの名無しさん
2005/10/21(金) 22:22:30> >>1
> PGは年中不足してるので、片っ端から会社巡りすればどっか引っ掛かる。
不足してる割には給料安すぎだよな。
正社員なのに派遣やバイトより安く使われるなんてイタイイタイ。
最近、バイトの募集みても、携帯電話開発では最低時給が950円なんてとこあってさ、
なぜかWebデザイナより給料安いんだよ。ありえね。
webデザイナは時給2000〜3000円ってところあるのに、
この格差は一体何事?っていいたい。この会社完璧にプログラマをなめきってるわいって思ったわい。
ある会社ではプログラマでも時給2000〜3000いくことはあるが。
この話をきくと、派遣よりアルバイトのほうが給料がたかいじゃないかって怒る香具師がいるが
しったことかと。
0059デフォルトの名無しさん
2005/10/21(金) 22:24:20Java FAQでぐぐれ
0060デフォルトの名無しさん
2005/10/21(金) 22:29:19ずれてないしwwww
0061デフォルトの名無しさん
2005/10/21(金) 22:30:28>携帯電話開発では最低時給が950円
レジ打ちしてた方が…
0062デフォルトの名無しさん
2005/10/21(金) 22:53:44数学の何が苦手なのかにもよるけどな。
算数的な計算ならまだなんとかなるが
論理とか形式が苦手だとすると結構ツライよ?
0063デフォルトの名無しさん
2005/10/21(金) 22:55:4500641
2005/10/21(金) 23:05:22数学は公式とか全然頭に入って無い感じ
やっぱ数学ちゃんと勉強しとくべきだったなー('A`)
0065デフォルトの名無しさん
2005/10/21(金) 23:24:54そりゃ公式は暗記するもんじゃなく基本原則から組み立てて作るもの
というちょっとした発想の転換が必要だな。
実は自分で公式を作ることと証明をすることプログラムを作ることの間には
対応関係があることが理論的には分かっている。
(専門用語では「Curry-Howard(カリー・ハワード)対応」という。)
ちなみに公式を暗記する必要があるのはテストには時間制限があるからで、
暗記したほうが早く解けて点取りに有利ということからきている。
(プログラムで言えばその場で計算する代わりに配列かなんか使って
前もって計算済みの値を使って一覧表にしておくようなものだ。)
つまり数学は本来は暗記モノではない。暗記しておくとテストで有利なだけだ。
また喩えて言えば掛け算を九九でやるのが暗記方式。
掛け算を足し算の繰り返しで定義どおり計算するのが「その場で計算」方式だ。
でプログラミングという作業は基本的に後者に近い。
後者のような手順を考えてそれを計算機に教え込む作業といっていい。
まぁ、高速化のために前者のテクニックを利用することもあるがその場合でも
暗記するのは人間ではなくコンピュータだし、
人間であるプログラマはその表をコンピュータに作らせるために
後者の方法で表を作るようにコンピュータに指示するのが仕事。
0066デフォルトの名無しさん
2005/10/21(金) 23:56:23「そりゃ」まで読んだ。
0067デフォルトの名無しさん
2005/10/22(土) 00:02:09「そのとき光恵の秘所に」まで読んだ。
0068デフォルトの名無しさん
2005/10/22(土) 00:30:30「仕事。」まで読んだ。
0069デフォルトの名無しさん
2005/10/22(土) 00:58:560070デフォルトの名無しさん
2005/10/22(土) 01:22:06仕事あんだから良いだろ
0071デフォルトの名無しさん
2005/10/22(土) 01:22:220072デフォルトの名無しさん
2005/10/22(土) 06:20:072年前受けたときは10分かかった。
年々難しくなっているの・・・か?
それでも子供だましのような問題ばっかりだったぞ。
0073デフォルトの名無しさん
2005/10/22(土) 10:55:50この文面から「少なくともゴシックは使って無い」と見た。
00741
2005/10/22(土) 12:58:3700751
2005/10/22(土) 13:00:24継承とかとごちゃごちゃになってもう('A`)('A`)('A`)?
00761
2005/10/22(土) 13:08:47void greet();
}
interface Talk{
void talk();
}
class Morning implements Greet,Talk{
public void greet(){
System.out.println("おはよう");
}
public void talk(){
System.out.println("いい天気ですね。");
}
}
class Meet{
public static void main(String[] args){
Morning morning = new Morning();
morning.greet();
morning.talk();
}
}
例題プログラムだとこういう風に書かれてるんだけど。このくらいならクラスで一括でまとめたほうが・・・
正直インタフェースとか使う場面って今後出てくるんだろうか(´・ω・`)
00771
2005/10/22(土) 13:14:36publicはどこからでもアクセスできるっていう認識でやってるんだけど
interfaceはクラスより弱いからpublicつけろって事なのかな。
正直優先順位なんて覚えてねー・・・
/*エラーメッセージ*/
Meet.java:10: Morning の greet() は Greet の greet() を実装できません。スーパー
クラスでの定義より弱いアクセス特権 (public) を割り当てようとしました。
void greet(){
^
Meet.java:14: Morning の talk() は Talk の talk() を実装できません。スーパークラ
スでの定義より弱いアクセス特権 (public) を割り当てようとしました。
void talk(){
0078デフォルトの名無しさん
2005/10/22(土) 14:01:50publicでないinterfaceなんかも作れる
メソッドの前のpublicがクラスやインターフェースの外からアクセスできる事を表してる
ちなみにinterface内にpublic/protectedでないメソッド・フィールドを作る事は無意味
この場合正常にオーバーライド出来ていないと思った方が良い
0079デフォルトの名無しさん
2005/10/22(土) 15:16:13Javaのinterfaceが如何に有用な機能であるかが分かりやすいと思う.
で,それを説明しようと思ったけど長くなりそうで書く気力が無いのでパス.
余談だけど,C++ではJavaのようなinterfaceが無いので抽象メソッドだけを定義したクラスを
多重継承してインターフェースをシミュレートすることになる.
00801
2005/10/22(土) 21:07:39ここわかりやすくていいです。(入出力ヘッダがiostreamだからちょっととっつきにくいかもしれないけど)
http://www.asahi-net.or.jp/~yf8k-kbys/
>>78,79
レスサンクス(実は半分も理解できてないけど・・)
何とか理解できるようにやります(´・ω・`)
0081デフォルトの名無しさん
2005/10/22(土) 21:59:040083デフォルトの名無しさん
2005/10/22(土) 22:08:45現場でヒーコラプログラム書かされてる
お陰様でオブジェクト指向なんてない
巨大クラスが3つ出来ましたとさ( ´・ω・`)
0085デフォルトの名無しさん
2005/10/22(土) 23:11:28簡単にいうと>>83みたいな奴はアーキテクトとしては使えないが、IT土方として有能と言う評価になる
次も同じような泥沼かマ板で悲鳴を上げてる連中の蠢く現場に放り込まれる
0086デフォルトの名無しさん
2005/10/23(日) 23:10:110087デフォルトの名無しさん
2005/10/24(月) 13:33:44というか歴史的には逆だ。interfaceをクラスでシミュレートというより
元々クラスの制限版がinterface。
理論上もinterfaceのはクラスの特殊なものと考えていい。
オブジェクト指向の基本である「データの隠蔽」によって
クラスにはそれ自身、またはその子孫のクラスのインスタンスのメソッドが利用する
内輪向けの「インターフェース」と一般外部向けの「インターフェース」ができる。
(protectedを考えるときは内輪向けをさらに二つに分けて考えているわけだ。
Javaの場合はさらにパッケージ内向けの「インターフェース」を表現する
デフォルト・アクセスというのもある。)
内輪向けの「インターフェース」のほうがデータの配置・表現など
実装の詳細により深くかかわるから当然複雑になる。
よってその継承をキチンと実装するメカニズムの実現はより大変になる。
(脱線だがこれはデータ隠蔽も一種のポリモルフィズム
と捉えることもできるという考え方。
同一のオブジェクトにクラスの内と外を表す二つの型=「インターフェース」が
結び付けられていると考えるわけ。)
C++のような多重継承は理論上可能であるし、
モデルを表現する能力を考えた場合有用でもあるが、
必ずしもその実現は簡単ではないしプログラマにわかりやすいとも限らない。
そこでJavaでは外部向け「インターフェース」だけを表現する、
クラスよりも簡単な仕組みとしてinterfaceを作った。
そして多重継承はinterfaceだけに制限することにした。
この決定によっていくらか表現力を失う代わりに
より実装しやすく簡潔で分かりやすいようにしたわけだ。
これは実用上、多くの場合はそれで十分だという観察に基づいている。
0088デフォルトの名無しさん
2005/10/24(月) 13:47:16またしても長いので「というか」まで読んだ。
0089デフォルトの名無しさん
2005/10/24(月) 13:52:04「従順に後ろを向いた彼女の柔らかでボリュウムのある双丘を割り開き」まで読んだ。
0090デフォルトの名無しさん
2005/10/24(月) 13:57:52オーバーライドって元々「上書き」ってなニュアンスだ。
祖先のクラスの定義に子孫のクラスの定義を上から書いて塗りつぶす感じ。
塗りつぶしてない部分の定義は先祖のクラスのままで、
塗りつぶした定義を参照するには一時的に「上塗りを透かして」見るわけ。
その「透かして見る」ことをあらわすキーワードがsuper。
0091デフォルトの名無しさん
2005/10/24(月) 14:01:57それだけじゃなくてその半年間に
一日どのくらいの程度の密度でやってきたかってことも重要。
0092デフォルトの名無しさん
2005/10/24(月) 17:25:21データ隠蔽はオブジェクト指向以前からのもんだろ.
オブジェクト指向の基本はオブジェクトの型(インターフェース)を規定して
それを介してメッセージを伝達することだと思っていたんだけど.オレは.
0093デフォルトの名無しさん
2005/10/24(月) 17:27:10クラス継承が実装継承とインターフェース継承を分けていない辺りとか,
クラスが機能を持ちすぎていて美しく無いと思う.
もちろんプログラマが意識的に扱えば実用上は問題ないのだけれど.
0094デフォルトの名無しさん
2005/10/24(月) 17:48:35もちろんroleやruleの記述には集約を用いるべきで,多重継承を使う局面と言うのは少ないけど,
それでもたまに多重継承を用いればすっきり書けるという局面に出会うことはある.
加えて,Multicast Patternなどでは多重継承を利用しているし,
ダイヤモンド継承のような曖昧さの問題に気をつければ,
多重継承は十分に便利で実用的な機能であると思う.
Javaの入門書ではinterfaceに関して,多重継承の代わりに使えるよー程度にしか
言及していないものが結構あるのが残念.
Javaのinterfaceはもっとオブジェクトの分類に積極的に利用されるべきだと思う.
0095デフォルトの名無しさん
2005/10/24(月) 18:02:31だってそんな設計すると動きがもっさりするんだもん
0096デフォルトの名無しさん
2005/10/24(月) 18:02:380097デフォルトの名無しさん
2005/10/24(月) 18:12:01オブジェクト指向プログラミングはそれ以前の多くのアイディアを統合してできている。
私が書いたようなデータ隠蔽も、ポリモルフィックな型システムも、
そして>>92の言うメッセージ駆動(と抽象データ型も少し入ってるな)もそのうちの一つ。
で>>87は特にポリモルフィックな型の視点を意識して書いた。
>>93
インターフェースと実装を別に分けて記述した場合両者の整合性を維持するのが
*人間にとって煩雑*になるからだと私は理解している。
残念ながら理論的に美しいことが必ずしも実用的ではない。
より詳細に言えば、
両者を分離することは確かに混乱を防ぐのに有利だ。
が、プログラマに対して二つに分けた記述の整合性を取らせ続ける
というコストを払わせることになる。
それが正当化されるのはそれだけのコストを払っても維持する価値があるような
比較的公共性の高いインターフェースに限られるのじゃないかと思う。
しかし言語で基本的なクラスの仕組みとしてそれを強制してしまうと、
オブジェクト指向で数多く使われる内部的なクラス、補助的なクラスに対してさえ
そのインターフェース定義コストの支払いを強制することになり実際的でない。
(C++で*.h*.ccが分かれていることでさえすでに若干面倒なのにw
脱線ついでに言えば、C++/Cの*.hファイルはモジュール分割の有用性というより
コンパイラの処理能力から分割コンパイルが必然だったために生まれたものを
インターフェースの定義の仕組みとしても使うようになったもの。)
だから現状の多くのオブジェクト指向言語の選択は美しくはなくても実際的だと思う。
0098デフォルトの名無しさん
2005/10/24(月) 18:42:350099デフォルトの名無しさん
2005/10/24(月) 21:12:37こういうやつらに新人教育とかをさせると、まだ体の小さいヒナに大量の餌を
ぐいぐい押し込むような教育をして、新人君のやる気を殺すんだろうな、と想像する。
でもここは2chだから、テキトーに読み飛ばす自由がある。いぇい。」
……とは言わないけどさ、ちょっと文章長いよ。むずかしいし。
0100デフォルトの名無しさん
2005/10/24(月) 21:45:180101デフォルトの名無しさん
2005/10/24(月) 23:04:41でも論争始めると理論に行っちゃうんだ.
とりあえずオレもスレ違いになってきてる気はしてたんで,ここらで去るよ.
スマソ
0102デフォルトの名無しさん
2005/10/25(火) 00:41:540103デフォルトの名無しさん
2005/10/25(火) 09:57:53つまりモノになるまでに学ぶ必要のあることは増えている。
そんな中、独学で職業プログラマになろうというのは
それ自身がすでに割と歩かなくてもいい筈のイバラの道。
勉強そのものも手探りになっちゃうし、仲間も師もいないわけで効率は極めて悪い。
にもかかわらず早く学ばなければ実績も学歴もないまま年数が経ってしまうわけで
就職にも困るだろう。趣味でやる分には何年かけてもいいがな。
(学歴は昔ほど役には経たなくなってきたが、少なくとも実務につかないまま
年数をかけてきたことに対するエクスキューズにはなる。)
そこへ持ってきて2chにスレ立てて頼ろうってのはそもそもが
勉強のやり方を知らない証明みたいなものであんまり筋がよくない気もする。
で、このスレの>>1ほど現状で何も知らない上に基本的な教養(例えば数学)も中卒程度で
業務の知識もなさそうなヤツを>>99が例に挙げるような企業の新人教育程度のコストで
プログラマにするってのはそもそもの見込みが間違ってる気がする。
(日本のプログラマ業界では時としてまかり通っているとしてもそれは使うほうにとっても
使われるほうにとっても不幸なことだろう。)
だからこのスレの議論というほどもない議論程度でつぶれるくらいの
半端なやる気なんてあっても無駄。
千里の道も一歩からとは言うが今のペースではモノになる頃には
このスレも数十スレを重ね、>>1は(今20歳くらいらしいから)
25歳を軽く回っていそうだ。
ツマリ諦めて今できる仕事を探すほうが本人のためってことだ。
プログラミングは趣味に留めて置け。>>1
0104デフォルトの名無しさん
2005/10/25(火) 09:59:41勉強のやり方おしえて
0105デフォルトの名無しさん
2005/10/25(火) 11:15:590106デフォルトの名無しさん
2005/10/25(火) 11:16:41よくあるつまらないアドバイスだが、しかし事実そうだな。
だいたいプログラマ・SEなんて大体が35歳定年なんだから
レジ打ちやってるスーパーの社員の方が生涯年収高そうだ。
0107デフォルトの名無しさん
2005/10/25(火) 11:48:42103では学ぶことそのものが不可能とは言っていない。
ただ効率が悪くてが未経験者としての就職適齢期を逃す危険が高いと言っている。
>>1のように年齢の割に色々な素養が欠けている場合は特にそうだということだ。
0108デフォルトの名無しさん
2005/10/25(火) 11:53:21> だいたいプログラマ・SEなんて大体が35歳定年なんだから
こういう技術者使い捨てが珍しくない人材浪費の現状は社会的に
よろしくないとも思うがそれを短期で変えるのは難しいことを思えば
>>1のような状態で突入すれば間違いなく使い捨てられることになろう。
0109デフォルトの名無しさん
2005/10/25(火) 12:25:41オブジェクト指向の用語に振り回される前に、言語は何でも良いので
(もちろんJavaでも)バブルソート自力で組んでみて、面白いと感じるか
どうかを確かめたほうがいい。(Javaなら全部mainの中でも)
つまらなかったら別の職を。
0110デフォルトの名無しさん
2005/10/25(火) 14:09:430111デフォルトの名無しさん
2005/10/25(火) 18:01:281は多少甘い気がする
ここで教えるのはいいけどレスしてるみんな優しすぎるなぁ
2chって意外に優しい奴いるのね
01121
2005/10/25(火) 20:11:26int[] Sort(int[] n){
int k;
int a = n.length;
for(int i = 0; i < a-1; i++){
for(int j = i+1; j < a; j++){
if(n[i] < n[j]){
k = n[i];
n[i] = n[j];
n[j] = k;
}
}
}
return n;
}
void Kekka(int[] n){
for(int i = 0; i < n.length; i++){
System.out.println(n[i]);
}
}
}
class Sort{
public static void main(String[] args){
int[] n = {1,2,3,4,5};
BubbleSort bs = new BubbleSort();
bs.Sort(n);
bs.Kekka(n);
}
}
こんな感じですか。正直だれてました('A`)
インタフェースから進んでないです(´・ω・`)
01131
2005/10/25(火) 21:22:04スーパークラスのオブジェクトを受け取るメソッドには、
サブクラスのオブジェクトを与える事ができます。」
('A`)?
01141
2005/10/25(火) 21:31:26int a;
int b;
abstract int result();
void printResult(){
System.out.println(result());
}
void setData(int m, int n){
a = m;
b = n;
}
}
class Minus extends Calc2{
int result(){ return a-b; }
}
class Plus extends Calc2{
int result(){ return a-b; }
}
class Calculation4{
public static void main(String[] args){
int x = 54, y = 12;
Calc2 calc1 = new Plus();
Calc2 calc2 = new Minus();
calc1.setData(x,y);
calc2.setData(x,y);
System.out.print(x +" + "+ y +" = ");
calc1.printResult();
System.out.print(x +" - "+ y +" = ");
calc2.printResult();
}
}
本に載ってる例題です。
0115デフォルトの名無しさん
2005/10/25(火) 23:31:49メソッドは、オブジェクトを引数として受け取る事ができます。
void method(Something obj){
// 略
}
スーパークラスのオブジェクトを受け取るメソッドには、
サブクラスのオブジェクトを与える事ができます。
class Super{
// 略
}
class Sub extends Super{
// 略
}
class Hoge{
void method(Super obj){
// 略
}
}
・・・
Hoge hoge = new Hoge();
Super super = new Super();
Sub sub = new Sub();
hoge.method(super); // OK
hoge.method(sub); // OK
0116デフォルトの名無しさん
2005/10/25(火) 23:37:05こんなに早くだれてたらニートから脱出できないぞ
0118デフォルトの名無しさん
2005/10/26(水) 00:44:55サブクラスのオブジェクトを与える事ができます。」
この日本語が糞。いろんな意味にとれる。わからなくて当たりまえ。
0119デフォルトの名無しさん
2005/10/26(水) 13:51:39そうか?
さすがに名文とは思わんが>>115の例のようなことだと読めるけどな…。
例えば他のどんな意味に取れる?
0120デフォルトの名無しさん
2005/10/26(水) 17:32:06”パラメータとして”くらいは書いとくべきだな
0121デフォルトの名無しさん
2005/10/26(水) 18:10:16そのように限定するほうがより分かりやすいことには同意だが、
メソッドが何だか分かっていれば
限定を書かないことによって他の意味に取れるとはあまり思えないし、
「糞」だの「わからなくてあたりまえ」とまでもは思えないが…。
0122デフォルトの名無しさん
2005/10/26(水) 19:21:00> さすがに名文とは思わんが>>115の例のようなことだと読めるけどな…。
既に内容を理解しているから、他の可能性が思い付かないんじゃないかと思う。
こんな風に読んで欲しいんだろうけど、
「(スーパークラスのオブジェクト)を受け取るメソッドには、
サブクラスのオブジェクトを与える事ができます。」
こんな風に読めちゃったりもしない?
「(スーパークラスの)(オブジェクトを受け取るメソッド)には、
サブクラスのオブジェクトを与える事ができます。」
ふつう、「スーパークラス」とか「サブクラス」と書いてあった場合、「どのクラスのスーパークラスか?」
とか「どのクラスのサブクラスか?」と、疑問に思い、それを頭の中で確認しつつ読むものだと思う。
そういう意味では、>>115 の例のクラスの名前も気持ち悪い。
Super と Sub という名前を使うなら、Super と Sub の間になんか一個欲しい。
0123デフォルトの名無しさん
2005/10/26(水) 20:34:192つ目の日本語構文解析は1つ目と違って文面に現れてる対の構造が壊れているし
割と意味不明だしなので普通放棄して1番目を選ぶんじゃない?
まぁ2つ目のように分節した結果を強引に解釈すれば
Superのメソッド定義が void method(Object obj) の場合であると思うわけ?
まぁ確かにその場合Subクラスのインスタンスも渡せるわけで整合してないこともないが、
継承の解説部分でそう書いてあると思うほうが文脈から見て唐突じゃないか?
(「ふつう〜」以下について)
書類で家族の続柄を書くときにも同種の迷いは確かにあるけど
だからといって普段親と子の話をするときにも「親」と「子」の間に何かほしいか?
特にサンプル・ソースが提示されてるなら事実上問題はないだろう。
となれば単に趣味に合う合わないってだけだな。
0124デフォルトの名無しさん
2005/10/26(水) 21:07:09> 割と意味不明だしなので普通放棄して1番目を選ぶんじゃない?
だーかーらー。
意味不明だから放棄する、ってこと自体が、「分かってる人」だから出来ること。
分かってない人は、「意味不明だけどそれは俺が勉強不足なせいかも」と考え(ry
> (略) のメソッド定義が void method(Object obj) の場合であると思うわけ?
ああ。そういう解釈もあるね。思い付かなかった。w
ってことは、
「オブジェクトを受け取るメソッド」と書かれていた場合は、
「java.lang.Object 型の引数をとるメソッド」とも考えられるし、
「何らかの参照型の引数をとるメソッド」とも考えられる。ってことだな。
0125デフォルトの名無しさん
2005/10/26(水) 21:33:23確かに分かってれば読解も早いとは思うけど、単に文の分節の仕方を変えれば
(それも前半と後半の文構造の対応関係考えたら書き手が意図した分節のほうが自然だし…)
読解できるんだからそれは知識の問題ではなく
日本語の構文解析能力(狭義の読解力)の問題なような気がする。
そういうところで多少は試行錯誤しながら考えて読まないと
読解力も勉強してる内容自身も身につかないと思う。
0126デフォルトの名無しさん
2005/10/26(水) 22:07:30(でもなんでそんなに必死に言い訳するんだ?)
ま、不毛な議論はこれくらいにして、もうちょっとましな説明文を考えてみるテスト。
「あるメソッド m の仮引数の型がクラス C であるとき、そのメソッド m には実引数として、
クラス C のインスタンスだけでなく、クラス C のサブクラスのインスタンスも渡すことができる。」
さっきのよりはマシじゃね?
「サブクラス」っていう用語は「直接のサブクラス」っていう用語と対にして、
先に定義しておかなきゃならんけど。
0127デフォルトの名無しさん
2005/10/26(水) 22:54:44一応言っておくとオレ(>>119,>>121,>>123,>>125)は
問題の文章(>>115)の書き手じゃないぞ?だから言い訳というのはあたらんな。
単に>>118の言ってることがオカシイ気がしたから突っ込んだだけ。
ついでに言うと読み手に責任を押し付けるというよりは
読解能力が不足気味のヤツにまで
余計なコストを払って教えるのは無駄な気がするねということだ。
極端な話、別に一生分からないままでいてもらったところで全く問題はないわけだろ?
人生をどう送ろうと自由であるから読解の訓練が足りずに
読解力が不足していることはそれ自身別に悪いことではない。
が、それによって知識が得られにくくなるのは当然の結果。
書き手が手間を掛ければ読解力が相対的に低い相手にも誤読されにくくすることは
ある程度可能だが下限を低くすればそれだけ余計に手間が掛かる。
その掲示板の場合説明コストはボランティアの書き手が支払うわけだから
コストを払うかどうかは書き手の裁量に任せるべきものだろう。
言い換えると掲示板では別に相対的に読解能力の低い読み手が
理解できるように書くことを要求するのは
読み手の正当な権利ではないし、書き手の当然の義務でもない。
書き手は読み手の能力に自由に前提を置いていいはずだ。
分かりやすく書く努力が賞賛されることは結構なことだが
分かりにくいのは書き手の努力が足りないと>>118のように
口汚く非難されるいわれは全くないだろう?
特に115に若干は改良の余地があるとしても
それほど非常識に分かりにく文章というわけではないのだから。
…と思ったから118に「なぜ?」と聞いてみたくなったのが119。
以降121と123は理由が知りたくて聞いているが、
結局「115は誤読される可能性が高い」理由として
納得できるものが出てこなかったので結論めいたものを出してみたのが125。
0128デフォルトの名無しさん
2005/10/26(水) 23:06:41いいんじゃないかと思う。
ただ、その密度と厳密さを基準にして未定義語を全部解消したら結局
教科書並みのボリュームが必要になって実際問題として掲示板向きでない
という気もするが、
(厳密に書けば術語の使用量も増えるわけで、
そうなれば術語の解説もまた増えるからな。)
確かに読解力が不足気味の初心者にもやさしい文章ではある。
無償匿名の掲示板でそこまでの説明品質を当然のように求める考え方は
どうかとはおもうが。
0129デフォルトの名無しさん
2005/10/27(木) 03:25:160130Maat
2005/10/27(木) 10:59:420131デフォルトの名無しさん
2005/10/27(木) 18:06:210132デフォルトの名無しさん
2005/10/27(木) 18:06:540133デフォルトの名無しさん
2005/10/27(木) 18:45:1401341
2005/10/27(木) 21:38:420135デフォルトの名無しさん
2005/10/27(木) 22:00:0401361
2005/10/27(木) 22:09:10一先ずわかった振りをして先進んでます。
色々やっていくうちに「ああ、こういう事だったのか」という事がありますし('A`)
で、今ストリームに入ってるわけですが、これがまた('A`)('A`)('A`)
01371
2005/10/27(木) 22:11:04いや、しかしそれにしても・・・・
tryからはじまりcatch(Ex・・・)
C++とは全然違いますねこれ('A`)
0138デフォルトの名無しさん
2005/10/27(木) 22:30:33入出力ライブラリの体裁がC++とJavaでずいぶん違うのは同意。
C++はストリーム演算子を介してストリームに直接オブジェクトを渡すのが標準だからな。
個人的にはその方が分かりやすい気もしないではない。
一方Javaは全部Stringに落としながら処理してるイメージに近い。
Javaにも実はストリームはあるのだが生では使わない場合が多い。
ところで:
1)CならまだしもC++でscanf()など使うのは止めておきたまえ。
ストリーム入力を使うのだ。(Cでもscanfは評判悪いんだが。)
2)try{}catch(Exception e){}の構文はC++にもJavaにもある構文。
細部は違うところもあるが基本的なアイディアは同じだ。
だからその部分に関しては全然違うというわけではない。
ただC++よりJavaのほうが例外処理をメソッドの仕様の一部として厳密に扱うから
入出力処理**でも**良く見かけるに過ぎない。
01401
2005/10/27(木) 22:39:08int a;
cin >> a;
であってるのかな。いや間違ってても怒らないで('A`)
0141デフォルトの名無しさん
2005/10/27(木) 22:44:55仕様上、ちょっと想定と違う入力がくると
バッファーの範囲を超えて読み込んじゃう
事故(バッファ・オーバーラン)が起きやすいから。
読み込みとスキャンを分離してバッファをプログラマが管理する
sscanf()を使うならちゃんと書けばまぁなんとか大丈夫。
>>140
概ね合ってる。
01421
2005/10/27(木) 22:51:53サンクス。勉強になった('A`)
scanf()はやばい見たいな事は知ってたけど、どうやばいのか見出せず
結局何も考えないで使ってたよ(´・ω・`)
0143デフォルトの名無しさん
2005/10/28(金) 02:19:370144デフォルトの名無しさん
2005/10/28(金) 13:19:54ちょっwwwwおまwwwwwwwwww
01451
2005/10/30(日) 23:51:07パッケージに入りました。
ラッパークラスとかまためんどくさそうなものが盛りだくさんです('A`)
0146デフォルトの名無しさん
2005/10/31(月) 12:50:31javaを勉強したいと思うニートな俺にはいい感じにやる気がでるスレだ。
HelloWorldから始めてみる。
おまいも頑張れ>>1
0147デフォルトの名無しさん
2005/11/02(水) 09:55:24パッケージとかはある程度の規模のプログラムを書いて
名前の衝突などを経験しないとありがたみがわからんかもなー。
あとはpublicでもprivateでもprotectedでもないデフォルト・アクセス関連くらいか。
ラッパー・クラスってのはAPIを整理する際の一般的なテクニックで
あちこちに現れるが、一体何のラッパーだ?
>>146
進んだか?
0148146
2005/11/03(木) 02:40:06少しだけ。
ttp://www.smg.co.jp/seminar/java/index.html
ここ見てやってて、今やっと「クラスを理解する」のトコ。
やっぱ本買わないとダメかな。
0149デフォルトの名無しさん
2005/11/04(金) 15:13:01そのページは無駄話は多いわ、理解が浅いわ、枝葉末節にこだわる割りに正確でもないわ、
かといって別に分かり易くもないわで読むだけ無駄。
それにマ板見るとそのサイトを開設してる会社はあまり評判芳しからざる会社でもあるようだしな。
大体webはちょっと参照するにはいいけど
教科書的なまとまった文は読みにくいんだから
教科書買うくらいの投資はしろよ…。
0150デフォルトの名無しさん
2005/11/04(金) 15:15:16早くなんか教えろ
0151では学ぶがいいwww
2005/11/04(金) 15:45:05しょうがないなぁのびた君は・・・
「無名(匿名)クラスの作り方」ぁ(ビカビカビカー)。
class C {
String name(void) {return("クラスCのインスタンス");}
}
というクラス(abstract classやinterfaceでも可)があるとき
C v = new C {calc(void) {return("クラスCを拡張した無名クラスのインスタンス");};
でクラスCを拡張した名前のないクラスの定義とそのインスタンスの生成ができるんだ。
■ このスレッドは過去ログ倉庫に格納されています