CoderDojo光
@OSC広島
初学者にやさしいプログラミング言語とは?
澤 佳祐
2018.09.23
自己紹介
澤 佳祐(さわ けいすけ)
徳山工業高等専門学校 情報電子工学科 4年
徳山高専学生会高専祭実行局メイン部署長
CoderDojo光 メンター(2018年5月~)
部活:卓球部
興味分野:ブロックチューン、セキュリティ、ITと異分野の連携
<主な活動>
科学技術論文コンクール 入賞 KeisukeSawa
第2回スモウルビー甲子園 第3位 @swamptk
平成29年度SecHack365トレーニー
高専カンファレンスin西京 実行委員 他勉強会なども多数参加
2
CoderDojo光の様子
3
Scratch
Scratchとは?
・プログラミング言語学習環境
・ブロックを使ってプログラムを構成していく
・日本語対応している。
・ブロック化で構文エラーをできないようにしている
4
CoderDojo光の子供たち
Scratch
ゲーム、数値計算とか
初めての子はまずScratchに挑戦する子が多い
複数のメソッドを使って複雑なプログラムを書く子も多い
CoderDojo光では、この夏Scrach限定回も実施
5
Scratchの限界
Scratchを極めるのでいいのか?
Scratchは使いやすいが、万能ではない!
普段見ているWebサイトとか、
普段使っているブラウザやOSはScratchでは書けない
→ 世の中のほとんどのものはScratchで書かれていない。
プログラムで「遊ぶ」から
プログラムを「使う」に進歩してほしい!
→ 新しい言語を学ぼう!
6
新しい言語の習得の難しさ
 どの言語がいいの?
世の中にあるプログラミング言語は200とも300とも言われる
 どんな特徴の言語がいいの?
スクリプト言語? オブジェクト指向? ポインタ?
 Scratchしか経験してないけど本当にできるの?
子供たちが独学で学ぼうとすると直感的でなく難しい
7
今回の言語の選定基準
 作りたいものを簡単に実現できる言語
 人気のある言語
 将来性のある言語
 初心者にも優しくドキュメントや参考サイトが多いこと
 日本語情報が多いこと
 様々なデバイスに対応できること
注意:私の私見で選んだので必ずしも正しいとは限りません。
8
人気のプログラミング言語
 Interactive: The Top Programming Languages 2018 (IEEE)
 IEEE Spectrum
 参考ページ
https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018
9
順位 プログラミング言語
1 Python
2 C++
3 Java
4 C
5 C#
6 PHP
7 R
8 JavaScript
9 Go
10 Assembly
C
 日本語のネット記事、書籍など文献が充実
 多くの学校が初学者向けに授業をしている
 ポインタとかクラスの概念が分かりにくい
 コンパイラがいろいろあって分かりにくい
 何でもできるけど、何となくレイヤーが低い印象
10
#include <stdio.h>
int main() {
printf("Hello World!");
return 0;
}
Java
 日本語のネット記事、書籍など文献が充実
 多くの学校が初学者向けに授業をしている
 Web GUI 組み込み 通信など何でもできる。
 オブジェクト指向とかクラスの概念が分かりにくい
11
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
JavaScript
 日本語のネット記事、書籍など文献が充実
 比較的理解しやすい。
 94.4%のWebサイトで使われている(参考ページより)
 コンパイラとかいらない。ブラウザさえあればできる
 Webに特化している。
 参考ページ
https://w3techs.com/technologies/details/cp-javascript/all/all
12
<script>
alert('Hello World!');
</script>
Python
 日本語のネット記事、書籍など文献が充実
 インタプリタ言語なので初心者でも扱いやすい
 読みやすく書きやすい
 最近大学などが初学者向けに授業をしている
 組み込み、機械学習、アプリなど何でもできる。
 オブジェクト指向が学べる
13
print("Hello world!")
まとめ
 初心者向けには、Pythonがおすすめ!
 やりたいことがあるときはそれを実現できる言語を学ぼう。
 それでも敷居が高ければBlocklyというのもある!
 Let’s enjoy programing!
14
http://coderdojo-hikari.com/

初学者に優しいプログラミング言語とは?