回答編集履歴
7
誤字脱字修正etc.
answer
CHANGED
@@ -40,7 +40,7 @@
|
|
40
40
|
まあ、それでも大体の方向性は同じになりますね。提案としては。
|
41
41
|
|
42
42
|
とりあえず、ざっと基本的な部分を学んで、LINQとかそういう部分まで学んで、
|
43
|
-
「設計からデバッグまでする」ですね。
|
43
|
+
WindowsFormsのようなAPI等でのGUI系を学んで、「設計からデバッグまでする」ですね。
|
44
44
|
|
45
45
|
本を読んでも完全に習得できるものではありません。手を動かして初めて理解できるものです。
|
46
46
|
なのでオススメは「実際に何か作る」ですね。
|
@@ -65,10 +65,13 @@
|
|
65
65
|
|
66
66
|
おそらく、書かなくてもわかるとは思いますが。
|
67
67
|
|
68
|
-
WinFormsではイベントドリブン(イベント駆動)で、WPFはMVVMという考え方のようです。(あまり詳しくありませんが)
|
68
|
+
WinFormsではイベントドリブン(イベント駆動)で、WPFはMVVMという考え方を取り入れるのが多いようです。(あまり詳しくありませんが)
|
69
69
|
|
70
|
+
コメントで『Windows上でのGUI系はイベントドリブンが基本』とのご指摘が入りました。
|
70
|
-
|
71
|
+
(確かにWinAPIで実装するときはイベントドリブンですね)
|
71
72
|
|
73
|
+
---------------------------
|
74
|
+
|
72
75
|
[追記3]
|
73
76
|
|
74
77
|
> 職場で開発者が使っているのは、「Windows Forms」で、GrapeCityの有償のGUIツールを使って画面を作ってました。
|
6
追記3
answer
CHANGED
@@ -65,4 +65,62 @@
|
|
65
65
|
|
66
66
|
おそらく、書かなくてもわかるとは思いますが。
|
67
67
|
|
68
|
-
WinFormsではイベントドリブン(イベント駆動)で、WPFはMVVMという考え方のようです。(あまり詳しくありませんが)
|
68
|
+
WinFormsではイベントドリブン(イベント駆動)で、WPFはMVVMという考え方のようです。(あまり詳しくありませんが)
|
69
|
+
|
70
|
+
ーーーーーー
|
71
|
+
|
72
|
+
[追記3]
|
73
|
+
|
74
|
+
> 職場で開発者が使っているのは、「Windows Forms」で、GrapeCityの有償のGUIツールを使って画面を作ってました。
|
75
|
+
|
76
|
+
それならWindows Formsですね。
|
77
|
+
|
78
|
+
> なので、自分としては、まずは「C#ってなに?」「プログラミングってなに?」から入って、上記ドットインストール入門を2回転くらいやって、さっとドリル、その後、Udemyなどで出ているWindows Forms編コースをやろうと思っています。
|
79
|
+
|
80
|
+
基本的な方向性はそれでいいと思います。
|
81
|
+
|
82
|
+
ただ、個人的には二周もしなくていいかなと。
|
83
|
+
その代わり、他のサイトも読む。特に自分の理解が怪しいところです。
|
84
|
+
|
85
|
+
変数とかfor文とかはいけるけど、オブジェクト指向周りがわかっていないなら、
|
86
|
+
『C# オブジェクト指向 わかりやすく』とかみたいに調べるとかですね。
|
87
|
+
|
88
|
+
少なくとも、『名称』、『基本的な概念』、『基本的な使い方』(軽いサンプル程度)
|
89
|
+
ぐらいは理解すべきですが、あとは実際に使っていけばわかるはずです。
|
90
|
+
|
91
|
+
WindowsFormsは単なるAPIで、
|
92
|
+
外観はそのAPIで、内部処理(ビジネスロジック)はC#とかでやります。
|
93
|
+
いくら外観ができても、内部処理ができないと話になりません。
|
94
|
+
なので最初はC#の基礎部分をやって、次にGUI部分、つまりWindowsFormsのことをやる。
|
95
|
+
そして実際に作るのです。
|
96
|
+
|
97
|
+
『C# 入門』、『WindowsForms 入門』とかで検索してみてください。
|
98
|
+
別にUdemyとかでもいいです。
|
99
|
+
|
100
|
+
なので、
|
101
|
+
|
102
|
+
```
|
103
|
+
C# 自体の基礎
|
104
|
+
→ CUIとして軽い作品を数個作る
|
105
|
+
→ コツを掴んだら
|
106
|
+
→ WindowsFormsの基礎部分を学ぶ
|
107
|
+
→ GUIとして軽い作品を作ってみる
|
108
|
+
```
|
109
|
+
|
110
|
+
とかみたいな感じになるかと思います。
|
111
|
+
|
112
|
+
> もしかしたら最初からWindows Forms編コースでいいのかもしれませんが、
|
113
|
+
|
114
|
+
NOです。むしろ逆です。
|
115
|
+
最初からWinFormsをやってもいいですが、内部処理はC#だし、
|
116
|
+
考え方自体もC#なのでどのみちCUIが作れないと話になりません。
|
117
|
+
そのため、C#の基礎からやる羽目になりますね。
|
118
|
+
|
119
|
+
> UIデザインをやり始めた時、CSS飛ばしてBootstratpいじりだし、散々回り道したあげく、結局CSS基礎から仕切り直した黒歴史がありますので、今回は基礎からやろうと思います。
|
120
|
+
|
121
|
+
ですね。むしろそれが健全かと思います。
|
122
|
+
基礎を蔑ろにすると、何も理解できません。
|
123
|
+
よくてコピペ、悪ければそもそも何もできないです。
|
124
|
+
|
125
|
+
そうなるとやっぱりやり直しになり、基礎からやるはめになるので、
|
126
|
+
むしろ地道に、質問者さんがお考えのように堅実にやる方が無難ですね。
|
5
誤字脱字修正 & 追記2
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
ログラミングっていうのは『書いて終わり』ではありません。
|
1
|
+
プログラミングっていうのは『書いて終わり』ではありません。
|
2
2
|
|
3
3
|
『**プログラムは魔法でもなんでもなく、現実世界で人間がやっている手順を逐一指示されながら処理しているだけの代物である**』です。
|
4
4
|
|
@@ -54,4 +54,15 @@
|
|
54
54
|
|
55
55
|
実際に自分が開発者に立って実践することで理解しやすくなるはずです。
|
56
56
|
|
57
|
-
頑張ってください。
|
57
|
+
頑張ってください。
|
58
|
+
|
59
|
+
---------------------------
|
60
|
+
|
61
|
+
[追記2]
|
62
|
+
|
63
|
+
そういえば、余談ですが、C#でGUIを作る場合はWPFかWinFormsなのかとかで違うようです。
|
64
|
+
作るもの( WinForms or WPF ) によって作法が異なるのでそこも考慮した方がいいかと思います。
|
65
|
+
|
66
|
+
おそらく、書かなくてもわかるとは思いますが。
|
67
|
+
|
68
|
+
WinFormsではイベントドリブン(イベント駆動)で、WPFはMVVMという考え方のようです。(あまり詳しくありませんが)
|
4
追記1
answer
CHANGED
@@ -19,4 +19,39 @@
|
|
19
19
|
|
20
20
|
そうすると、『for文の使い所』とか、設計方法や考え方、デバッグ方法も学べるはずです。
|
21
21
|
|
22
|
-
頑張ってみてください。
|
22
|
+
頑張ってみてください。
|
23
|
+
|
24
|
+
----------------------
|
25
|
+
|
26
|
+
[追記1]
|
27
|
+
|
28
|
+
(修正時、修正依頼のコメントにて)
|
29
|
+
> 質問の仕方が乱暴でした。すみません。
|
30
|
+
実は、本業はUIデザイナーです。クライアント⇔営業⇔開発工程の営業と開発の中間に位置しています。
|
31
|
+
ちょうど今 「WinPC向けアプリ言語C#にて」、の仕事をもらってUI設計しているのですが、
|
32
|
+
自分がつくるUIが実装側にどれくらい負荷がかかるのか理解する必要があり自宅でC#を学んでいるのです。それでこの質問に至りました。
|
33
|
+
|
34
|
+
それを先に書きましょうよ……
|
35
|
+
場合によっては相当変わってきますから。
|
36
|
+
|
37
|
+
私は最初、「ITエンジニアになってウハウハな人生を送りたい人」なだけだと思っていました。
|
38
|
+
(最近めちゃくちゃ多いので)
|
39
|
+
|
40
|
+
まあ、それでも大体の方向性は同じになりますね。提案としては。
|
41
|
+
|
42
|
+
とりあえず、ざっと基本的な部分を学んで、LINQとかそういう部分まで学んで、
|
43
|
+
「設計からデバッグまでする」ですね。
|
44
|
+
|
45
|
+
本を読んでも完全に習得できるものではありません。手を動かして初めて理解できるものです。
|
46
|
+
なのでオススメは「実際に何か作る」ですね。
|
47
|
+
|
48
|
+
> 自分がつくるUIが実装側にどれくらい負荷がかかるのか理解する必要があり
|
49
|
+
|
50
|
+
ということを考えてもやはり「実際に作る」でしょうね。
|
51
|
+
|
52
|
+
基礎部分だけやってもそれは単なる知識であって、意味をあまりなさないからです。
|
53
|
+
(かといって基礎をないがしろにしていいとは言っていません)
|
54
|
+
|
55
|
+
実際に自分が開発者に立って実践することで理解しやすくなるはずです。
|
56
|
+
|
57
|
+
頑張ってください。
|
3
修正
answer
CHANGED
@@ -1,49 +1,5 @@
|
|
1
|
-
|
1
|
+
ログラミングっていうのは『書いて終わり』ではありません。
|
2
2
|
|
3
|
-
そもそも**プログラミングは暗記するものではありません**。
|
4
|
-
|
5
|
-
もちろん、変数とはなにかとかfor文とは何かとかみたいな**概念や使い方、用語等**は覚えるべきですが、高校とかまでの『暗記していないといけない』ではありません。
|
6
|
-
|
7
|
-
自分が使う道具(メソッドとかクラスとか)を**公式リファレンス**とかで検索していけばいいだけです。
|
8
|
-
|
9
|
-
そうですね、英語とかを辞書引きながらやる感じですね。
|
10
|
-
流石にI, you, make, is, am, are… とかは覚えないといけないですが、大抵、そういうのは使っていけば自然に覚えるものです。
|
11
|
-
|
12
|
-
まあ、英語の場合はできるだけ暗記し、すぐに使えるようにしておくべきなのが違うところですが。
|
13
|
-
|
14
|
-
それに、プログラミングは穴埋め問題を解くものではありません。
|
15
|
-
仕事と考えればわかるはずです。
|
16
|
-
|
17
|
-
たとえば、数学の証明問題とかのように穴埋め問題を解くだけでお金が貰えますか?
|
18
|
-
貰えたら楽でしょうけど、雇い主目線でみたら論外です。
|
19
|
-
|
20
|
-
そもそも企業は良くも悪くも営利目的です。汚いと思いますか?
|
21
|
-
では、会社はどのように運営しているのでしょうか。
|
22
|
-
コンビニやスーパー等は商品を売り捌き、理髪店は客の髪を切ってあげたりして、その対価として料金を受け取ります。
|
23
|
-
その代金等が来月、再来月の運営費に当てられます。(その前に給料とかが支払われるが)
|
24
|
-
|
25
|
-
つまりなんらかの生産を行っています。
|
26
|
-
でも問題を解くだけって生産性ありますかね?
|
27
|
-
|
28
|
-
会社からすればお荷物です。生産性がないから。
|
29
|
-
|
30
|
-
ではプログラミングではどのように生産性を上げているでしょうか。
|
31
|
-
|
32
|
-
たとえばある会社から『私らの会社のホームページ、作ってーな』と依頼が入ったらその会社の情報をもとにホームページを作成します。ですが、すぐにできるものではありません。無の状態から作り出すのですから。
|
33
|
-
|
34
|
-
エラーも出ますし、バグも含んでいます。
|
35
|
-
それらを駆逐する、つまりデバッグという作業をしてよりよい商品にするのです。
|
36
|
-
そして作って終わりではなく、依頼会社の社員(特に幹部)が変われば、その画像とかも差し替えたりしないといけません。そういうのを管理といいます。
|
37
|
-
そして、後から『こういう機能を追加してーな』と依頼が入れば機能を追加したりとかの保守もします。
|
38
|
-
|
39
|
-
つまり、作成・デバッグ・管理・保守で生産しています。
|
40
|
-
|
41
|
-
それなのに、単に穴埋めをしているだけでできますかね?
|
42
|
-
|
43
|
-
…ということで前提が間違っています。
|
44
|
-
|
45
|
-
それに、プログラミングっていうのは『書いて終わり』ではありません。
|
46
|
-
|
47
3
|
『**プログラムは魔法でもなんでもなく、現実世界で人間がやっている手順を逐一指示されながら処理しているだけの代物である**』です。
|
48
4
|
|
49
5
|
簡単に言えば『**現実世界のシミュレーション**』です。
|
@@ -63,6 +19,4 @@
|
|
63
19
|
|
64
20
|
そうすると、『for文の使い所』とか、設計方法や考え方、デバッグ方法も学べるはずです。
|
65
21
|
|
66
|
-
このサイトで回答している人たちの多くはこの方法だと思います。
|
67
|
-
|
68
22
|
頑張ってみてください。
|
2
誤字脱字修正
answer
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
|
30
30
|
ではプログラミングではどのように生産性を上げているでしょうか。
|
31
31
|
|
32
|
-
たとえばある会社
|
32
|
+
たとえばある会社から『私らの会社のホームページ、作ってーな』と依頼が入ったらその会社の情報をもとにホームページを作成します。ですが、すぐにできるものではありません。無の状態から作り出すのですから。
|
33
33
|
|
34
34
|
エラーも出ますし、バグも含んでいます。
|
35
35
|
それらを駆逐する、つまりデバッグという作業をしてよりよい商品にするのです。
|
1
誤字修正
answer
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
たとえば、数学の証明問題とかのように穴埋め問題を解くだけでお金が貰えますか?
|
18
18
|
貰えたら楽でしょうけど、雇い主目線でみたら論外です。
|
19
19
|
|
20
|
-
そもそも企業は良くも悪くも
|
20
|
+
そもそも企業は良くも悪くも営利目的です。汚いと思いますか?
|
21
21
|
では、会社はどのように運営しているのでしょうか。
|
22
22
|
コンビニやスーパー等は商品を売り捌き、理髪店は客の髪を切ってあげたりして、その対価として料金を受け取ります。
|
23
23
|
その代金等が来月、再来月の運営費に当てられます。(その前に給料とかが支払われるが)
|