もちろん、各言語で登場する単語がちょっとずつ違いますが、最初は辞書(リファレンス)に頼ったり、自動翻訳機(変換ソフト)に頼ったりすればOK。 多少時間はかかりますが、たくさんしゃべっている内にすらすらと作れるようになっていきます。
IchigoJam BASIC、Python3、JavaScript、Java、C言語のそれぞれ機能の対照表を作ってみました。 打つ文字数が圧倒的に少ないIchigoJam BASICで、基本(basic)を押さえてしまえば、他言語の習得はサクサク進みます。
1970〜80年代、BASIC言語と共に、世界中の一部の子供たちの間でパソコンが流行。多くのエンジニアや、起業家を生みました。
Windowsとゲーム専用機と共に失われたBASICによるプログラミングはじめのいっぽ文化を、IchigoJamと共に再び!
「2018 Developer Skills Report by HackerRank」
IchigoJam BASIC | Python3 | JavaScript | Java | C | |
はじめのいっぽ | LED1 | print("Hello World!") | alert("Hello World!"); | class A { public static void main(String[] args) { System.out.println("Hello World!"); } } | #include "stdio.h" int main() { printf("Hello World\n"); return 0; } |
キー押下数 (はじめのいっぽ) |
5 | 22 | 23 | 95 | 72 |
表示 | ?"ABC" | print("ABC") | console.log("ABC"); | System.out.println("ABC"); | printf("ABC\n"); |
変数代入 | A=10 | a = 10 | var a = 10; | int a = 10; | int a = 10; |
計算 | S=A*10/B | s = a * 10 / b | var s = a * 10 / b; | int s = a * 10 / b; | int s = a * 10 / b; |
条件分岐 | IF A=10 ?"T" | if a == 10: print("T") | if (a == 10) console.log("T"); | if (a == 10) System.out.println("T"); | if (a == 10) printf("T\n"); |
繰り返し (ループ) |
10 FOR I=0 TO 9 20 ?I:NEXT | for i in range(10): print(i) | for (var i = 0; i < 10; i++) console.log(i); | for (int i = 0; i < 10; i++) System.out.println(i); | for (int i = 0; i < 10; i++) printf("%d\n", i); |
論理式 | A=1 AND B=2 (A=1 && B=2 でもOK) | a == 1 and b == 2 | a == 1 && b == 2 | a == 1 && b == 2 | a == 1 && b == 2 |
ビット演算 | A>>4&7 | (a >> 4) & 7 | (a >> 4) & 7 | (a >> 4) & 7 | (a >> 4) & 7 |
16進数 | #FFF | 0xFFF | 0xFFF | 0xFFF | 0xFFF |
2進数 | `11010001 | 0b1101001 | 0b1101001 | 0b1101001 | 0b1101001 |
サブルーチン (関数) (メソッド) |
10 ?"SUB":RETURN GOSUB 10 (@SUBなどのラベル対応) | def sub(): print("SUB") sub() | var sub = function() { console.log("SUB"); }; sub(); | // 何かclass内で static void sub() { System.out.println("SUB"); } // 何かメソッド内で sub(); | void sub() { printf("SUB\n"); } // 何か関数内で sub(); |
コメント | ' COMMENT REM COMMENT | # COMMENT """ COMMENT複数行 """ | // COMMENT /* COMMENT複数行 */ | // COMMENT /* COMMENT複数行 */ | /* COMMENT複数行 */ |
文字列処理 (左3文字) (右3文字) |
10 S="ABCDE" 20 ?STR$(S,3) 30 ?STR$(S+LEN(S)-3) | s = "ABCDE" print(s[0:2]) print(s[-3:]) | var s = "ABCDE"; console.log(s.substring(0, 3)); console.log(s.substring(s.length - 3)); | String s = "ABCDE"; System.out.println(s.substring(0, 3)); System.out.println(s.substring(s.length() - 3)); | const char s[] = "ABCDE"; for (int i = 0; i < 3; i++) putchar(s[i]); putchar('\n'); for (int i = strlen(s) - 3; i < strlen(s); i++) putchar(s[i]); putchar('\n'); |
配列 | 10 LET[0],5,3,1 20 N=0 30 FOR I=0 TO 2 40 N=N+[I]:NEXT 50 ?N | a = [ 5, 3, 1 ] n = 0 for m in a: n += m print(n) | var a = [ 5, 3, 1 ]; var n = 0; for (var m in a) { n += a[m]; } alert(n); | int a[] = [ 5, 3, 1 ]; int n = 0; for (int m : a) { n += a[m]; } System.out.println(n); | int a[] = { 5, 3, 1 }; int n = 0; for (int i = 0; i < 3; i++) { n += a[i]; } printf("%d\n", n); |
特徴 | シンプル、格安、省エネ 大規模開発に向かない |
インデント大事 ライブラリ豊富 |
ブラウザだけで作れる PCもスマホもOK! |
なかなか高速 Androidアプリの標準言語 サーバー上でもよく使われる |
基本的に最速 マシン語に近い IchigoJam BASICの開発言語 |
どの言語から始めるか?パソコンを持っているなら、作りたいモノが作れる言語を選びましょう。
習得難易度の多少の差は、作りたいモチベーションとできた喜びで消し飛びます。
パソコンを持っていない、プログラミング言語の習得に挫折した人、ひとまず何でもいいからプログラミングをはじめてみたい人、IchigoJamからどうぞ!
links
- IchigoJam