どんなプログラム言語とDBを使いましょう

 

f:id:itfune:20161029004155p:plain

私が仕事で経験したプログラミング言語について私の感想を述べます。

言語こういう時に便利
C/C++ C/C++はポインタが使えます。構造体のポインタを使用するとメモリからいちどきに必要な項目を取得できます。低レイヤの操作ができることと、この構造体のポインタがC言語の醍醐味じゃないかと思います。socket通信して電文の送受信をして何かを制御するというような場面ではC/C++は大変便利です。
Java 便利なクラスや例えばwebシステムを作るのに便利なフレームワークが多数あります。webシステムを作る時はC/C++で作るよりもJavaを選択したほうが短い開発期間で作ることができると思います。JREというものがインストールされたコンピュータであればどのようなコンピュータでもJavaプログラムを動かすことができます。
Perl 文字列を操作するのに非常に便利です。Perlもモジュールという便利な機能が多数公開されており、webシステムを作るのに便利なもの、DB操作をするのに便利なものなどモジュールを組み合わせて使います。2015/12/25にPerl6がリリースされました。私はPerl4,5世代なのでこれからPerl6も勉強したいと思います。
C#, VB.net Windows用のアプリケーションを開発するときに便利です。最近はwindowsにインストールして使うアプリケーションの開発は少なくなってまいりました。ASPを作ることもできます。私は「C#,VB.netの特徴を一つ一言で表すと、DB操作をする際にDataAdapterでDBに接続しFillでデータを取り出し、updateでDB側にプログラムで変更したデータを反映する流れ」だと思っています。このDataAdapterの仕組みは慣れると便利です。
shell Unix/Linuxで小さなちょっとした処理を作るのに便利です。

 

私が仕事で経験したRDMSについて私の感想を述べます。

DBこういう場面で使われています
Oracle Oracleはどこへ行ってもよく使われています。昔からリカバリの機能などが充実していたからでしょうかよく使われています。Oracleが得意な技術者も多く安心感のあるDBです。
SQL Server データ移送を支援するSSIS、多次元DBのAnalysis service、帳票のReport serviceがDBとセットになっていて使いやすいと思います。SSISはETL(複数のデータソースからデータを抽出し加工して出力先へデータを移送するツール)で、C#vb.netでコーディングできるので自由度が高いです。
PostgreSQL オープンソースRDBMSです。ところどころOracleSQL Serverとは異なる点があります。これは後ほどご紹介します。
Redshift

Amazon Web Serviceで使える列指向DBです。いちどきに大量のデータを入れる、抽出する、計算する処理は非常に速いです。