回答編集履歴

2

誤解をまねきそうな表現を訂正・説明を補充

2016/01/30 10:46

投稿

kozuchi
kozuchi

スコア1193

test CHANGED
@@ -1,46 +1,116 @@
1
- このサイトの趣旨からは外れるかもしれませんが、
1
+ このサイトの趣旨からは外れるかもしれませんが、
2
2
 
3
3
  自分が重要な問題だと思うので、回答させていただきます。
4
4
 
5
5
 
6
6
 
7
- アプリケーション開発にって一番重要なことは、言語もフレームワークもOSもありせん
7
+ 「原理」いうお話すの、原理原則まさかのぼった話をし
8
8
 
9
- そううものをいくら勉強してもアプリケーションを開発る方法はわん。
9
+ 若干抽象的な話になってしまが、かまわなければ読でください
10
10
 
11
11
 
12
12
 
13
- アプリは問題を解決したり、目的を達成するための手段です。
14
-
15
- ですから、最も重要なのは「そのアプリがなんであるか、目的は何か」をしっかり決めることです。
16
-
17
- それさえしっかりできれば、「アプリを実装する方法」は開発力のあるベンダーに丸投げしてしまえばいいのです(そしてこのサイトの問題分野は、どちらかというとここでは丸投げされるぐらい信頼されるベンダーの持つべき知識といった領域のほうにあるんだろうなとは思います)。
18
-
19
- 極端な場合、問題をしっかり定義した結果、プログラムなど開発しなくても解決できる
20
-
21
- (あるいは既存のアプリの応用で解決でる)ことがったります。
13
+ アプリケーション開発」には、大けて二つの異なった作業があります。
22
14
 
23
15
 
24
16
 
25
- >haskellやlispなどの言語でアプリを作りたいときはどうすれば良いでしょう
17
+ 1.何を作のかを決める
26
18
 
27
- 特定技術においてアプリを実する場合の作業は、
19
+ 2.決めたものを実する
28
20
 
29
- アプリの目的とその技術の機能の付きあわせです。
30
21
 
22
+
23
+ このサイトで話題になっている技術の大半は、2.に関するものです。
24
+
25
+ しかし、「便利なアプリ」を作るために本当に重要なのは 1. です。
26
+
27
+ アプリケーションが便利なものとして完成する「原理」は 1. の中にあって、2. にはありません。
28
+
29
+ 1.の段階で便利でないものを 2.の段階の技術で便利にすることはほぼ不可能です。
30
+
31
+
32
+
33
+ ですから、あなたに「どうしても作りたい」アプリがあり、それが便利なものであるという絶対の自信があり、
34
+
35
+ それを他人に伝える能力があり、しかしながらアプリというものの作り方がよくわからない、という状態であるなら、
36
+
37
+ それを「便利なアプリ」として完成させるためにあなたが注力すべき作業は1.です。
38
+
39
+ 1.のための時間が足りないのでしたら、2. の作業を能力のある他人に任せるべきです。
40
+
41
+ なぜなら、あなたが考えたアプリに関して 2.は他人でもできますが、1.はあなたにしかできないからです。
42
+
43
+ 1. の作業がきちんとできないならば、そのプログラムが「便利なアプリ」として完成する可能性は
44
+
45
+ 限りなく低くなります。
46
+
47
+
48
+
49
+ もちろん、「どうしても作りたい」のでなければ、そこまで極端考える必要はありません。
50
+
51
+ 「アプリをプログラミングする」という作業を、
52
+
53
+ ホビーとして楽しみたい、または教養として知りたい、仕事で使う技術を身に着けるためにやってみたい、
54
+
55
+ というならこの限りではありません。
56
+
57
+ その場合は「便利なアプリを作ること」は手段であって目的ではないからです。
58
+
59
+ 「なんか使いにくいけど面白いからいいや」で済んでしまいますからね。
60
+
61
+
62
+
63
+ 「便利なアプリを作ること」を第一の目的とするならば、
64
+
65
+ アプリケーション開発にとって一番重要なことは、言語でもフレームワークでもOSでもありません。
66
+
67
+ そういうものをいくら勉強しても便利なアプリケーションを開発する方法はわかりません。
68
+
69
+ わかるのは、すでに何をするのかきちん決まっているアプリの設計を
70
+
71
+ コンピュータプログラムとして実現する手段だけです。
72
+
73
+
74
+
75
+ アプリは問題を解決したり、目的を達成するための手段です。
76
+
77
+ ですから、最も重要なのは「そのアプリがなんであるか、目的は何か」をしっかり決めることです。
78
+
79
+
80
+
81
+ 本当に便利なアプリは、目的の作業を行うための手順などがよく考えられていて、
82
+
83
+ ユーザが無駄なことをしなくても済むように、やるべきことがすぐわかるように、さまざまな工夫が凝らされています。
84
+
85
+ そのような工夫をこらして、そのアプリがどのようなものか、何をすべきかを決めた人が「便利なアプリ」を作った人です、
86
+
87
+ プログラマはそれをコードとして実行可能な形にしたに過ぎません。
88
+
89
+ その作業や技術は自体は十分価値のあるものですが、
90
+
91
+ 「アプリの便利さ」を決定付ける要素ではありません、代替えの効くものです。
92
+
93
+
94
+
95
+ >haskellやlispなどの言語でアプリを作りたいときはどうすれば良いのでしょうか?
96
+
97
+ 特定技術においてアプリを実装する場合の作業は、
98
+
99
+ アプリの目的とその技術の機能の付きあわせです。
100
+
31
- 足りない部分は新規開発するなりライブラリを探すなりします。
101
+ 足りない部分は新規開発するなりライブラリを探すなりします。
32
102
 
33
103
  一般にそういった作業のコストが予算をオーバーするような(しそうだと予想されるような)場合は、
34
104
 
35
- 責任者はその技術を使うことを断念する判断をして別の技術を検討し始めます。
105
+ 責任者はその技術を使うことを断念する判断をして別の技術を検討し始めます。
36
106
 
37
- チューリング完全であれば理屈の上ではなんでもできますが、
107
+ チューリング完全であれば理屈の上ではなんでもできますが、
38
108
 
39
109
  実装コストが見合うかどうかは別問題です。
40
110
 
41
111
 
42
112
 
43
- >もしよろしければ参考になる書籍やサイト、キーワードなどを教えていただけるとありがたいです。
113
+ >もしよろしければ参考になる書籍やサイト、キーワードなどを教えていただけるとありがたいです。
44
114
 
45
115
  >よろしくお願いします。
46
116
 
@@ -50,8 +120,10 @@
50
120
 
51
121
 
52
122
 
53
- 少し古いですが・・(ソフトウェア開発の話はほぼ出てきません)
123
+ 少し古いですが・・(ソフトウェア開発の話はほぼ出てきません)
54
124
 
55
- >ライト、ついてますか―問題発見の人間学 単行本 – 1987/10/25
125
+ >ライト、ついてますか―問題発見の人間学 単行本 – 1987/10/25
56
126
 
57
127
  >ドナルド・C・ゴース (著), G.M.ワインバーグ (著), 木村 泉 (翻訳)
128
+
129
+

1

補足を追加

2016/01/30 10:46

投稿

kozuchi
kozuchi

スコア1193

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ですから、最も重要なのは「そのアプリがなんであるか、目的は何か」をしっかり決めることです。
16
16
 
17
- それさえしっかりできれば、「アプリを実装する方法」は開発力のあるベンダーに丸投げしてしまえばいいのです。
17
+ それさえしっかりできれば、「アプリを実装する方法」は開発力のあるベンダーに丸投げしてしまえばいいのです(そしてこのサイトの問題分野は、どちらかというとここでは丸投げされるぐらい信頼されるベンダーの持つべき知識といった領域のほうにあるんだろうなとは思います)
18
18
 
19
19
  極端な場合、問題をしっかり定義した結果、プログラムなど開発しなくても解決できる
20
20