2017年06月22日のツイート

2017年06月20日のツイート

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

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

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

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

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

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

 

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

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

 

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

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

 

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

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

関数型プログラミング言語とその特徴

関数型プログラミング言語の特徴

  1. 参照透過性
  2. パターンマッチング
  3. 高階関数
  • 関数を引数にできる
  • 関数を戻り値にできる
  1. クロージャ
  2. 遅延評価
  3. 部分適応
  4. カリー化

特徴それぞれについて、具体的に理解したい。

What それはなにか?

概要。書式。

Why なぜそれを使うのか?何がうれしいのか?

使用目的を明らかにする。

When, Where いつ、どんな状況で使うのか?

適用範囲を明確にする。

また、「使うべきでないとき」を明確にする。

How どうやって使うのか?

書式とともに、具体例をいくつか。

言語各種

  1. haskell
  2. elixir
  3. ocaml
  4. scheme
  5. c++
  6. scala
  7. python
  8. ruby
  9. typescript
  10. kotolin

もっと使い慣れるツール

github と git

使っているといえば使っているが、もっと日常的に使うべき。

Redmine と backlog

チケットドリブンな開発とガントチャートをちゃんと使えるようになりたい。

docker と virtualbox

ポータブルな開発環境を使えるようになりたい。Windows に縛られない開発環境。

AWSgoogle platform 

クラウドサービスは使えるようにならないと。

2017年06月12日のツイート

2017年06月06日のツイート