フリーランス・フリーエンジニアを手数料なしの先出し、即日面談、継続的な案件紹介などでサポート


IT案件情報のナイス案件
お問合せ 平日10時から18時
03-6455-1109



2019.06.18 更新 現在8,385案件
※只今、毎日リアルタイム案件をSNS配信中!
ライン インスタグラム フェイスブック ツイッター
まずはサクッと
30秒簡単登録

2019-06-06
新着
エンジニアとしてのキャリアプラン  ~2つ目にマスターしておくとよい言語とは?(参) Scala ~


さて最終回、今回は少し毛色が違って、言語種別による選び方です。
少し考え方としてはテクニカルになるかもしれませんが、いま主なプログラミング言語には手続き型言語、オブジェクト指向型言語があり、エンジニアの皆さんの得意な言語は大体どちらかに入ってきたわけです。

だから手続き型言語はCとかCOBOL、VB、PHPなど手続き呼び出しという形で構造化されているプログラミングです。
一方オブジェクト指向はデータとコードを単位としたオブジェクトにより構成されるプログラミングでこれはJavaとかC++、C#、JavaScript,Python,Kotlin,Swiftなどです。

やはり時代の流行のようなものがあって、手続き型-->オブジェクト指向という形になってきたのはあります。その過渡期いは手続き型しか知らない人にはオブジェクト指向の言語を何とかマスターしたいというのが当時あったと思います。C++とかSmalltalkとか難しいのばかりでした。
そのころJavaという言語ができて一挙にオブジェクト指向はメジャー化しましたね。いまはPythonやKotlin のようにもっと学びやすい言語がでてきました。

そしていま第三の波という形で関数型言語です。といっても今メジャーなのはScalaだけですかね。JVM上で動く関数型言語です。

オブジェクト指向がモノに着目して、その属性、操作によって記述するのに対して、関数型は全てを関数とみなし、関数をひたすら積み重ねていく形になります。
昔々LISPという言語があり、AIの父マッカーシーによって開発された当時のAI開発に使われていた言語でした。LISPこそが関数型言語の開祖といわれており、数理論理学、コンピューターサイエンスをやった方なら覚えているかもしれませんが、ラムダ計算という考えがもとになっています。

その関数型言語がホットな訳です。
現金な話でスミマセン。
Scalaは毎度お世話になっています2018年言語別収入ランキングではGoについて2位となっています。



Haskellのような「純粋」な関数型言語に比べると・・・という声もあるのですが。

なぜScalaがこのように高くなっているかというと、エンジニアが凄く少ないということがあります。実際に知名度はそこそこあるのですが、対応できるエンジニアは本当に少ないのです。やはり関数型言語という考え方の部分にハードルがあるようで、なかなかトライする人が少なく、需要に供給が追い付かないのです。
これは世界的に見て同様なようですよ。Pythonとちがってこれから旬、しかも学びやすいというわけではないのですね。

需要という意味ではWEB開発に大きな威力を発揮しているようです。あと企業でも例えばTwitterやLinkedInはScalaで多くの部分開発されています。

このハードルはいってみれば手続き型言語しか知らない人が、初めてオブジェクト言語を学んだ時の様、といった感じでしょう。

先ほど非純粋関数型と書きましたが、ScalaはJavaの上位互換とかオブジェクト指向のハイブリッドという人もおり、Haskellと違う扱いする人も多いようです。しかし、Javaなどのオブジェクト指向型言語を学んだ人にとても良い入口になっているようで、関数型言語の中ではもっとも学びやすいものといえるでしょう。

関数型言語なんか知らなくてよいよなんて言う人もいるでしょうが、先ほど書いたようにWEB系エンジニアで関数型プログラミングは必須になるという人もいます。




単に需給関係で難しい考え方をマスターする意味はないでしょうが、或る分野で
その考え方が主流になる可能性がある場合、早めに取り組むのは先行者利益が
ありそうです。しかも考え方という部分で少しハードルが高ければなおさらです。

検討されてはどうでしょう。勿論それぞれのキャリアプランに合わせてですよ。

今回の特集色々紹介しました、正直エンジニアさんは色々可能性があって楽しいそうだなんて思ってしまいます。エンジニアの曲がり角は40代です。それまでに自分がこれから何をしたいか考えましょうね。

フリーワード検索

種類・系から検索
Web(2642)  オープン(2268) 
その他(1210)  インフラ(934) 
汎用機(626)  スマートフォン(556) 
ネットワーク(551)  DB(450) 
組込・制御(360)  新人案件(341) 
クリエイティブ(232) 
言語から検索
Java(2090)  PHP(1031) 
SQL(962)  .NET(815) 
Javascript(813)  C#(729) 
COBOL(646)  VB(509) 
C(476)  C++(440) 
HTML(435)  PL/SQL(381) 
ASP(340)  VBA(314) 
Shell(CBK)(304)  Android(297) 
SAP(297)  Ruby(296) 
ポジションから検索
システムエンジニア(4820) 
プログラマ(4172) 
その他(989) 
評価テスト(837) 
運用保守(764) 
プロジェクトマネージャー(712) 
プロジェクトリーダー(549) 
ヘルプデスク(321) 
沿線から検索
※新着案件は沿線・駅名検索できます
東京都 次  神奈川県 次 
埼玉県 次  千葉県 次 
場所から検索
都心部(3398)  23区南部(1296) 
23区西部(1225)  23区北部(319) 
23区東部(288)  多摩地区(131) 
横浜市(249)  川崎市(109) 
神奈川他(212)  埼玉県(39) 
千葉県(41) 

詳細な案件情報検索