回答編集履歴
3
いくつかの用語に説明リンクを追加
answer
CHANGED
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
ってのは単純に、「本を読め。本のコードを実際に手を動かしてエディタでタイプしてコンパイルして結果を確かめろ。」としか言いようがないね。**決してオンライン講座に手を出したり、YouTubeの動画で間に合わせようとしない事**。
|
|
9
9
|
昔ながらのやり方が一番いいんだ。本を購入して読む。そして実際にプログラミングしてみる。それ以上のやり方は存在しない。
|
|
10
10
|
|
|
11
|
-
さて、Java入門書の選定が難しい。そもそもオブジェクト指向って考え方がプログラミング初学者向けじゃないんだ。
|
|
12
|
-
元々、Javaって言語は、「マシなC++を作る」ってのが設計目標で、アピール対象が「C++経験者」だったわけ。
|
|
13
|
-
言わば「C++でのプログラミングで苦労している人達、Javaならもっとラクにプログラミング出来ますよ」と言うのがメッセージで、端から「C++プログラミング経験者用プログラミング言語」であって、全くのプログラミング未経験者を対象としては考えてなかったんだ。
|
|
11
|
+
さて、Java入門書の選定が難しい。そもそも[オブジェクト指向](https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91)って考え方がプログラミング初学者向けじゃないんだ。
|
|
12
|
+
元々、Javaって言語は、「マシな[C++](https://ja.wikipedia.org/wiki/C%2B%2B)を作る」ってのが設計目標で、アピール対象が「[C++](https://ja.wikipedia.org/wiki/C%2B%2B)経験者」だったわけ。
|
|
13
|
+
言わば「[C++](https://ja.wikipedia.org/wiki/C%2B%2B)でのプログラミングで苦労している人達、Javaならもっとラクにプログラミング出来ますよ」と言うのがメッセージで、端から「[C++](https://ja.wikipedia.org/wiki/C%2B%2B)プログラミング経験者用プログラミング言語」であって、全くのプログラミング未経験者を対象としては考えてなかったんだ。
|
|
14
14
|
まぁ、Javaを元々作った[Sun Microsystems](https://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%B3%E3%83%BB%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%BA)の宣伝部のお陰で、「今からプログラミングを学ぶにはJava!」的なムーヴメントは出来たは出来たんだけど、そもそもこれって無理があんのね(笑)。
|
|
15
15
|
「ややこしいプログラミング方針」を持った言語を「全くのプログラミング初学者」に「やさしく」解説するのは骨だ。
|
|
16
16
|
そんなのもあって、中級者以上へのテクニック解説本での定番本ってのはそこそこある、って状況に反し、「全くのプログラミング初学者向け」の定番本、ってのは実はほぼ存在しない、って話になる。
|
2
コメントアウト、と言う用語に対して説明リンクを追加
answer
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
なお、往年のJavaに比べると今のJavaの方が若干学びやすくなってるとは思う。2017年のJava9から搭載された[jshell](https://docs.oracle.com/javase/jp/24/jshell/introduction-jshell.html#GUID-630F27C8-1195-4989-9F6B-2C51D46F52C8)の存在だ。[jshell](https://docs.oracle.com/javase/jp/24/jshell/introduction-jshell.html#GUID-630F27C8-1195-4989-9F6B-2C51D46F52C8)ってのはJavaの[インタプリタ](https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF)だ。
|
|
29
29
|
[コンパイラ](https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9)型の言語処理系でのプログラム開発は暗中模索になりやすい。コードを書いても、結果を簡単に見る事が出来ないし、特にオブジェクト指向だと「なんかの機能を使った結果をパッと見たい」と思ってもなかなかそれが許されない。
|
|
30
|
-
結果、書いてるコードのアッチコッチにいわゆる「```printf```デバッグ」を仕込んでは、最終的にコメントアウトする、みたいな手間をかけなきゃなんなかったんだけど、[jshell](https://docs.oracle.com/javase/jp/24/jshell/introduction-jshell.html#GUID-630F27C8-1195-4989-9F6B-2C51D46F52C8)はその辺を解決してくれる。非常に助かるし、また機能としても初学者向けだろう。
|
|
30
|
+
結果、書いてるコードのアッチコッチにいわゆる「```printf```デバッグ」を仕込んでは、最終的に[コメントアウト](https://e-words.jp/w/%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%82%A2%E3%82%A6%E3%83%88.html)する、みたいな手間をかけなきゃなんなかったんだけど、[jshell](https://docs.oracle.com/javase/jp/24/jshell/introduction-jshell.html#GUID-630F27C8-1195-4989-9F6B-2C51D46F52C8)はその辺を解決してくれる。非常に助かるし、また機能としても初学者向けだろう。
|
|
31
31
|
|
|
32
32
|

|
|
33
33
|
|
1
IDEに対して説明を追加。
answer
CHANGED
|
@@ -31,4 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|

|
|
33
33
|
|
|
34
|
+
あと、Javaの定番[IDE](https://ja.wikipedia.org/wiki/%E7%B5%B1%E5%90%88%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83)はいまだに[Eclipse](https://willbrains.jp)なのかな。多分これが一括ダウンロード/インストールでは一番手間がないのかしらん。
|
|
35
|
+
他には[NetBeans](https://www.oracle.com/jp/tools/technologies/netbeans-ide.html)とか、最近流行りの[Visual Studio Code](https://code.visualstudio.com)とかあるけど、まぁこの辺はお好みで。どうしても「手が合う」とか「合わない」とかあるんで、他人の意見は完全にはアテになんない。
|
|
36
|
+
|
|
34
37
|
まぁ、そんなカンジかな。
|