プログラミング言語比較

プログラミング

一覧

 状態:-  閲覧数:624  投稿日:2018-04-22  更新日:2018-05-08  

内容


クラス定義
継承
関数定義
変数定義
数字開始
if文
文字の連結
正規表現
Morris-Pratt algorithm border

クラス定義

 閲覧数:196 投稿日:2018-04-22 更新日:2018-04-22 

Java


classキーワード使用
public class MainActivity {
}

Kotlin


classキーワード使用
class MainActivity {
}


継承

 閲覧数:196 投稿日:2018-04-22 更新日:2018-04-22 

Java


extendsキーワード使用
public class MainActivity extends AppCompatActivity {
}

Kotlin


コロン使用
class MainActivity : AppCompatActivity() {
}

Go


存在しない

関数定義

 閲覧数:201 投稿日:2018-04-23 更新日:2018-04-23 

JavaScript


functionキーワード使用

Java


関数、メソッドを宣言する専用キーワードは存在しない

Kotlin


funキーワード使用
override fun onCreate(savedInstanceState: Bundle?) {
}

C#


関数、メソッドを宣言する専用キーワードは存在しない

変数定義

 閲覧数:187 投稿日:2018-04-24 更新日:2018-05-03 

Java


型名を変数名の前へ配置
String greeting = "こんにちは"

Kotlin


型名を変数名の後ろへ配置
val greeting: String = "こんにちは"
・自動的に代入される型を推論するため、下記でも可
val greeting = "こんにちは"

Go


型名を変数名の後ろへ配置
var 変数名 型名
var greeting string


数字開始

 閲覧数:199 投稿日:2018-04-25 更新日:2018-04-25 

PHP


数字開始「変数」
・×
$4k_shooting
・◯
$_4k_shooting
有効な変数名は、文字またはアンダースコアから始まる

MySQL


数字開始「カラム名」
内容に応じて異なる

数字以外も含む場合
・◯
4k_shooting
SELECT 4k_shooting FROM `status`

数字のみで構成されている場合
・条件付きで◯
※引用符で囲む必要がある
`4`
SELECT `4` FROM `status`


if文

 閲覧数:222 投稿日:2018-04-26 更新日:2018-04-26 

GO


条件部に丸括弧は不要
if a < 5 {}   // OK
if (a < 5) {} // NGではないが冗長


文字の連結

 閲覧数:204 投稿日:2018-04-27 更新日:2018-05-08 

Kotlin


String型の文字にInt型の値や変数を連結する場合
・$を使用して連結する
val sheepText = "ひつじが$1匹"
val sheepText = "ひつじが$sheepCount 匹"

あるクラスの値を連結する場合
・${}を使用して連結する
val sheepText = "ひつじが${sheep.count}匹"


正規表現

 閲覧数:213 投稿日:2018-04-28 更新日:2018-05-08 

Perl


言語そのものに正規表現が備わっているため直接プログラムに正規表現を書く

JavaScript


言語そのものに正規表現が備わっているため直接プログラムに正規表現を書く

PHP


「正規表現パターン文字列」を関数へ渡して処理する

Morris-Pratt algorithm border

 閲覧数:212 投稿日:2018-05-08 更新日:2018-05-08 

JavaScript


var S = 'aabaabaaa';
var A = [];
A[0] = -1;
var j = -1;
for (var i = 0; i < S.length; i++) {
 while (j >= 0 && S[i] != S[j]) j = A[j];
 j++;
 A[i+1] = j;
}
console.log(A); //(10) [-1, 0, 1, 0, 1, 2, 3, 4, 5, 2]


ECMASCript2015


const S = 'aabaabaaa';
const A = [];
A[0] = -1;
let j = -1;
for (let i = 0; i < S.length; i++) {
 while (j >= 0 && S[i] != S[j]) j = A[j];
 j++;
 A[i+1] = j;
}
console.log(A); //(10) [-1, 0, 1, 0, 1, 2, 3, 4, 5, 2]


C++


最初に0を格納
・10個指定
#include <iostream>
using namespace std;
#include <vector>
#include <string>

int main() {
   //vector<int> A = {1, 2, 3, 4, 5};
    vector<int> A = {0,0,0,0,0,0,0,0,0,0};

   //'aabaabaaa'
   std::vector<string> S = {"a","a","b","a","a","b","a","a","a"};

   // ここから
   A[0] = -1;
   int j = -1;
   for (int i = 0; i < S.size(); i++) {
         while (j >= 0 && S[i] != S[j]) j = A[j];
         j++;
         A[i+1] = j;
   }
   // ここまで
   
   for (int i = 0; i < (int)A.size(); i++) {
       std::cout << A[i] << std::endl;
   }

   return 0;
}

//-1
//0
//1
//0
//1
//2
//3
//4
//5
//2


・まとめて指定
#include <iostream>
using namespace std;
#include <vector>
#include <string>

int main() {
   //vector<int> A = {1, 2, 3, 4, 5};
   int A[10]={0};;

   //'aabaabaaa'
   std::vector<string> S = {"a","a","b","a","a","b","a","a","a"};

   // ここから
   A[0] = -1;
   int j = -1;
   for (int i = 0; i < S.size(); i++) {
         while (j >= 0 && S[i] != S[j]) j = A[j];
         j++;
         A[i+1] = j;
   }
   // ここまで
   
   for (int i = 0; i < (int)sizeof(A)/sizeof(*A); i++) {
       std::cout << A[i] << std::endl;
   }

   return 0;
}

//-1
//0
//1
//0
//1
//2
//3
//4
//5
//2


0を格納する必要はない

#include <iostream>
using namespace std;
#include <vector>
#include <string>

int main() {
   //vector<int> A = {1, 2, 3, 4, 5};
   int A[10];

   //'aabaabaaa'
   std::vector<string> S = {"a","a","b","a","a","b","a","a","a"};

   // ここから
   A[0] = -1;
   int j = -1;
   for (int i = 0; i < S.size(); i++) {
         while (j >= 0 && S[i] != S[j]) j = A[j];
         j++;
         A[i+1] = j;
   }
   // ここまで
   
   for (int i = 0; i < (int)sizeof(A)/sizeof(*A); i++) {
       std::cout << A[i] << std::endl;
   }

   return 0;
}

//-1
//0
//1
//0
//1
//2
//3
//4
//5
//2


動的配列
#include <iostream>
using namespace std;
#include <vector>
#include <string>

int main() {
   //vector<int> A = {1, 2, 3, 4, 5};
   vector<int> A(10);

   //'aabaabaaa'
   std::vector<string> S = {"a","a","b","a","a","b","a","a","a"};

   // ここから
   A[0] = -1;
   int j = -1;
   for (int i = 0; i < S.size(); i++) {
         while (j >= 0 && S[i] != S[j]) j = A[j];
         j++;
         A[i+1] = j;
   }
   // ここまで
   
   for (int i = 0; i < (int)A.size(); i++) {
       std::cout << A[i] << std::endl;
   }

   return 0;
}

//-1
//0
//1
//0
//1
//2
//3
//4
//5
//2


C++11


#include <iostream>
using namespace std;
#include <vector>
#include <string>
#include <array>

int main() {
   //vector<int> A = {1, 2, 3, 4, 5};
     // vector<int> A = {0,0 ,0 ,0 ,0,0,0,0,0,0};
    std::array<int, 10> A;

   //'aabaabaaa'
   std::vector<string> S = {"a","a","b","a","a","b","a","a","a"};

   // ここから
   A[0] = -1;
   int j = -1;
   for (int i = 0; i < S.size(); i++) {
         while (j >= 0 && S[i] != S[j]) j = A[j];
         j++;
         A[i+1] = j;
   }
   // ここまで
   
   for (int i = 0; i < (int)A.size(); i++) {
       std::cout << A[i] << std::endl;
   }

   return 0;
}

//-1
//0
//1
//0
//1
//2
//3
//4
//5
//2


Twitter検索結果。「プログラミング言語比較」に関する最新ツイート


プリミティブ

Headless Browsers

コメント投稿(ログインが必要)



週間人気ページランキング / 6-24 → 6-30
順位 ページタイトル抜粋 アクセス数
1 Flash Video | コンテナフォーマット | プログラミング用語 306
2 curl | HTTPクライアント(ネットワーク) | プログラミング用語 286
3 ルーター | ネットワーク | プログラミング用語 281
3 ユースケース | 開発 | プログラミング用語 281
4 ベクトル | 数学 | プログラミング用語 236
5 デーモン | Linux | プログラミング用語 227
6 正規表現 | プログラミング | プログラミング用語 194
7 YouTube | API | プログラミング用語 171
8 チェックアウト | バージョン管理システム(開発) | プログラミング用語 117
9 分かち書き | 形態素解析 | プログラミング用語 63
10 Linux | プログラミング用語 57
11 リバースエンジニアリング | 開発 | プログラミング用語 54
12 ネットワークアドレス | ネットワーク | プログラミング用語 50
13 PowerShell | スクリプト | プログラミング用語 44
14 クローラ | 検索エンジン | プログラミング用語 31
14 可搬性 | プログラミング | プログラミング用語 31
15 Subversion | バージョン管理システム(開発) | プログラミング用語 27
16 アンチパターン | プログラミング | プログラミング用語 11
17 プログラミング用語 9
18 deflate | ネットワーク | プログラミング用語 8
2022/7/1 1:01 更新