プログラミング教育

プログラミングシステムの種類

投稿日:2019年1月6日 更新日:

プログラミングと言えども、機械を動かすものや、経理や売上などを計算したりするものなど色々あります。

※名称、呼び方は正式に決められたものはなく、業界での通称のようなものです。また下記の呼び方は私が良く使う呼び方で、他にも色々あると思われます。

1.大分類

大きく分けると (A)業務系 (B)制御系 という2つの分類があります。そして、それぞれに必要な知識などが異なります。

(A)業務系

これは事務関連のシステムを総じてこう言います。つまり、工業系のシステムでないものです。どちらかというと文系的なシステムです。

(B)制御系

これは業務系と反対で理系的なシステムを示します。ロボットや外部機器などをコントロールするシステムです。

2.業務系を分ける

工業系機械の制御ではないシステム、例えば経理や会計、売上や人事、労務や最近ではネットショップ、あと、建築や土木の積算など色々な細かいものがありますが、業務系をシステムの運営形態から分けてみると

(A)業務系アプリ系システム

WEBブラウザーを使用せず、システムを開発する言語等で特別な画面を構築していくような作り方で作るものを示します。

開発言語は、VisualBasicやC#、JAVAなどが使用され、ほぼほぼデータベースと接続されます。データベースは、オラクルやSQLサーバーなどがよく使用されます。

学校での生徒管理や履修管理、学費管理などもこな業務系アプリ系システムとなります。

(B)WEB系システム

インターネットを介在しない、サーバーと接続して動くシステムを総じてこう呼んでいます。画面は、インターネット検索などで使用する、Google ChoromeやInternet Explorer を使用します。

プログラミング言語はPHPやJava script、HTMLなどが多く見られます。以前は、PerlやRubyなどもありましたが、最近はPHPが多く使われますね。JAVA で作る場合もありますが、無料だったJAVAは今後有料になりますからどうなるでしょう?

それから当然サーバーと接続するのでデータベースが使われます。データベースは無料のMySQLやSQLサーバーが多く見られます。

サーバーはインターネットに接続していて、大量の大切なデータを扱うため、殆ど専用のサーバーをレンタルで使用します。

大手有名なのはAmazonのAWSやマイクロソフトのAzureなどです。これらはデータベース込みの月額使用料でサーバーを利用できます。

最近はAIを構築できるように、音声認識や音声合成、顔認識、GPS位置情報など、多くの情報まで利用できるようになりました。

自分の技術だけで顔認識なんて到底不可能でそんなシステムは今までは作れなかったのですが、なんと、そのサービスまで全部サーバー毎利用できるようになりました。

これらのAIのシステムを作る言語として最近はPythonが流行ています。

3.制御系を分ける

工業系、理数系システムも大きく分けることができます。

(A)計測制御系

パソコンを中心として、ロボットや制御ラインをコントロールするシステムを総じてこう呼びます。

装置の動作条件や、装置から取り込んだデータを処理してグラフを表示したりします。

また、完成したものを検査して良品不良品に分けたりするようなシステムもあります。

プログラム言語は、パソコンの画面はC#が最近は多く、まだ昔の産物を使い続け、C++もあります。

VisualBasicも良く使われますが、やはりC#が多いですね。

そして、装置側は、制御にPLCという装置専用のコンピュータが使用されることが多いため、それ専用言語でラダーと呼ばれる言語を使用します。

(B)組み込み系

主に、電子基板上で直接動作するその装置専用のプログラムを開発するシステムをこう呼びます。

大型

組み込み系でも、スマホやカーナビなどのようにそれなりに高価な装置には、OSというソフトが載っていますので、OS上で動くアプリを開発します。これは、Windows上で動くアプリを開発するようなイメージで、組み込み系といっても、どちらかというとアプリ開発者よりになります。

ただ、このようなOSの載っている組み込み系の開発者でも、OSと内部の部品をコントロールするような部分の開発は特殊で、ここはデバイスドライバー系といいます。

この開発者はなかなか少なく、高額な収入を得られます。

例えば、スマホの中にあるWIFIのLSIをコントロールして通信の根元を作る。ここで開発された通信の根元を利用した簡単なプログラムをアプリ開発者は利用する。と言ったイメージです。

小型

これは小さなCPUが載ったボードやそ 装置で、それ単体の動きを作るものです。

例えば、洗濯機のマイコンコントロールやテレビ、エアコンなどです。

開発言語は、C言語やC++、アセンブラが使われます

クムクムは…

(1)クムクムのお腹の基板は、小型組み込み系です。C言語とC++で開発しています。小さなOS(正式にはブートローダーと呼ぶ)として学習用としてイタリアで開発されたArduinoを利用しています。

(2)パソコン上のソフトは、計測制御系です。Windows上で動く専用アプリをC#で開発しています。

一部、テキストの表示や動画の表示はWEBを利用しています。

(3)塾用教務システムは、業務系WEB系です。開発はPHPを使っています。サーバーはIDCFという日本の専用レンタルサーバーを利用しています、

(4)AIにつなげるためのAPIを用意しました。PythonでAI系エンジンとつなぎ、Pythonからクムクムを動かすことができます。

-プログラミング教育

関連記事

そもそもプログラミングって何?どうすればいいの?

プログラミング、プログラミングと騒がれていますが、そもそもプログラミングって何なのか?どんなものなのか?どんなプロセスで作られるのか?どんな道具がいるのか?をもう一度簡単にまとめてみます。 1.プログ …

各国のコンピュータ教育事情

日本では、ようやく2020年からプログラミングが小学校に導入されるようになりました。 この動きは世界に比べてどうなのか?をいろいろ調査してみました。 色々なホームページにいろいろな形で記されていますが …

小学生に教えたいプログラミングを考える

これまで、小学1年生から小学6年生まで、7-8年間にわたって長く京都市教育委員会主催の京少年少女モノづくり倶楽部 にて、プログラミングを教えてきました。 その中で得た知見から.. ※下記はあくまで、こ …

ロボットプログラミングだから教えたいコト【あるく】

クムクムの自慢できる特徴点として【あるく】事ができます。いわゆる二足歩行です。 多くのプログラミング教材の中で、この値段で歩く機能をしっかり搭載したのはクムクムだけではないかなぁ?と自慢の機能の一つで …

プログラミングを学ぶという事

2018年12月31日22時11分、紅白歌合戦もまもなく最終に入ります。今日はどうも平成最後という思いからか、色々語りたい気分のようです。 2020年小学校の必須化と動き その目的を、文科省は「プログ …