プログラミング言語とソフトウェアアーキテクチャ

実装言語はソフトウェアアーキテクチャにどのくらい影響があるものだろうか?

実装言語を選択する基準としていくつか考えられる。

言語仕様による部分もあるが、

ライブラリやフレームワークが充実していること

は重要な条件だと思う。今、AI・ディープラーニングを学ぶとき python を使うのは、ライブラリやフレームワークが充実しているから。

 

処理速度が速いこと、省メモリで動くこと

これも重要。ハードウェア制御系・モバイルなど組込みシステムでは性能が要求される。

 

スケーラビリティがあること

Web系システム、大規模なものではとても重要。アーキテクチャがスケーラビリティを考慮していないと、ユーザ数が増えたとたんにシステムダウンしたり、むちゃくちゃ遅くなったりする。

 

今ではクラウドプラットフォーム(AWSとか Azure とか Google Platform とか)がスケーラビリティを実現するための様々なサービスを提供しているので、

それらを利用すればかなりのことができるはず。