2017年に学習する言語を選択する方法

Netologyブログ専用の編集者Olga Evsikovaは、学習する言語の選択方法を説明しました。



画像



開発者になるには多くの理由があります。 プログラマーは大金を稼ぎ、新しい製品を作り、世界を変えます。 それらの1つになりたいという欲求に燃えていますが、最初の一歩を踏み出す方法がわかりませんか? この記事は、それを理解するのに役立ちます。



評価を見てください



PYPLレーティング



PYPL(プログラミング言語の人気)評価システムは、Googleの教材の検索クエリの数に基づいています。 彼らは、GitHubと協力して、2017年のトッププログラミング言語を作り上げました。



この評価から言語を選択すると、常に利用可能な教材と学生の活発なコミュニティがあることを確認できます。



画像



2005年以来、Javaは世界で最も人気のあるプログラミング言語です。 過去5年間、 Python言語に最も関心が寄せられており、 PHPは人気を失いつつありますが 、追跡者C#に劣っていません。 上位言語には、JavaScript 、C ++、C、R、Rubyも含まれます



TIOBEインデックス



プログラミング言語の人気を評価する別のシステム-TIOBEは、Google、Baidu、Wikipedia、Yahoo、およびYouTubeでの検索の頻度に基づいて形成されます。



画像



再びJavaがリーダーになりましたが、 Pythonは4番目の位置にとどまり、トップ10のJavaScriptであるPHPを閉じました。 そして、20が始まります-Ruby。



方向を決める



作成するソフトウェア製品に基づいて言語を選択します。


ウェブ開発



これは、Webサイトとアプリケーションを作成するプロセスです。 ソーシャルネットワークからスポーツクラブのランディングページまで、何でもかまいません。



外部部分のWeb開発は、 フロントエンドと呼ばれます。 最初に、 HTMLマークアップを使用してページが作成されます 。 このマークアップがページの構造を担当します。 次に、カスケードスタイルシートを使用して、作成されたページの外観が変更されます。CSSと対話機能がJavaScriptに追加されます。



バックエンドはバックエンドです。 ここでは、インターフェイスとの相互作用のすべての魔法が発生し、多くの場合、サーバー側での作業の結果のみが表示されます。 サーバーでの作業の重要な部分は、データベースを使用する機能です。 この分野に興味がある場合は、SQL、MySQLデータベース管理言語を自由に習得し、Oracleフレームワークに精通してください。 バックエンドは、Ruby、 Python 、Java、 PHPで記述できます。



複数のデータセンター、サーバー、およびこれらのサーバーの相互作用システムの運用をサポートする必要があるため、大規模なリソースは常に複数のツールを使用します。 これは、プログラマ、エンジニア、システム管理者などの大規模なチームの成果物です。 そのため、ソーシャルネットワークVKontakteは、作業を高速化するために、元のPHP言語をC ++に変換するFacebookの翻訳者HipHopを使用しました。 VKontakteは後に独自のトランスレーターを作成し、Kitten PHPと呼びました。



モバイルアプリ



独自のプロジェクトを計画している場合は、ターゲットユーザーが使用しているオペレーティングシステムを見つけることが役立ちます。 しかし、開発を求めるプロジェクトは、1つのプラットフォームの範囲を超えています。



iOSシステムでの開発では、SwiftとObjective-Cで記述します。 Android、Java、C ++の場合。



画像

Google Playマーケットのモバイルアプリ。



デスクトップアプリケーションまたはデスクトップ



これは、モバイルアプリケーションのデスクトップバージョンである可能性があります。 たとえば、Viberメッセンジャー。 または、モバイルアプリケーションがまだあまり普及していないときに作成されたSkypeビデオ通話サービス。 一般に、ラップトップまたはコンピューターから実行できる日常的なタスクのプログラム。



Windowsの場合、C ++、C#、およびJavaで記述します。 Mac OSの場合-Objective-C。 Linux開発では、CおよびC ++で記述します。



画像

App Storeのデスクトップアプリ。



ゲーム開発またはゲーム開発



ゲームを作成するには、ゲームをプレイするだけでなく、作成の機能を理解する必要があります。 このgamedevは他の領域とは異なり、別のカテゴリに割り当てられます。



Android用のモバイルゲームは、JavaおよびC ++、iOS用-SwiftおよびObjective-Cで記述されています。 ソーシャルネットワークでブラウザベースのオンラインゲームをプレイできます。 ここでは、 JavaScript + HTMLまたはFlashでのWeb開発の知識が必要になります 。 コンピュータゲームは、多くの場合C ++で記述されています。 この低レベル言語は、複雑なものを開発する場合に最適です。



画像



世界で最も成功したゲームの1つ-MinecraftはJavaで書かれていますが、C ++で書き直されたAndroid専用です。



また、Unity(C#およびJava Script)やUnreal Engine(C ++)などの特別なゲームエンジンを使用してゲームを作成します。 ゲームを作成するプロセスを簡素化し、Mac OS、Linux、Windows、PlayStation、Xboxで2Dおよび3Dゲームを作成できます。



ビッグデータ



ソーシャルネットワークとメディアは、サーバーストレージに何年も蓄積され、流れ続けているデータを効果的に使用する方法を検討しました。 大量のデータを使用すると、ユーザーがサービスとどのように対話するかを見つけ、状況をシミュレートし、予測を行うことができます。



ロシアでは、 ビッグデータ市場が台頭していますが、銀行や通信会社はすでに大きな関心を示しています。 新しい専門職が登場しました- データアナリスト 。 大量のデータを処理するために特別に設計されたRなどのプログラミング言語があります。 また、 Python 、C、Java、Scalaも使用します。



画像

MegaFonとStrelka Instituteによる調査でのビッグデータ。



市場を評価する



プログラミングが単なる趣味ではない場合、開発者の給与のレベルを事前に評価することをお勧めします。 インターネットでは、さまざまな統計を見つけることができます。 たとえば、そのような。



画像

マイサークルデータ。



統計によると、最高の有給プログラマーは、平均して、モバイル開発またはソフトウェアに従事しています。 それ以外の場合、プログラマーの収入が8万ルーブル未満になることはめったにありません。 たとえば、分析会社App Annieのレポートによると、2017年のモバイルアプリケーションの世界市場は28.6%成長し、1,660億ドルに達すると予想されています。



しかし、多くの場合、1つのプログラミング言語では十分ではなく、潜在的な雇用者は複数の言語とフレームワークの知識を必要とします。 これは、1つの部分のみが1つの言語で記述され、残りの部分が他の言語で記述されるためです。



好きなものを選択してください


選択したプログラミング領域に関係なく、言語を気に入るはずです。 試してみてください。



All Articles