プログラミングの専門家から直接:今すぐ学ぶのに最適な関数型プログラミング言語は何ですか?

著者: Laura McKinney
作成日: 5 4月 2021
更新日: 26 六月 2024
Anonim
最先端自然言語処理ライブラリの最適な選択と有用な利用方法 (池田 大志) [PyCon JP 2020]
ビデオ: 最先端自然言語処理ライブラリの最適な選択と有用な利用方法 (池田 大志) [PyCon JP 2020]

コンテンツ


取り除く:

ソフトウェア開発の専門家に、プログラミング言語の現在と未来について検討してもらい、優れたハイテク企業での重要な就職面接に進む前に検討するよう依頼しました。

2019年8月のTIOBEインデックスによると、Javaは、ほとんどのソフトウェア開発業界の専門家が注力している最高の機能プログラミング言語スキルです。 C、C ++、Pythonもそれほど遅れていません。

しかし、このリストは、Javaがあなたが始めたばかりのときに学ぶのに最適なプログラミング言語であることを必然的に意味しますか? (機械学習用の上位5つのプログラミング言語をお読みください。)

たとえそうであっても、PythonやGroovyのような他のプログラミング言語が、現在と未来の必須言語として突然大きな飛躍を遂げた場合、それを学ぶのは理にかなっていますか? TIOBEは、Groovyのランキングで31スポットのジャンプを反映しました(44位から13位まで)。

すべてのソフトウェア開発戦略の中で普遍的になる万能な言語がありますか?

これらの答えは、技術専門家に任せたほうがよいでしょう。

偉大なハイテク企業での完璧なインタビューに行く前に考慮すべきプログラミング言語の現在および将来についての彼らの考えを検討したいと思いました。

これが彼らの言ったことです。

Pythonは比較的新しく、大きな時間を費やしています

学ぶべきプログラミング言語はたくさんありますが、Pythonには最高の可能性があると思います。

バグやストレスなし-あなたの人生を破壊することなく人生を変えるソフトウェアを作成するためのステップバイステップガイド

誰もソフトウェアの品質に関心がない場合、プログラミングスキルを向上させることはできません。

Pythonは比較的新しく、大きな時間を費やしています。 VBAなどの言語は、使用できるアプリケーションに少し制限がありますが、Pythonにはより多くの機能があり、非常に汎用性があります。


ビッグデータテクノロジーの進歩に伴い、Pythonが最前線にいる可能性が高いでしょう。アプリケーションとデータを操作する能力があるためです。 DropBox、Instagram、IBMなど、多くの企業がPythonを採用しています。

Pythonで機能する主な要因の1つは、Javaなどの類似言語よりも学習しやすいことです。 (RとPythonの議論を読んでください。)

—Sumit Bansal、創設者、 トランプエクセル

Elixirは初心者の開発者に適しています

Elixirは、強力なコミュニティが背後にある若い関数型プログラミング言語です。 Elixirは、低レイテンシ、分散型、フォールトトレラントシステムの実行で知られるErlang VMを活用します。

コードは軽量の分離プロセス内で実行されるため、同じマシンで数千のプロセスを同時に実行できます。これにより、垂直スケーリングが可能になり、マシンのすべてのリソースが可能な限り効率的に使用されます。

Elixirコミュニティは2011年の最初のリリース以来着実に成長しており、現在ではDiscord、Pinterest、PagerDutyなどの企業で使用されています。言語自体に加えて、「プラグ」や「フェニックス」などのElixirベースのWebフレームワークは、コミュニティが成長するにつれてますます人気が高まっています。

Elixirは、高レベルの言語であるため、学習する最初の機能言語を探している初心者開発者に適しています。構文は、そのシンプルさと理解の容易さから、これまで人気のあった「Ruby」とよく比較されます。

意図的に非常に初心者向けであり、オンラインで確認できる学習リソースが多数あります。

-CTO、UkuTäht、 もっともらしい洞察

優れたPHP開発者が常に求められています

ハイパープリプロセッサ(PHP) Web開発でのキャリアを探しているなら、間違いなく学ぶべき言語です。Webサイトやアプリケーションを作成するための重要なコードです。 (PHP 101をお読みください。)


私たちはインターネットはしばらくの間存在するだろうと言っても安全だと思うので、素晴らしいPHP開発者であることは多くの扉を開くでしょう。 PHPは、ウェブサイトやアプリでより複雑な機能を作成するために必要なものであり、ウェブサイトのデザインや機能が複雑になるにつれて、PHPはすべてをスムーズに機能させるために必要なものです。

PHPの柔軟性は、さまざまなCMSプラットフォームとも互換性があることを意味します。そのため、プロジェクトでWordpress、Drupal、その他のオープンソースプラットフォームが必要か、カスタムCMSの統合が必要かに関わらず、スキルが必要になります。

優れたPHP開発者は常に求められています。つまり、自分に合った種類の雇用を柔軟に選択することができます。

もちろん、あなたの夢がAIまたは機械学習に入ることであるなら、これはあなたにとって正しい方向ではないかもしれません。しかし、Webサイトやアプリケーションの開発で働きたい場合、PHPは学ぶために不可欠な言語であり、信じられないほど雇用可能にする言語です。

—Mike Gilfillan、主任開発者、 Edge Of The Web Ltd.

Cがアイスクリームの場合、C ++を振りかけると考えてください

テクノロジーは常に進化しているため、それを操作する言語も進化しています。 C ++は、競争力のある技術の世界の一歩先を行きたい場合にお勧めするプログラミング言語です。Cは最も一般的に使用されるプログラミング言語の1つですが、C ++は上位バージョンです。

Cがアイスクリームである場合、C ++を振りかけると考えてください。C++はエクスペリエンスを向上させます。最初に基礎的なCを習得せずにC ++を学習したくないでしょう。アイスクリームとスプリンクルの例のように、自分でスプリンクルを楽しむことはできません。アイスクリームベースが必要です!

この言語を学ぶことで、あなたは多くの雇用オプションに自分自身を開放するでしょう。なぜなら、それはそのような広く使われている開発オプションだからです。

—Rachel Hoffman、主任Web開発者、 WebTek Computer Company

Scalaは、オブジェクト指向プログラミングと関数型プログラミングの両方の長所を兼ね備えていることで知られています

大規模なアプリケーションで機能的手法を採用することの目に見える利点は、過去5年間で業界の注目を集めました。モチベーションと意欲の大部分は、Google、Amazon、Microsoft、などのハイテク大手からもたらされています。

これらの企業は、現在の発祥の地であるか、最も人気のあるプログラミング言語のいくつかを支持していることで知られています。

C構文の言語に精通していると、雇用主は、母国語を使用して既存のチームとソリューションおよびアルゴリズムについて話し合い、議論するので、おそらくあなたはすぐにフィットするでしょう。

Java、C#、JavaScript、Swift、およびその他の言語はいくつかの機能構造を公開するため、従来の言語を使用していくつかの機能ツールを利用できます。

Scalaは、JVM上で実行されるプログラミング言語の例であり、オブジェクト指向プログラミングと機能プログラミングの両方の長所を組み合わせることで知られています。 Scalaは、依然として最も採用可能な関数型言語であるため、ヨーロッパまたはアメリカの大きなテクノロジーハブで関数型プログラミングを使用する場合に最適なオプションです。

関数型プログラミングの世界で人気のある他のオプションには、Microsoftが開発したF#があり、Microsoft固有のスタック、Haskell、Clojure、Elixirにも適しています。

-プログラミング教育プラットフォームの創設者、Gustavo Pezzi ぴくま

Javaは、特にAndroid開発において、絶対に学ぶ必要のあるプログラミング言語です

ハイテク企業の開発分野に参入したいと考えている人にとって、Javaは、特にAndroid開発にとって絶対に必要なプログラミング言語です。 (Javaがビルディングブロックとして他の言語よりも好まれる理由を読んでください。)

Kotlinはおそらく現在最も人気のある(トレンディな)言語ですが、特にGoogleはAndroidアプリ開発者にとって優先言語であると発表していますが、Javaはその言語の基礎となっているため、Javaの基礎を理解することは若い開発者に役立ちますKotlinも理解しています。

興味深いことに、JavaはおそらくKotlinよりも開発者に好まれていると思います。個人的には、これはKotlinが開発プロセスをより簡潔にする一方で、Javaの余分なコード行により、問題をデバッグするときに非常に有益になるすべてのステップで何が起こっているのかを確認できるという事実によると思います。

そうは言っても、Kotlinは簡潔な表現と抽象化だけでなく、改善された構文も導入します。 KotlinをJavaで使用すると、過剰な定型コードが削減され、Android開発者にとって大きな勝利となり、開発者は1つの統合開発環境(IDE)を使用してすべてのプラットフォームで開発できます。

—CTO、サンジェイマルホトラ、 Clearbridge Mobile

学習するのに最適な関数型プログラミング(FP)言語の選択は、コンで検討する必要があります。

学習するのに最適な関数型プログラミング(FP)言語の選択は、詐欺で検討する必要があります。

ソフトウェア開発には、3種類の関数型プログラミング言語があります。純粋に機能的な言語は、プログラム全体を数学関数のセットとして扱うHaskelとLISPによって表されます。

ただし、このタイプのFP言語は、カスタムソフトウェア開発ではあまり人気がありません。

次に、Scalaなど、オブジェクト指向プログラミング(OOP)とFPの両方を自然にサポートするマルチパラダイム言語があります。 ScalaはJVM上で実行され、Javaと簡単に相互運用できます(JavaライブラリはScalaから直接アクセスできます)。

Scalaは、Apache Sparkのベース言語であるため、ビッグデータ開発の分野で広く使用されています。 LinkedIn、Netflix、New York Times、eBay、Swiss Bank USB、およびCourseraは、開発プロセスでScalaを採用しています。

最後に、関数型プログラミングアプローチフレームワークを備えた幅広い言語セットがあり、このタイプは現在、ソフトウェア開発のさまざまな分野で非常に要求されています。

このセットからの言語の選択は、何に特化したいかによって異なります。たとえば、フロントエンド開発、Angular2 +およびReactが適切な選択である場合。 iOSの場合:Swift; Androidの場合:Kotlin。

—CTO、Boris Shiklo氏、 ScienceSoft

すべての言語には長所と短所があり、特定のユースケースに最適です

多くの人にとって、開発者が選択したプログラミング言語は、宗教や政治を選択するのと同じ意味を持ち、その選択を守るための同じ活力を持っています。

現実には、プログラミング言語には万能の選択肢はありません。すべての言語には長所と短所があり、特定のユースケースに最適です。

多くの場合、言語はトレンディであり、人々が誇張されすぎているか、テクノロジーのシフトにより関連性がなくなったと判断すると、最終的にはあいまいになります。私が1980年代に大学のコンピューターサイエンスの学生だったとき、パスカルは選択の教育言語と見なされ、最終的にC、Visual Basic、およびJavaに置き換えられました。

個人的には、Cはコンピュータープログラミングを学びたい人にとって優れた教育言語になると思いますが、それが唯一の学習言語であるとは思わず、プログラマーは見つけたユースケース/テクノロジーをサポートする言語の学習に努めるべきだと思います面白い。

—David Wood、社長/ CEO /創設者、 トロンデント開発株式会社