2014年、どの新しい技術を学ぶべき? 81
ストーリー by headless
学習 部門より
学習 部門より
本家/.「Ask Slashdot: It's 2014 — Which New Technologies Should I Learn?」より
私は15年ほどソフトウェアエンジニアとして働いているが、ほとんどはLinuxベースの小規模な組み込みシステムの仕事で、開発にはC言語を使ってきた。C言語がすぐになくなってしまうことはないことはわかっているが、おもしろそうな仕事や小さな会社での仕事では、Webやモバイル関連の知識を要求するものも多く、自分でも興味がある。しかし、新しい技術は数多くあり、どれに自分の時間を使えばいいのか決めかねている。おすすめなのはどれだろう。Web/モバイル関連の仕事をするのに必要最小限の「新しい技術」は何だろうか。
新しい技術かー (スコア:3, すばらしい洞察)
僕は古典のアルゴリズムとか数学とか、基礎素養をもっと増やすべきだとおもうなー
新言語とか新フレームワークって使い方を覚えるものだけど、作りの根底を理解するのはもっと基礎の部分だと感じるんだけど、ちがうん?
はやりの関数型言語だってλ関数の事を学べば言語に依存しないよね?
老齢のエンジニアの人がその年齢でも最先端のエンジニアでいられるのは基礎の厚みが違うからだよね?
もちろん発想とかもあるんだろうけど、偉い人が言っていた99%の努力の部分ってここだとおもうのだなー
#世の中、学歴を吹聴する人ほど最終学歴の知恵どまりだったりするしねー
Re: (スコア:0)
それ本当は努力が大切って意味じゃないらしいけどね。
履歴と技量見ないと何とも。ですね。 (スコア:3)
携わってきたシステムに近い何かに取り組むのか、まったく無縁の何かを始めたいのかよくわからず。ですね。
カーネルサイドやRTOSの処理をほんの少しカスタムしてきただけで標準Cも組めないひどい人から、半田鏝工作からまっとうなNW管理者まで業務でこなす方までいたので、何とも言えず。
後者に引っかかるレベルであれば、余裕次第ですがOJTでどうとでもなるしなぁ。と思えます。
15年もやっていればシェルくらいは書けないわけないので違うかもしれないけど、
本当にC一本槍の組み込み屋さんで、他の言語見向きもしていなかった方であれば、
適当な動的言語と出来れば、で、Javaの二つをさらっと覚えて、
興味ある題材選べばいいんじゃないかな。と思います。GUI手出ししていなければGUIのある何かを選ぶ、とか。。
うじうじ悩んでないではよ作れ (スコア:2)
だから言語は別にPHPでもRubyでも何でもいいけど、フレームワークでサクッと作れるのがいんじゃない?
という訳で、元記事の質問者に回答するとしたらこんな感じになるんかね?
以下手順を参考にはよ作れ
1.WMwareとCentOS落としてきて仮想鯖作る
2.適当なフレームワークぶちこむ
3.Welcomeコントローラを改造してなんか(とりあえずブログ)作る
4.魔改造→Wikiパーサ付けたり、RSS出力足したり、Ajaxでの動的読み込み等
更に興味が湧いたらJavaScript→jQuery→AngularJSの順に覚えるとか、
HTML5のCanvasやWebSocketを覚えると楽しいと思う
Re:うじうじ悩んでないではよ作れ (スコア:2, 興味深い)
なんか本に書いてあったのを実践してみたい願望にか見えないけど
単語を並べてるだけで中身がぐちゃぐちゃですな。
PHP関連ですが学ぶだけなら仮想にせずにそのまま動かした方が早いですよ。
Macなら既に入ってますし、
WindowsならIIS設定して、ルートにPHPのフォルダー作っていれればいいだけ
RSSは単にXMLで出せばいい話しなのでパーサーなんてもんはブラウザ側でなんとかするものですよ。
wikiにどうにかするならMySOLにアクセスするように作った方が早いかもしれませんよ。
OSXでPHP
http://www.futomi.com/lecture/macosx/php.html [futomi.com]
PHP For Windows
http://windows.php.net/download/ [php.net]
#WindowsはNon Thread Safe を選択してください。
細かい設定は面倒なのでWEBで検索してください。
新規性のアイディアを望むならiPhoneの開発して方が一番いいと思いますよ。
何せチェックが4Sと5Sで作動チェックするだけで終わりですし
それがレファレンス機ですからね。そしてあわよくばそのまま公開して小銭を稼げます。
Androidではお勧めしません。
作ってみればわかるのですが、基準(nexusはじゃないですよ、
ソフトは標準的なスペックにをターゲットにしましょう)がありません。
複数解像度対応と、カメラ機能ががバラバラ、
一番厄介なのはメモリー不足の問題ですね。
APIレベル(API8とか)を下げて作動範囲を広げようにも
2.Xのタブで動いてもスマホ(携帯ね)じゃ動きません。
小銭を稼ぎたいなら確実にiPhoneが楽ですよ。
#作ってみてるのででAC
スマホの開発してもiPhone/Androidにしても
PHP関連のwebアプリにしてもしてもOSXで始めるのが一番楽ですよ。
MacでAndroid開発の場合USBドライバーが不要(NECのMEDIASだけ問題があった。
結果的には使い物にならんかったスマホだが)
Re:うじうじ悩んでないではよ作れ (スコア:1)
USBドライバーはそもそもいらん、Androidの開発はlinuxが一番楽で安い、解像度云々は、iPhoneもAndroidも標準のフレームワークがクソだというだけ。
今はまともなフレームワークが対応するようになったんであんまり問題にならない。
Re:一石投じてみたかった (スコア:1)
■何故こんな結論に至ったのかという理由
質問者さんはLinux+C言語に関して15年業務で触ってるという点から、
共通点のあるLinux鯖をなら最初の環境構築が捗りそうだと考えました。
別に仮想鯖である必要は微塵もなかったですね…
ブログにした理由は、0から作ると色々覚えるからです。
管理者アカウントで記事を打ち込む、入力内容をPOSTで飛ばして、サーバーサイドで受け取って、MySQLなりに詰め込む
一般ユーザーはその記事を一覧として表示→詳細リンク押下で記事が表示→DBから取得したデータを展開してHTMLとして吐き出す
手際が良ければここまでで1~2週間でいけそうです。
「最低限の技術」とやらの設定値はとりあえずここに定めました。
それ以降は読みなおしましたが完全に蛇足ですね、一応興味が湧いたらどうぞ的に書いたのですが…
RSSに出力するためには、フォーマットを知る必要があるから自然と覚えるよね~という風な感じで。
ブログでWiki的な書き方はLivedoorブログで実装されているようなので書いてみました。
■iPhoneの開発の方がいいよ
これに関しては完全に私の解釈が「Web」/モバイルになってました。
当然ただのブログでは金は取れません。
質問者さんの求めている終着点もWebやモバイル等で「仕事していく為」に必要最低限な技術は何?ですね。
書かれていた内容を読みましたが全面的に同意します。
確かにクライアントが多種多様なWebサイトより、iPhoneの方が楽で必要最低限の技術に合致しそうです。
なんかFullHDのiPhoneが出るかもしれないみたいな噂が出てますが気になりますね。
最後になりますが、知識の浅さを露呈してしまうような拙いレスに付き合ってくださってありがとうございました。
Re: (スコア:0)
vmwareはvpsを提供する側が考えることでしょうね
開発ようならxampp入れれば済むし
Re:うじうじ悩んでないではよ作れ (スコア:1)
というのには反対。
そういうのは素人の妄言だからね。
Re: (スコア:0)
同意。
実際、案件ってよほど上流にいないと使う言語やフレームワークの決定権すら無いからね。
末端の多くの技術者は、決められてきた言語やフレームワークを使うだけだし。
>Webサービスってのはアイデアを形にする速度が第一だと思ってる。
>だから言語は別にPHPでもRubyでも何でもいいけど、フレームワークでサクッと作れるのがいんじゃない?
>という訳で、元記事の質問者に回答するとしたらこんな感じになるんかね?
なんて言ってできるのはプログラマではなくてアマグラマだけでしょうよ。
Re: (スコア:0)
質問者は日本に住んでる人じゃないよ。
Re: (スコア:0)
別に会社の従業員として仕事をすると思ってるわけじゃなければ、別にどうでもいいのでは?
自己実現の一つとして何か作りたいなーぐらいだったら、何だってやればいい。
会社から決めてなんとか...とか考えてるんだったら、その会社で使っているものを学べばいいし
#しかし、そんなものは当てにならないので筋が悪い
最終的に会社を通して仕事をするにしても、スキルを見せる実物(実績)がなければ話しにならないでしょ。
元コメントのサーバつくって...というアプローチもちょっとずれてるかも。公開用のプラットフォーム(GAEとか)に適当に目星をつけて、
必要ならそれに合わせてローカルに環境作って....かな。
それ以前に基礎からやる必要があって、感触を得るぐらいだったらローカルで作ってというのもありかな。
#それも、遠いなあ
告白すると (スコア:1)
フレームワークがイマイチ理解出来ない orz
# いや上っ面の説明は良く見聞きするんだけど・・・
Re:告白すると (スコア:1)
いろいろあるが、楽をするために苦労を(規約・契約・制限)受け入れるものかな(ただしプログラミング言語ではない)。
「ここにこういう風にルールを書いておくと、裏でかってにこの機能とこの機能の架け橋を作ってくれる。たしかにつながっている、しかしどうしてつながったのかはパッと見わからない。」
タネも仕掛けもある。そういう意味では手品のようなもの。
なかを見てみると割と泥臭い事していたりもするしね。
Re:告白すると (スコア:1)
夏にコンビニで売ってたりしますし、大会もよくあります。
あと、/.でAC、もしくは特定IDの発言見てるとよく出てきますよ。
それ、Flame Workや
#しかし、ここ最近、炎上狙いのコメント増えた。1月はセンター試験で投げた奴で/.が荒れるぞ〜荒れる荒れる荒れるぞ〜/.が荒れるぞ〜
##12月分はさすがに思いつかん
Re:告白すると (スコア:1)
もしかして fire work ?
Re:告白すると (スコア:1)
燃え上がるなら flame up かと思ってた、 flame work なのか(英語苦手
Re:告白すると (スコア:1)
フレームの元の元ですね。
「夏にコンビニで売ってた、大会もある」と work って単語で fire work に誘導されてました。
#その昔確か Fireworks と Waterworks ってLDがあって割と好きでぼーっと見てた。
Re: (スコア:0)
そうなんだよね
とりあえず、ちょっとだけ触って見ようと思っても
どのフレームワークが良いのかとかの情報すら少ないから、ワークフローすらつかみにくいっていう・・・
Re:告白すると (スコア:1)
oilコマンド入れて叩くだけで空のプロジェクトが出来て動くという手軽さが良かった。
自作の関数やクラスはFuelPHPの規則にしたがって名付ければ
オートローダーで読み込んでくれるよーって感じですね、クラス名が縛られる程度なんでゴリゴリ書けます。
例:Model_Hogeを呼び出す→/furl/app/classes/model/hoge.phpを読みに行く
ワークフローを掴みたいなら公開領域のindex.phpを読むと理解しやすいと思います。
Hello World程度ならどのフレームワークも1日程度で動くので、
「あれこれ想像するより動かしてみようぜ」的な意味も含めての元レスだと思ってください。
Re: (スコア:0)
Web系は遊びたいときだけ
プラットフォームまちまち言語に準拠した環境もまちまち
覚える言語はいくつもある上に流行り廃りが激しい
そのうえ単価が安く評価も低い
使い捨て要員向け
仕事or会社を限定するの? (スコア:1)
Web/モバイル関連の仕事はもう普通になった。とくに必要最小限といわれる無いとおもう。
新しい技術に触れるならそろそろ仕事を変えたほうが良いかも。
小さい会社にいるなら会社を変える方向で。
Re: (スコア:0)
15年も組み込みやってた質問者が、これまでの全てを捨ててWeb系にやってくる必要はないと感じます
そんなことされても、誰が嬉しいのかという。。
ATS言語ですね! (スコア:1)
そうだな (スコア:1)
つぎはTizenアプリの開発とか勉強するといいよ
リーズナブルな価格の端末で新興国市場を狙うらしい
Re: (スコア:0)
流石にそれはないな。
アフリカ版のWindowsPhoneでもネットで
購入した方がまだマシじゃないのですか?
世界のAndroidがまともじゃないので
粗新興国向けWindowsPhoneも駄目かもしれない。
アプリ開発でまともな端末は現時点ではiPhoneしかないですよ。
開発でネックになるのはOSのバージョンではなく
端末のフリーエリアの量で決まります。
ハードは1種類の方が理想です。
バラバラハードの場合ソフトで対応できる限界を越える場合があります。
独自機能が多ければ多い程アプリ開発は不向きな端末になるでしょう。
(初期化手続きが端末共に微妙に異なる為に共通で動くソフトになりにくい
Re: (スコア:0)
日本のようなダンピングもしないでiPhoneが新興国市場でバカ売れ? それこそねーわ。
Re: (スコア:0)
一番ありえないだろ。
新興国市場でFirefoxOSに対抗できるとは思えない。
Android税で資金が潤沢なWindowsPhoneが0円端末で配られてるし。
新興国で有料アプリというビジネスモデル自体に無理がありすぎるから最終的にはFirefoxOSかそれに近いのが主流になるんじゃないか?
Androidの軽量化も進んでるし。
どこかにニッチ市場を探せば脈もあるだろうけど、今の路線では先はないよな、Tizen。
Re: (スコア:0)
縦読みに気がつかない連中が釣れてるなw
さすがスラドw
Re: (スコア:0)
ね
こ
だ
い
す
き
Re: (スコア:0)
ちょっと 2文字だけのコレで縦読みでした
つれました~。なんのいうのはちょっと
てきびしいんじゃないかね。
ところでこれじゃあいうえお作文だったわ。
C++ (スコア:1)
でいいんじゃないの。iOSでもAndroidでもアプリが作れるし。Cから移行しやすいから、フレームワークの学習に時間をかけられる
昨日丁度 (スコア:0)
Angular JS + Django on Google App Engineはじめました。
なかなか凄い。Google App Engineの有料オプションは割高だとは思うけど。
元記事の質問者のC使いは新しい技術よりまず (スコア:0)
脳内データベースをアップデートしてC11とC++11に追随するように
Re: (スコア:0)
Cが今後も必要とされ続ける領域において必要なのはC89とかK&R Cであって、C11やC++11は「新しい技術」に属する。
Re: (スコア:0)
そろそろいい加減C99は普及すべき。最近MSVCも重い腰を上げて対応し始めたし。
Re:元記事の質問者のC使いは新しい技術よりまず (スコア:1)
restrictedポインタはそういう分野においても有用な、いかにも「Cらしい」新機能だね。
Ceylonがいいように思う (スコア:0)
goやらDartやらscalaやらcoffeescriptやらよりjava代替としてもjavascript代替としても筋が良さそうに思うんだけど、どうなん?
Re: (スコア:0)
代替なんかいらん。
好むと好まざると、JavaScriptは避けて通れないんだから。
まずはそこからだろ。
Re:Ceylonがいいように思う (スコア:1)
結局何を提案しても、IE8~9対応っていう大きな壁がある以上JScriptからは逃げられない
Ceylonから吐き出したJavaScriptがIE9で動かなくて…となる未来が見える
前提として使えるブラウザを縛ってもいいなら代替言語はありだと思うかなぁ
Re:Ceylonがいいように思う (スコア:1)
IE9ってES5準拠じゃなかった?(strict modeと若干のバグを除けば)
広く浅く (スコア:0)
組み込みでCとかが長いなら、様々な技術、例えば言語とかが中でどんな処理をしているかがわかるんじゃなかろうか。
だったら、色んなものをかじって比較してみると面白いんじゃなかろうか。
そうすると、今回のような質問に答えられる人になって重宝されるでしょ。
言語よりも (スコア:0)
「リーダーとしてメンバーを指導・管理する技術」 をもつ人材の方が需要あるんじゃないかな...
Re: (スコア:0)
いや、言語だよ。言語。
中国語、ヒンディ、ロシア語....。それぞれの国で使われている言語をそれぞれマジで使えるなら、重宝されると思うなあ。
技術者系は英語で済みそうだけど、それ以外を含めると全部英語で済むかはわからんし。最悪、ローカライズでつぶしが効くと思う。
#インドを極めようとしたら死ぬかもしれんけど。
Re: (スコア:0)
技術力が伴わないと部下は面従腹背状態になるので「技術よりマネジメント」「マネジメントを裏打ちする技術力」というデッドロックに
マゾならHaskell一択 (スコア:0)
怖い人たちが寄ってたかって袋叩きにしてくれます
新しい「道具」の間違いでは? (スコア:0)
新しい技術は自分で作るものじゃないのかな?
知られている時点で、新しい技術と言えるかどうか微妙。
イラスト (スコア:0)
サッと絵を描けるか、描けないか。なにか説明するときに大分差が出るんですよねぇ。
HTMLだろ (スコア:0)
何はともあれWebならCSSやらJavaScriptの前に必要になる土台。
jQueryとかもいいけど、ろくにHTML仕様も読まずにJavaScriptで勝手属性追加して動かしているやつ
それレガシーIEでしか動かないからね。
あとはC#行けばいいんじゃないかと思う。
BASIC (スコア:0)
間違って本家みちゃったらBASICってあった。+5だった。2つとも。
それないわー
って、BASIC違いでした。
まずはhttp。そしてwebサーバ。
まあ、その先は、PHP, VB.NET, Java派とjavascript/jquery, php/python/ruby派に分かれてたみたいだけど。
たしかにね。
特定の何かを使いこなすより、広く知ることが大事なんだろうと思います。