Clojure

Reify Health

2020年11月30日

Reify Health

ClojureまたはClojureScriptをどれくらい使用していますか?

当社では、Reify Healthにおいて、4年間、ClojureとClojureScriptを本番環境で使用しています。既存機能とすべての新機能開発の主要言語です。

ClojureまたはClojureScriptを使用しているチームの規模は?

フロントエンドとバックエンドのサービスで、20名以上の開発者がClojureとClojureScriptに取り組んでいます。

ClojureまたはClojureScriptを使用して構築している製品またはサービスは何ですか?

私たちは、新しい救命治療薬の開発を加速させるためのクラウドベースの製品を提供しています。世界中の医薬品開発業界、数百の臨床研究施設、そして上位20社の製薬会社の多くにサービスを提供しています。

当社の主力製品であるStudyTeam™は、治験を効果的に実施するために、施設とスポンサーの両方が互いに依存しているという理解に基づいて開発されました。施設にとって、StudyTeamは登録ワークフローをよりシンプルで直感的なものにします。スポンサーにとって、StudyTeamは、採用と登録のパフォーマンスに関する豊富で実用的な洞察を提供します。両方にとって、StudyTeamは登録を加速し、施設とスポンサーの関係を改善し、チームが迅速、予測可能、そして自信を持って登録目標を達成するのに役立ちます。

最も使用していて楽しかったClojureまたはClojureScriptライブラリは何ですか?

Clojureのspecから非常に多くのメリットを得ています。データ検証やテスト以外にも、カスタムジェネレーターを使用してサンプルデータでデータベースをシードし、UIに現実的な情報を追加することで、デザインチームがバックエンドを立ち上げる必要なくユーザーエクスペリエンスに取り組めるようにしています。

ClojureまたはClojureScriptを使用することで、最も価値を感じるのはどのような点ですか?

Clojureには非常に表現力があります。Lispの遺産を持つため、アイデアとその表現の間に非常に小さなギャップしかありません。拡張された標準ライブラリ、不変のデータ構造、一流のホストプラットフォームとの相互運用性、そして動的なREPL駆動のワークフローにより、Clojureは非常に生産的です。しかし、言語の乱れやAPIの破壊的な変更がなければ、それらの生産性向上は簡単に失われてしまう可能性があります。Clojureは安定性を常に重視しているからです。

ClojureまたはClojureScriptのお気に入りの機能は何ですか?

Clojure/Scriptには、優れた設計に集約される多くの優れた点があります。それは、業界で働き、効率的かつ確実に成果を上げる責任を負ってきた経験から設計されました。興味深いプログラミング言語の研究は数多くありますが、ソフトウェアエンジニアの日々の業務をこれほど意識しているものはめったにありません。これは、不変性と並行処理を第一級市民として、すべてのデータ構造にわたって直感的に動作するシーケンス操作のパターン、迅速なフィードバックループを提供するREPL、そして後方互換性を維持するための配慮に表れています。

スタックは何ですか?

いくつかの構成を試しました。フロントエンドでは、om.nextとre-frameの両方を使用し、最終的には後者で標準化しました。バックエンドではCompojureLiberatorhttp-kitを使用しましたが、最近はPedestalを好んで使用しています。clojure.specをかなり使用しており、データベースはほとんどがPostgresです。Kafkaの役割も組織内で拡大しています。

ClojureまたはClojureScriptを使用することは、なぜビジネスにとって価値があるのですか?

Clojureは表現力豊かです。Lispとして、言語自体は小さく、アイデアをコードとして表現するために必要な構文や定型句は非常に少ないです。その違いは重要だと考えています。ノイズが少ないことを高く評価しており、より小さなプログラムとより少ない欠陥につながると考えています。

Clojureは実用的です。言語とホスティングプラットフォーム間の第一級の相互運用性により、JavaScriptまたはJVM用に記述された何千もの高品質ライブラリにアクセスできます。本質的に同じ言語がブラウザとサーバーの両方で実行されるという事実は、2倍のメリットを得られることを意味します。

Clojureは関数型です。これは、本質的に推論が容易な不変の値を用いた特定のプログラミングスタイルを奨励するだけでなく、私たちが記述する必要がある種類のソフトウェアの構築に適しているという意味です。情報の処理にこれほど適したツールは見つかりません。

要約すると、Clojureは働くプログラマーのための言語であり、私たちは仕事をしなければなりません。

Clojureのストーリーを共有したい場合は、このフォームに記入してください