質問するログイン新規登録

意見交換

9回答

274閲覧

新しい言語の習得とレガシー言語を捨てることに対する思い

pyon_kiti_jp

総合スコア269

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2025/11/28 01:48

0

0

自分はRubyを使っていままでのキャリアを築いてきました。
しかし、この度、pythonに移行せざるを得ない状況になっています。

pythonは文字通り0からのスタートです。Rubyを知っているため、コードがある程度類似しており、コードは眺めていればなんとなくはわかってきます。

しかし、新しい言語の習得においては少し後ろめたい気がしています。

Rubyは7年程前からスタートし出しました。駆け出しのころは、習得に結構苦労しました。メソッド1つ1つをググって調べまくって苦労しながら少しづつ習得していたのを覚えています。その当時は生成AIがというものはまだ出てきていませんでした。

折角苦労してここま成長したのに、そのスキルを捨てることに多少の未練があります。折角なのでRubyをこの先ももっと極めても面白いかもという思いもあります。

皆さん新しい言語の習得や、時代や環境の変化による今までスキルを捨てることに対してどのような思いや意見がありますでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

回答9

#1

maisumakun

総合スコア146969

投稿2025/11/28 01:52

そのスキルを捨てることに多少の未練があります。

Ruby自体が開発終了して、セキュリティ的に使い物にならないような状況になったなら話は別ですが、なぜ捨てなければならないのでしょうか。

これからPythonを使うとしても、その分のスキルが増えるだけで、Rubyのスキル自体を捨てる必要に迫られることはないかと思います。

#2

miyabi_takatsuk

総合スコア9590

投稿2025/11/28 02:23

回答の導入は直接質問の回答にならないかと思いますが、Pythonについて、以前気になったことがあり調査したことがあります。
なぜ、機械学習や、AIにPythonが使用されることが多いのか、です。
なぜそのことが気になったかというと、確かに汎用性が高いなどがありますが、Python自体の処理速度は遅い、と言われており、もっと向いている言語があるのではないか、との疑問からでした。

調査した結果、Pythonの特長として大きなものに、他言語に処理を譲渡し、処理速度を大幅に向上させることが容易であることがわかりました。
(NumPy/SciPy経由でCに処理を譲渡する、など)
つまり、Python自体は処理が遅くとも、各処理が得意な言語に処理を任せることが容易なため結果、処理能力が高くなります。
汎用性+他言語との連携の容易さ、がPythonが機械学習などで多く使用される大きな理由となっているわけです。

ようは何が言いたいかというと、Pythonに鞍替えしたとて、Rubyを身につけたことは全く無駄にならず、むしろ、PythonからRubyを実行するなど(Rubyが得意な処理等を実行させる、など)直接的に活かせる可能性すらある、ということです。

また、根本的に、一つのプログラミング言語をある程度習得できれば、他言語でもそこまで違うことをしていないので(もちろん言語によって得意分野や環境等は違うが)全然生きると思います。

#3

nanashi123

総合スコア154

投稿2025/11/28 02:43

Pythonを習得しつつ、Rubyのキャッチアップを継続することをお勧めします
一つの言語に習熟することで育まれる造詣は、新たな言語を学ぶ際の大きな糧になります
そうして得られる知見から改めて見出される発見や気づきがあります
その機会を得られる環境にあれば、積極的に挑戦していく姿勢が望ましいと考えます
実際、Pythonを触ることで型付けの意義が実感できますし、型付き言語に戻った際に動的型付けの万能性を知ることもあります

#4

yambejp

総合スコア118221

投稿2025/11/28 03:43

たとえば現在所属するプロジェクトで利用されてない言語であればその後のキャリアアップにはつながりません。
転職を考える場合はポリバレントなスキルは売りになります。
過去の言語を捨てるかどうかは今後の身の振り方をどうしたいかによります。

#5

TakaiY

総合スコア14669

投稿2025/11/28 05:23

他の方も書かれていることですが、捨てるまではしなくていいのではないかと思います。
プログラミング言語はツールなので、自分のツールボックスに新しいツールが追加されるイメージになると思います。
ただし、錆びつかないようにメンテナンスは必要になります。僕のperlはすっかり錆び付いてしまっていますね。

#6

cametan

総合スコア217

投稿2025/11/28 06:26

捨てる・・・・・・。
そもそも、「複数言語を操れる」事に対してどうして忌避感を感じるのか。
「操を立てる」必然性があるのか。

あなたは今後も「Rubyを基準として」モノを考える公算が大きい。
そしてそれは全然悪い事じゃないんだ。
ぶっちゃけ、RubyとPythonを比べるとRubyの方が「水準が高い」。つまり視点を高く持つことが出来る。
Pythonを俯瞰して見下ろす事が出来るし、別の言語を学ぶ必要があってもそうなるだろう。
それは利点であって、何のマイナスも産まないんじゃないか・・・・・・。
うん、多分そうなる。
良い事なんだよ。「あなたの七年間はちっとも無駄にならない」。
これが低水準言語のユーザーだと「そうはならない」んだ。
Rubyでプログラミングを覚えて「良かったね」。
としか言えん(笑)。いやマジで(笑)。

#2の人も言ってるんだけど、そもそもPythonってそんなに「スゴい」言語でもないのよ。色々とデザインに「おかしな」トコがある割には人気がある、みたいになってるし(笑)。でもその秘訣は、実際問題、CやFortranに「ロジックの中心部分を丸投げ出来る」辺り、ってのはホンマその通りなんだ。
でも言語デザインとしては「フツー」だよな。取り立てて速い処理系ではないし。おかしなトコがいっぱいある。
そしてRubyはISO/JISで「公式仕様がある」言語だ。Pythonはそうじゃない。Pythonは「仕様=実装」言語だ。
Rubyは「なんかの動作」に対して「公的な理由」が提示される言語だけど、Pythonの場合は「この動作おかしいんじゃね?」って思った時、根拠が「見当たらない」言語だ。いっつも「おかしな動作」に対して「実装上・・・」って言い訳がついて回る。
いや、ホントなんだって(笑)。
だから実際、多くの人たちは「安易にPythonを採用する事の危険性」を把握していない。外部ライブラリが多いから・・・ってのが人気の理由なんだけど、いつ何時「実装をスポンサーの都合により変更しました」になるか分からん。そういう危険性をRubyは「権威ある仕様」を得た事で捨てたんだけど、Pythonはホンマ分からん、のだ。
あなたは大丈夫だ。いつでもRubyへと「逃げられる」。
ホント、「良かったじゃん」としか言えないんだよ(笑)。

#7

melian

総合スコア21564

投稿2025/11/28 06:31

編集2025/11/28 06:32

Google Gemini 3.0 Pro による回答

7年間、Rubyと共にキャリアを築かれてきたとのこと、まずはその積み重ねに敬意を表します。メソッド一つひとつを調べて苦労された経験は、今のあなたのエンジニアとしての「足腰」になっています。

新しい言語(Python)への移行に際して、「スキルを捨てるような未練」や「後ろめたさ」を感じるのは、プロフェッショナルとして技術に誠実に向き合ってきた証拠であり、非常に健全な葛藤だと思います。

この状況に対して、いくつかの視点から私の考えをお伝えします。結論から言うと、 「あなたはスキルを捨てるわけではなく、『エンジニアリングという共通言語』を使って新しい方言を覚えるだけ」 であり、むしろキャリアとしては最強の武器を手に入れようとしています。


1. 「言語スキル」と「エンジニアリングスキル」の分離

Rubyを7年経験されたあなたが持っているのは、「Rubyの文法知識」だけではありません。

  • Rubyの文法(Syntax): def, end, ブロックなど → 今回使わないかもしれません。
  • エンジニアリングの知見(Meta-skills): オブジェクト指向設計、変数のスコープ、アルゴリズム、HTTP通信の仕組み、DB設計、デバッグの勘所 → これらは100%移行可能です。

イメージ説明

あなたは「0からのスタート」とおっしゃいましたが、それはあくまで 「表面的な文法の話」 だけです。海面下にある巨大な「エンジニアとしての知見(氷山)」はそのままPythonに持ち込めます。

初心者がPythonを学ぶのと、7年のRuby経験者がPythonを学ぶのでは、学習曲線の角度が全く異なります。

2. 「2つ目の言語」は驚くほど早く習得できる

7年前、最初の言語を学ぶ際に苦労されたのは、 「プログラミングという概念そのもの」 と戦っていたからです。

  • 1つ目の言語(Ruby): 「プログラミングとは何か」+「Rubyの文法」を同時に学ぶため、非常に高負荷。
  • 2つ目の言語(Python): 「Pythonの文法」と「Rubyとの差分」を埋めるだけ。

特にRubyとPythonは、動的型付け、スクリプト言語、オブジェクト指向という共通点が多く、兄弟のような関係です。「Rubyでいうアレは、Pythonではどう書くのか?」という辞書的なマッピングをするだけで、驚くほど早く書けるようになります。

3. キャリアにおける「掛け算」の価値

「Rubyを極める」のも素晴らしい道ですが、 「Rubyのスペシャリスト × Pythonも書ける」 という人材は、市場価値において非常に希少性が高くなります。

  • Rubyの美点: Web開発(Rails)における圧倒的な生産性と表現力。
  • Pythonの強み: データ分析、AI・機械学習、スクリプト処理におけるライブラリの豊富さ。

この2つを扱えるようになると、例えば 「Railsで堅牢なWebアプリを作りつつ、裏側のデータ処理やAI連携部分をPythonで実装し、マイクロサービスで連携させる」 といった、より高度なアーキテクチャ全体を見渡せるエンジニアになれます。これは、一つの言語しか知らないエンジニアには見えない景色です。

4. 生成AI時代の学習体験

7年前とは違い、今は生成AIがあります。「Rubyのこのコード、Pythonで書くとどうなる?」と聞けば、一瞬で答えが返ってきます。

これは「楽をする」ということではなく、 「あなたが7年かけて培ったRubyの知識を、最短ルートでPythonの知識に変換できる」 ということです。AIは、あなたのRubyスキルをPythonスキルに変換するための「高速コンバーター」として機能します。


結論としての提案

「Rubyを捨てる」のではなく、「Rubyという母国語を持ったまま、Pythonという公用語も操れるようになる」 と考えてみてはいかがでしょうか。

未練があるのは、Rubyという言語に愛着があるからです。その愛着は捨てずに、個人のプロジェクトや副業、あるいは将来的なキャリアの選択肢として大切に持っておいてください。

しかし、今は「Python」という新しい道具を箱から出し、7年前の自分よりも遥かに強く、賢くなったあなたが、それをどう使いこなすかを楽しんでみてください。今のあなたなら、7年前のような苦労はせず、もっとスマートに習得できるはずです。

※ Gemini は不正確な情報を表示することがあるため、生成された回答を再確認するようにしてください。

#8

fana

総合スコア12308

投稿2025/11/28 08:37

編集2025/11/28 08:44

「キャリア」とか「スキル」とか書いてあるので「仕事の道具として」の話なのでしょうけど,

  • あなたにとって,仕事の道具でしかない物なのであって
  • 今後,仕事の場で一切使わないということになった

……みたいな状況なのであれば,「捨てる」ということになるんでしょう.
これは寂しいけど仕方ない.

上記2つの条件の少なくも一方が偽であるならば,別に捨てなくてもいい(捨てるかどうかはあなた次第)ということになるでしょう.
(趣味で使うとか,ちょっとした作業に使うとか)

私の場合,仕事の道具は最初は C/C++ だったんですが,だいぶ前からそんな仕事は皆無なので C/C++ は完全に趣味の存在になっています.


さすがに「俺が覚えた N88-BASIC は……」みたいな状況であれば捨てない方が難しい感です.

どのような思い

と問われたならば,なんでしょうね,「悲しい」とか「寂しい」とかそういう.

#9

pyon_kiti_jp

総合スコア269

投稿2025/11/29 12:58

皆さんのご意見、ありがとうございます。
レガシーなスキルは捨てるのではないといったご意見が多かったです。
確かにその通りですね。現実的にRubyはまだまだ使われています。コミュニティも盛んなようですし、バージョンアップもどんどんと行われているということは、まだまだ将来性があると言えるかと思います。
一時Rubyはおいとまになったとしても、また将来使う機会がある可能性は十分に考えられます。
1つの技術を突き詰める事よりも、新しい技術が出てきたときに、短期間で習得できることが、エンジニアにとっては一番重要なことなんだろうなと思います。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

この意見交換はまだ受付中です。

会員登録して回答してみよう

アカウントをお持ちの方は

関連した質問