私が尋ねる最も一般的な質問の1つはこれです。
「2018年にどのプログラミング言語を学ばなければなりませんか?」
これは有効な質問ですが、あなたが達成したいことによって、答えは異なります。
「2017年のベスト・プログラミング言語」について、10,000人以上の読者が投票しました。
JavaScriptは圧倒的な勝者でした。ほぼ34%が2017年に学ぶ第1位のプログラミング言語としてJavaScriptに投票しました。次がパイソン、Javaと続きます。
2018年最も人気のあるプログラミング言語は?
TIOBE、Trendy Skills、PYPL、Indeed、Google Trendsなどのサイトでいくつかの調査を行い、業界の先駆者と話した結果、2018年に最も人気のあるプログラミング言語は、以下となりました。
- JavaScript
- Java
- Python
- TypeScript
- PHP
- Ruby on Rails
- Elixir
- Rust
- Go
- C#
- Swift
異なるサイトを見る場合、最も人気な言語のランクは、計算に使用するパラメータによって異なります。
たとえば、TIOBEのコミュニティインデックスによれば、Javaは2018年に最も人気のある言語であり、次にCとC ++が続いています。 (TIOBEインデックスは、25の検索エンジンとその最も頻繁な検索の結果を使用して計算されます.GoogleやYahoo以外にも、eBay、YouTube、Baiduなどがあります)。
あなたがPYPLを見ると、ランキングは異なります:
Javaは依然として一位ですが、PythonとPHPが続きます。PYPLランキングは、Googleで言語チュートリアルを検索する頻度を分析することによって作成されます。
ご覧のように、異なるアプローチは異なる結果につながります。
私の要点を説明する最後の例です。
Githubで使われている最も人気のあるプログラミング言語は次のとおりです。
Javascriptは一位、PythonとJavaの順に続きます。
ランキングは、あなたが尋ねているものと尋ねている人によって異なります。 トレンドデータを使用して次に学習するプログラミング言語を決定する際に留意すべきことです。
ここからは2018年に広く使用されているプログラミング言語と、それらがどのように使用されているかを示します。
1.JavaScript
JavaScriptは、世界で最も一般的に使用されているプログラミング言語の1つです。
最近、ES6やES7などのJavascriptの改良が始まりました。
矢印機能
矢印関数は、関数を書くときに定型文を減らします。 特定の例を見てみましょう
// classic | |
var numbers = [1, 5, 8, 13]; | |
var doubledNumbers = []; | |
for (var i=0; i < numbers.length; i++) { | |
doubledNumbers[i] = numbers[i] * 2; | |
} | |
// functional | |
var numbers = [1, 5, 8, 13]; | |
var doubledNumbers = numbers.map(function(number) { | |
return number * 2; | |
}); |
矢印関数を使用してこの例を簡略化することができます。
// functional ES6 | |
const numbers = [1, 5, 8, 13]; | |
const doubledNumbers = numbers.map((number) => number * 2); |
オブジェクト/配列スプレッド
オブジェクトスプレッドは、既存の値を含む新しいオブジェクトを作成する方がずっと簡単であるため、オブジェクトの変更を避けることは非常に簡単です。例を示します:
// old school | |
var oldState = { email: 'foo@example.com', comment: 'i really like javascript' }; | |
var newState = {}; | |
Object.assign(newState, oldState, { ip: '192.168.5.87' }); | |
// with spread | |
const oldState = { email: 'foo@example.com', comment: 'i really like javascript' }; | |
const newState = { ...oldState, ip: '192.168.5.87' }; |
Async/Await
関数型プログラミングでも、副作用のある関数を呼び出す必要があることがあります。私たちがバックエンドと話しているとき。多くの場合、お互いに依存する複数のコールがあります。まず、コールバック地獄があります。そして今、Async/Awaitは、これらのことをさらに簡単にします。
各プログラミング言語をさらに詳しく説明するために、各言語のバブルソートアルゴリズムを紹介します。バブルソートはソートアルゴリズムで、隣接するアイテムを比較し、正しい順序でない場合はそれらを入れ替えます。
JavaScriptで書かれた有名なバブルソートアルゴリズムです:
function bubble(arr) { | |
for (var i = 0; i < arr.length; i++) { | |
if (arr[i] > arr[i + 1]) { | |
var a = arr[i]; | |
var b = arr[i + 1]; | |
arr[i] = b; | |
arr[i + 1] = a; | |
} | |
} | |
return arr; | |
} |
2.TypeScript
TypeScriptはJavaScriptにコンパイルされた静的型言語です。バージョン2.1には、オプションの静的型を使用したJavaScriptの新機能がすべて含まれています。その他のメリットとしては、コードやタイプミス、Async/Awaitなどのバグに対するより強力なチェックがあります。 Google Trendsによると、TypeScriptへの関心は絶えず高くなっています。
TypeScriptがどのように見えるかを説明するために、TypeScriptで書かれたバブルソートアルゴリズムを見てみましょう:
export function bubbleSort(array: number[]): number[] { | |
array = array.slice(); // creates a copy of the array | |
for(let i = 0; i < array.length; i++) { | |
for(let j = 0; j < array.length - 1; j++) { | |
if(array[j] > array[j + 1]) { | |
let swap = array[j]; | |
array[j] = array[j + 1]; | |
array[j + 1] = swap; | |
} | |
} | |
} | |
return array; | |
} |
3.Java
これは世界中でJavaを実行する1000万人以上の開発者と150億台のデバイスで使用されています。
Javaは、Androidアプリケーション、デスクトップアプリケーション、ゲーム、ウェブサイトコンテンツの作成に使用されます。
Javaをどのように見えるかを説明するために、Javaのバブルソートを見てみましょう。
public class BubbleSortExample { | |
static void bubbleSort(int[] arr) { | |
int n = arr.length; | |
int temp = 0; | |
for(int i=0; i < n; i++){ | |
for(int j=1; j < (n-i); j++){ | |
if(arr[j-1] > arr[j]){ | |
//swap elements | |
temp = arr[j-1]; | |
arr[j-1] = arr[j]; | |
arr[j] = temp; | |
} | |
} | |
} | |
} | |
} |
4.Python
Pythonは、オブジェクト指向の言語であるという意味で、PHPやRubyに似ています。これは英語によく似ていますので、初心者のための優れたバックエンド言語であり、Pythonでできる高度な機能を備えた経験豊富な専門家もいます。 Instagram、YouTube、Reddit、NASAのようなサイトはすべてPythonを使います。
Python 3.6.4は最新のリリースです。
Pythonがどのように見えるかを説明するために、Pythonのバブルソートを見てみましょう。
def bubbleSort(nlist): | |
for passnum in range(len(nlist)-1,0,-1): | |
for i in range(passnum): | |
if nlist[i]>nlist[i+1]: | |
temp = nlist[i] | |
nlist[i] = nlist[i+1] | |
nlist[i+1] = temp |
5.PHP
PHPは、最も一般的なサーバー側のプログラミング言語です。
これは、WordPressやFacebookやWikipediaのような大きなウェブサイトのようなCMS(コンテンツ管理システム)の基盤としてよく使われます。
PHP 7.1が最近リリースされました。
PHPで書かれたバブルソートを見てみましょう:
<?php | |
function bubble_Sort($my_array ) | |
{ | |
do | |
{ | |
$swapped = false; | |
for( $i = 0, $c = count( $my_array ) - 1; $i < $c; $i++ ) | |
{ | |
if( $my_array[$i] > $my_array[$i + 1] ) | |
{ | |
list( $my_array[$i + 1], $my_array[$i] ) = | |
array( $my_array[$i], $my_array[$i + 1] ); | |
$swapped = true; | |
} | |
} | |
} | |
while( $swapped ); | |
return $my_array; | |
} |
6.Ruby on Rails
Ruby on Rails(注目すべきフレームワーク)は、「jQuery for JavaScript」に似ています。
Rubyを使用するほうがはるかに簡単ですが、Railsを使用する前にRubyをよく理解しておくことをお勧めします。 Ruby on Railsが大きな人気を集めているのは、多くの企業(小規模および大規模)がそれを利用しているからです。一部の企業はAirbnb、Groupon、Twitter、Shopify、Basecampです。
Railsを進めるときにJavaScriptを使用する必要があるので、JavaScriptについてよく理解していることを確認してください。
Ruby on Rails 5.1.4が最近リリースされました。
Rubyのバブルソートを見てみましょう:
def bubble_sort(list) | |
return list if list.size <= 1 # already sorted | |
swapped = true | |
while swapped do | |
swapped = false | |
0.upto(list.size-2) do |i| | |
if list[i] > list[i+1] | |
list[i], list[i+1] = list[i+1], list[i] # swap values | |
swapped = true | |
end | |
end | |
end | |
list | |
end |
▼こちらの記事もおすすめです!
※本記事はWhich Programming Languages Should You Learn in 2018?を翻訳・再構成したものです。