MS windows での C++ の位置付け

マイクロソフト(MS) は一時期はアプリなどの開発言語は C# 推しで、C++ は影が薄く、せいぜいコマンドラインツールなどで必要があるときに触っていた程度だったのだが、近年は C++ 絡みのフレームワークなどを提供している。
昨年(2019)、C++/WinRT というフレームワークが発表されたのだが、それまでの流れで「どーせ大したものでもないだろう」と高を括っていたのだが、それなりに評判いいようだ。

せっかく Mac に Parallels を入れたので、ついでで windows も入れ、

C++/WinRT の始め方

を参考にしながら、環境を整えてみた。

上の記事記載の通りそのままにやっていけば、原則、同じ結果が得られると思うが、現在の Visual Studio 2019 だと、UI の変更があってので、若干操作が異なるようだ。
気がついたのは、C++/WinRT を入れるところで、上のように メニュー -> 拡張機能 からいかないとマーケットプレイスには辿り着けないと思う。
ダウンロードしたのち、再起動すると Blank App (C++/WinRT) プロジェクトを作成できるようになる。

 

ANN2b

 

Laravel 〜PHP のモダンなフレームワーク〜 と世界最速 C++ drogon

Laravel

Laravel というのは、PHP で書かれたウェブフレームワーク。web アプリを構築するときによく用いられる。

Mac にインストール

そのインストール方法は検索すればよく出てくる。こことか。
ただ、 Mac にインストールする場合、『Mac Laravelの環境構築時にエラーが出た話』にもあるようにデフォだとインストール時にエラーが出る。
PHP を 7.4 にすると解決するようだ。

適当なサンプルを走らせる。

が出ればとりあえず環境は構築されている。

 

他のフレームワークとの比較

なお、Laravel は他言語で書かれたウェブ系フレームワークとの比較で言えば、いくら PHP を 7 系にしてもそれほど(レスポンスという意味では)パフォーマンスは良いものではないので、使い所に注意は必要だ。

上図は1位のフレームワークを 100 %としたとき、そのフレームワークの総合的な成績を数値化したもの。
誤解をおそれずに言えば、上位のフレームワークが 100 処理できるところを 3.6 くらいしか処理できないということを意味してます。
出典はここ

wordpress あたりに誰もそこまで速度を求めてはいないのと同様、高速レスポンスが必要なサイトには向かないかな。(それでもかつてのライバル CakePHP には勝っている)

Laravel は Ruby の Ruby on Rails 、Python の Django と合わせて3大フレームワークと呼ばれているらしいのだが、いずれにしても処理速度という点ではパフォーマンスはそれほど良くないことがわかる。

 

電子カルテで Laravel

無料で有名だったきりんの「カルテ zero 」は一部に Laravel を使用しているんじゃないかな。なんとなく、勘だけど。

 

drogon

では、世界最速のフレームワークは何かというと C++ で書かれた dorogon というものだ。

ところでその GitHub ページに行ったら、こんなものが・・・。

@Hiroaki-Inomata ってどこかで聞いたことのあるお名前(笑)。

確認したら、やはり猪股(弘明)先生でした、精神科の方の。

なんでも「ORCA のモディファイorz 関連で使った。けっこう使いやすかったし、開発者連中と気が合いそうだったので寄付した」とのことでした。

いやあ、立派、立派。

 

ANN2b

C++ という言語

仕事柄、ウェブプログラミングは、社会人時代よりもよくやるようになっていたのだが、ちょっとした案件で C++ も扱う必要がでてきた。

「かなり忘れているしなー」と勉強用に色々物色したのだが、やはり網羅的な参考書・教科書としては、いわゆる「ストラウストラップ本」が性にあっていた。

ただし、まったくの初学者の方は別の本の方がいいと思う。
C で組み込み系開発の経験があるなんて人にはこちらがオススメ。
最初の方で、C → ”クラス付きC” →C++ と発展し、それに伴って(プログラミング)言語的にどのように拡張されていったか書かれてあるので、いきなり文法・仕様から説明されるよりとっつきやすいと思う。

ところで、simula なる言語がやたら出てくるのだが、これは1960年代に開発されたシミュレーションのための言語のようですね。

 

ANN2b