あなたは他の言語パラダイムを学ぶことによってあなたのプログラミングスキルを向上させることができますか?
私の経験では、確かにそうです。問題を攻撃するいくつかの異なる方法を持つことは、ツールのパレットのようなものです。ある日、(私がしたように)あなたはこれらの他のツールを使うでしょう。または多分そうではない。それはすべて異なります。いくつかの例:
言語は一般に独立しているわけではなく、環境に付属しています。私はawkと呼ばれる奇妙な言語を学ぶのに少し時間を費やしました 。「正規表現」を使用したパターンマッチングに依存しています。C ++ STLを学習しようとしたところ(あまり成功していません)から、マップについて学びました。これら2つのコンセプトを組み合わせると、Pearl(プラットフォームで使用できる唯一の言語)でテキスト変換ユーティリティをすばやく作成できます。
主にそれを楽しむために、Erlangを学習しようとしました(あまり成功していません)。これには、OTPと呼ばれるエラーの処理方法を実装する機能のライブラリがあり、失敗したり、機能を再起動するモニターを備えていることもあります。私はいくつかの領域でこのアイデアを使用しました。時々、無限のテストを実行する代わりに、物事を失敗させるだけです。
Haskellを学ぼうとすること(これはあまりうまくいきません)は、問題を攻撃する他の方法に本当に目を向けました。(私の心に)ある種の関数型プログラミングは、そこにたどり着くための手順を記述するのではなく、希望する結果を示すコードを記述することから始まります。これは、より良いSQLコードを書くのに本当に役立ちました。
最近、JavaScriptを少し試してみました。そして、noderedと呼ばれる環境を見つけました。小さなホームオートメーションサーバーを作成するためのコードは必要ありません。
見方を変えると、さまざまな言語での私のほとんどの取り組みは、人々が何について話しているのかを感じるために、ほとんど浅いレベルにありました(そしてそうです)。私が実際に生産できる言語はほとんどありません。