回答編集履歴

1

校正

2018/01/15 03:42

投稿

miyabi-sun
miyabi-sun

スコア21158

test CHANGED
@@ -2,7 +2,21 @@
2
2
 
3
3
 
4
4
 
5
- この1文の時点でフロントエンドとバックエンドの違いが全く理解出来てないと断言出来るのでちゃんと調べるをオススメします。
5
+ この1でフロントエンドとバックエンドの違いが分かってない事が読み取れます。
6
+
7
+ ちゃんと調べてください。
8
+
9
+
10
+
11
+ と思いましたが、もしかして貴方は2年目のフロントエンジニアさんなのですか?
12
+
13
+ 「やはり、JavaScriptから(Node.js使いになる選択肢)が良いのでしょうか?」と補うことで意味が通じます。
14
+
15
+ その場合、どの程度JavaScriptに精通しているのかが基準になるでしょう。
16
+
17
+
18
+
19
+ ---
6
20
 
7
21
 
8
22
 
@@ -10,31 +24,125 @@
10
24
 
11
25
 
12
26
 
13
- その3択ならばPHPしか選択肢がありません
27
+ その3択ならばPHP一択でょう
28
+
29
+ しかし、RubyやPythonが選択肢から削られた理由がわかりません。
30
+
31
+ 有力だと思いますので調べて検討しなおしてみてください。
14
32
 
15
33
 
16
34
 
17
- JavaScriptはそもそもブラウザ上で動くフロントエンド用の言語だし…
35
+ > PHP
18
-
19
- jQueryにおんぶ抱っこの状態だから脱却し、それなりに実力のある人間ならばJavaScriptからNode.js使いになるルートは残されていますが、ゼロからバックエンドエンジニアになる場合は勉強量がまるで違うのでオススメは出来ません。
20
36
 
21
37
 
22
38
 
23
- PerlはWebサーバとしては弱いので、今最もPerlが得意でWebアプリくらいフルスクラッチで数日で書いてやらぁ!という気概が無い人間には無理です。
39
+ バックエンドエンジニアの仕事の半分はWebサーバの構築です。
24
40
 
41
+ Apacheのおまけでポンと動かせるPHPは身軽で良い選択肢の一つでしょう。
42
+
43
+
44
+
45
+ しかし、もう半分はLinuxを弄り回す仕事です。
46
+
47
+ PHPはHTMLを簡素な記述で素早く作って返す事に特化しているので、
48
+
49
+ RubyやPythonといったWebサーバに特化していないスクリプトの方がLinuxOSを弄り回す事に向いています。
50
+
51
+
52
+
53
+ つまり、バックエンドエンジニアとして大成するならばPHP1本で最後まで通す事は困難です。
54
+
55
+ PHPを選ぶ場合、コンパイル言語でもなんでも良いので第二言語を持っておく事をオススメします。
56
+
57
+ (因みにBashも立派なスクリプト言語でLinuxの操作が最も得意な言語と言えるので、役割分担がしやすくオススメです)
58
+
59
+
60
+
61
+ > JavaScript
62
+
63
+
64
+
65
+ JavaScript(以下JS)はそもそもブラウザ上で動くフロントエンドの為の言語です。
66
+
67
+ jQueryにおんぶ抱っこの状態から脱却した実力のあるフロントエンドエンジニアならば
68
+
69
+ JSの知識を活かしてNode.js使いになるルートが残されています。
70
+
71
+
72
+
73
+ しかし、JSを一通り扱える事がNode.jsの条件なので、
74
+
75
+ ゼロからバックエンドエンジニア目当てに始めるのは中々辛い所があります。
76
+
77
+
78
+
79
+ 軽くJSの歴史に触れますが、JSは登場後慎ましい変化で生きてきました。
80
+
81
+ AjaxやNode.jsが普及して多数のエンジニアがJS使いになりましたが、
82
+
83
+ あまりにJSの言語仕様の糞ぶりにエンジニア達の不満が爆発。
84
+
85
+ [2015年以降、毎年新しい構文が追加される](https://ja.wikipedia.org/wiki/ECMAScript)ようになりました。
86
+
87
+
88
+
89
+ ES2015という新仕様の実装でJSはイケてる構文を大量に仕入れました。
90
+
91
+ ES2016は比較的穏やかな進化でしたが、ES2017のasync/awaitも大概歴史が変わりますし、
92
+
93
+ ESNEXTとして提案されている物に全てのコードが過去になる程の革命的な構文がいくつも眠っています。
94
+
95
+
96
+
97
+ 構文増えただけで良いことじゃん!いやいや、そう単純ではありません。
98
+
99
+ 既存の書籍やブログ記事ので紹介されているコードがすぐに過去のものになり、
100
+
101
+ 新しいブログ記事でこの書き方はバグを呼び込むので辞めましょうと説かれる始末。
102
+
103
+ 古い書き方してる不勉強や老害は○ねとか思われちゃうわけですよ。
104
+
105
+
106
+
107
+ JS、ES、Node.jsの世界を行ったり来たりして勉強し続ける必要があり、
108
+
109
+ 記事(と対象のJSのバージョン)によって書いてある事がまるで違うので勉強は捗らないでしょう。
110
+
111
+ この辺の事情がバックエンドエンジニアとしてNode.js使いを目指した時のツラミとして出て来るでしょう。
112
+
113
+
114
+
115
+ > Perl
116
+
117
+
118
+
119
+ PerlはWebサーバとしての利用は廃れているのでオススメ出来ません。
120
+
121
+ 2000年以前は動的なWebサイトを構築する場合、Perl+CGIという構成が一般的でしたが、
122
+
123
+ 2000年に楽天がPHPを採用した辺りから一気にPHP人気に火が付き、その役目はPHPに取って代わられました。
124
+
125
+
126
+
127
+ 別にWebサーバ利用でPerlという言語が他のスクリプト言語に劣っているわけではありません
128
+
129
+ (前の回答で劣っていると言いましたが訂正しておきます)
130
+
131
+ Sinatraクローンから成長したWebフレームワークは存在しますし、案件も探せばボチボチあります。
132
+
25
- 難解な記号が多く覚えるが辛い代わりにコドが簡素にりますし、古い旧式Linuxにもデフォルト入っていので、書たコードは何処に持っていっても動作ます
133
+ ただし、多くのベンチャ企業やSIerなどなど…新卒エンジニア向けPerlを教え企業はほぼ皆無といってょう
134
+
135
+ ゼロから覚えてバックエンドエンジニアを目指すとすれば向いていないと判断せざるを得ません。
136
+
137
+
26
138
 
27
139
  第二言語としては良い選択肢でしょうね。
28
140
 
141
+ コマンドの出力結果をパイプで繋いで、ワンライナーのperlで加工する凄腕エンジニアが居ますが、その人の生産性は群を抜いています。
29
142
 
30
143
 
31
- さて、RubyやPythonが選択肢から削られた理由はなんでしょう?
32
144
 
33
- WebサーバとしてApacheのおまけでポンと動くPHPは楽ですが、バックエンドエンジニアの仕事は他にもスクリプト言語としてLinuxを弄り回す仕事があるので、
34
-
35
- エンジニアとして大成したければPHP1本で最後まで通す事は困難です。
145
+ ---
36
-
37
- (まぁスクリプト言語はPHPのみ、それとは別にコンパイル言語としてJava・C・Go等を覚えているという人ならば大丈夫でしょうね)
38
146
 
39
147
 
40
148
 
@@ -48,21 +156,23 @@
48
156
 
49
157
  もし一つの言語が飛び抜けて優れているならその言語以外はすっかり廃れているはずでしょう。
50
158
 
51
- 選択肢が複数ある時点でちょっと得意不得意が違う程度の団子状態であり、
159
+ 実際にはちょっと得意不得意が違う程度の団子状態です。
52
160
 
161
+ そもそもスクリプト言語というのはすぐ動作させて確認出来る、1つの用途に特化している言語です。
162
+
53
- 一つの言語しか扱えないエンジニア脆さよくわかります。
163
+ それ以外のモノに当てはめて何でもかんでも一つのスクリプト言語で頑張るは無理ります。
54
164
 
55
165
 
56
166
 
57
- また、メジャーな言語には何かしらの覚えべきメリットがあって
167
+ また、メジャーな言語には当然オススメ出来るメリットがありますが
58
168
 
59
- マイナー言語にも一定ファンが付いていから存続しているわあり
169
+ マイナー言語にも何人もジニア崇拝すの意味がちゃんとあります。
60
170
 
61
- メジャー言語決して負けないメリットがある代わりに、難解だったり学習コストが高ったりする等のデメリットがあります。
171
+ ただ、その分マイナー言語はマイナーである原因例えば難解学習コストが高いといったデメリットは存在します。
62
172
 
63
173
 
64
174
 
65
- 例えばPerlはマイナー言語の代表で、覚えるべき記号やお約束ごとが多すぎる言語で現在では廃れてると言って良い程です。
175
+ 例えばPerlはマイナー言語の代表で、覚えるべき記号やお約束ごとが多すぎる言語です。
66
176
 
67
177
  しかし、Perlをマスターした人間はこの大量の記号を駆使して簡素なコードで表現でき、「えっ、PHPで20行のコードがたった5行!?」みたいな実力を発揮することもあります。
68
178