プログラミング言語をひいきしてはいけないのかもしれませんが、どの言語にも、その言語を作った設計者が望んだデザインが含まれていて、そのデザインを必要としているかどうかとは別に、そのデザイン自体を好きになることもあると思います。
例えば私は、Rustの強いメモリOwnershipに基づくデザインは「好き」ですが、実際に使うとなると、私が必要としている場面ではC++のスマートポインタだけでも今のところ十分うまくいくのでは……とも思っています。
あ、私はLuaが大好きです。1-based indexですし、数多くの問題を引き起こしかねない危うい点もたくさんありますが、軽く書いて忘れてしまうようなコードを気軽に書くには、これほどの言語があるだろうかと思います。
好きな言語 / 短所 / 長所 を書いていただけるとうれしいです (__ )/
15件のコメント
Pythonです。
オールラウンドな開発言語であり、生産性に優れています。
ランタイム速度は少し遅いですが、継続的に改善されています。
素晴らしい言語ですね! 私もプログラミングするとき、ダクトテープのようにどこでも持ってきて継ぎはぎできるので、本当に便利に使っています。
好きな言語 : Javascript
短所 : 会社で好きな人がほとんどいません。
長所 : だから誰にも干渉されず自分の好きなように書けます……というのは冗談で、クライアント向けに作ったソースをそのままサーバー向けにも使えるのが気に入っています。
JSは生産性も悪くなく、V8エンジンの力で高速で、本当に何でもできる素晴らしい言語ですよね。サーバーからクライアントまで……しかも、コード自体の安定性や可読性の不足はTSで補うこともできるので、将来が楽しみな言語でもあります。特に私がWebを作るときは、ほぼ必ずReact.js + TSのサーバーフレームワークで書き、CLIアプリはNode.jsで書くのですが、本当に良いです。
Rustでプログラミングしているとき、自分が手にしているものがはっきり感じられるのが好きです。
そのぶん何もかもを手作業でカチャカチャいじってやらないといけないので、人にはおすすめできません。
権限と責任が比例する恐ろしい言語群ですね(…) 何というか、最初はC++の進化形ではないかと思っていましたが。最近はCの進化形のように感じられる言語だと思います。
C#です。
強い型付けの言語
アップデートが活発で、モダン言語の長所をすべて取り込んでいる
LINQ
強力な Visual Studio
MSDNまで、コードを書くたびにいつも幸せです
うーん……C# は本当に昔からバージョンの上がり方がすごいですね。何かプロジェクトを1つやってみたいのですが、何から始めようか悩んでいます(笑)。バックエンドを C# で作りたいのですが……
Perlです。
他の言語と違って、言語学者が作った言語らしく、文脈に応じて変数を省略できたり、
現代言語の型推論のように、文脈に応じて適切な型に変換してくれたりする、そういう機能が好きです。
おお…生産性が高そうですね。シェルスクリプティングをするときには最高だと思います。素早く書いて、それなりに動かせるコードとして。
ここ10年ほど、ほぼ Ruby だけでコードを書いています。
書いていて幸せになれること + Rails の存在が、Ruby の一番いいところじゃないかと思います。
ただ、人のコードを読むときはめちゃくちゃつらいです……。
Rubyist がだんだん減ってきていて、寂しいです。
最近になってようやくRubyに触れたのですが、どうして今まで触れてこなかったんだろうと思いました。長所の多い言語なのに、比較的あまり使われていないという点のせいで輝きが薄れてしまっている、もったいない言語のように感じます。
Ruby! 言語そのものが本当に魅力的なんですよね。文脈の構造がほかの言語に比べて独特で印象的でしたが、いったん慣れるとものすごくすっきりしていて見やすいんです。特に
ifを後置できるのは、ほかの言語にもあったらめちゃくちゃ便利そうだなって(...Goです。
非同期処理の文法が、ほかの言語と比べて簡潔だと思います。
Web開発でよく使われる言語の中では珍しく、コンパイルしてバイナリ実行ファイルを生成できますし……
そのため、最近よく使われている Docker でイメージを作るときに、
alpineのような小さいベースイメージを使えるので、イメージサイズも小さくなりますし……独自のWebサーバー実装の性能も高いので、Webサーバー開発に最適だと思います。golangには登場した当初から関心を持って見ているのですが、肝心のところでずっと node.js でばかり(…)サイドプロジェクトをしていて、なかなか縁がないですね。ASP.NET と Node.js の間でずっと悩んでいるのですが、golang も追加しないといけない気がします(..)次のプロジェクトは、慣れた場所から離れるところから始めてみないと…。