質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

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

IDE

IDE、統合開発環境((Integrated Development Environment)とは、テキストエディタ以上の機能を提供して、ソフトウェア開発を効率をあげるコンピュータプログラムを指す。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

6回答

443閲覧

何故rubyみたいなインタプリンタ言語には専用のIDEみたいなものがないのでしょうか?

widget11

総合スコア221

Ruby

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

IDE

IDE、統合開発環境((Integrated Development Environment)とは、テキストエディタ以上の機能を提供して、ソフトウェア開発を効率をあげるコンピュータプログラムを指す。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/11/20 01:50

編集2018/11/20 01:56

ちょっと語弊がある書き方かもしれませんが質問は概ねタイトル通りです。
自身はrubyと並行してc#を学んでいるのですが、実行環境が結構異なることに驚いております。
c#は同じくmicrosoftが開発しているvisual studioを使うことが多いと思います。
僕はプログラミングの世界にrubyから入ったのですが、visual studioを使って驚いたのが高度なインテリセンスとそしてブレークポイントを置いたデバッグ機能です。rubyを学ぶ際は学んだ教材の実行環境の問題かもしれませんがこのような機能を紹介されていなかったので驚いております。
厳密に言うとrubyにはruby mineという有償IDEがあるらしいですが、、、rubyやjavascriptのような言語にIDEが使われているイメージがあまりなく基本エディタでの開発がデフォルトになっている気がします。
C#と似たJavaも同様にEclipseやNetBeansのようなIDEを用いた開発がメジャーと聞きます。
質問をまとめるとこのような開発環境の違いの理由は言語仕様による問題なのかということです。インタプリンタ言語かコンパイル言語かの違いが関係しているのでしょうか?
抽象的な質問ですが宜しくお願い致します。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

ベストアンサー

単にGUIを開発するのはとても大変だからです。
ちょっとでも変な動きすれば、このIDEの開発者はまともに言語の仕様も知らないのかよと叩かれるでしょうし、
旬な言語は数年で言語のアップデートが入って新しい関数が追加されたり、削除された関数のメンテが必要になります。
個人の開発者が片手間で作って公開しても割に合わないでしょうね。

企業も採算が合わないならIDE(ソフト)なんて作りません。
MS社はVSというIDEを開発してますが、C#で製品出る→Windows売れる→メインの売上に貢献してMS社嬉しいというビジネスモデルを開拓しているからやってるだけの話で、他の会社も似たような理由により開発しているケースが殆どでしょう。
(まぁ、MS社はVSの企業向けモデルでガッツリ稼いでいるようですが)

インタプリンタ言語には専用のIDEみたいなものがないのでしょうか?

ありますよ。

PHPは他のインタープリター言語に比べるとIDEが沢山出ているように思えます。
元々PerlやRuby、Pythonは玄人が好む言語であり、こういった人種は使い慣れたエディタで十分です。
(よほど軽くて優れたIDEでもあれば別ですが、別になきゃないでどうとでもなるという意味です)
PHPはWebが流行り始めた2000年代にわーっとエンジニアが殺到してきた為にIDEの需要が高かったのでしょう。

2009年にJetBrains社のIDE、PHPStromがリリースされます。
これがまた恐ろしく優秀で、日本でも2010年にはいって「PHPStormは最強」ともてはやされだし、
どこの勉強会へ参加してもおすすめのIDEを聞けばPHPStormを勧められるほどです。
エンジニアは月何十万も稼ぐんだから年1〜2万で済むなら安いものでしょう。

これと横展開で登場したRubyMine、PyCharmも非常に優秀で、大絶賛です。
メインの開発ツールをVimからRubyMineに変更した理由 - Qiita
最強のPython統合開発環境PyCharm - Qiita

近年RubyやPythonも火がついた感じで多数のエンジニアが参入してきていますが、
もう一人勝ち状態のRubyMineやPyCharmがあるので、もう全部こいつ一人で十分じゃないか状態ですね。
私も新しい言語用のIDEを考えるなら第一候補はJetBrains社の製品です。

投稿2018/11/20 03:28

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

widget11

2018/11/20 05:23

非常に参考になりました!!!IDEの歴史面白いですね! 重ねて質問になってしまい申し訳ないのですが、リンクの”メインの開発ツールをVimからRubyMineに変更した理由”を拝見したのですが何故動的型付け言語はIDEに向いてないのでしょうか?コンパイルという段階を踏まない為ですか?
miyabi-sun

2018/11/20 05:35 編集

記事の中でちゃんと書いてありますよ。 > Rubyは動的型付言語です。つまり、実行する瞬間まで何がどうなるか事前に予測するのは困難です。 > ・・・と思い込んでいました。西見さん(@mah_lab)のこのブログを読むまでは。 「単なる思い込み」で終わりなんですが、私が文章を読んで何故そう思ったのかを意訳します。 (もちろん真意は私が知るわけないので、どうしても気になるなら、その人本人に聞いてくださいね。) 実行が予測出来ないから「IDEはどう振る舞えば良いか定義できない」 →仕様が定義出来ないプログラムを作れるわけがないという理屈でしょう。 まぁ、実際には別に動的型付言語だってコンパイルして動作するんだから、 実際にコードを読み込んで人間が手作業でマッピング作るのと同じ事すりゃええやんって話で、 実際にJetBrains社のIDEの内部仕様を見た訳ではありませんが、こういった事を頑張ってやってるのだと思います。 PHPStromは触った事ありますが、プロジェクトディレクトリ配下のPHPファイルを全てインデックス取って、ロードもしていないAクラスのインスタンスを変数に格納すると、その変数のメソッドやプロパティ一覧が全部出てきて補完してくれます。
widget11

2018/11/20 09:41

なるほど。言語仕様について考えるいい機会となりました。ありがとうございます!
guest

0

このような開発環境の違いの理由は言語仕様による問題なのかということです。インタプリンタ言語かコンパイル言語かの違いが関係しているのでしょうか?

「インタプリンタ言語かコンパイル言語かの違い」というより、Rubyは極端にメタプログラミングが便利なため、「コードを読んでも使えるメソッドが決まらない」ことが多々あります。

たとえば、

ruby

1class User < ActiveRecord::Base 2end

これはRailsで使われるモデルクラスですが、このUserにどんなインスタンスメソッドがあるかは、データベース構造を読まないと決まりません

投稿2018/11/20 01:57

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

widget11

2018/11/20 02:09

ご回答ありがとうございます。 メタプログラミングに関して調べました。結構理解が難しかったです(笑 つまりアトリビュート(プロパティ)のアクセスメソッドを自動的に定義してくれるから、そこまで懇切丁寧な機能必要ないよねみたいな感じでしょうか?
maisumakun

2018/11/20 02:22

懇切丁寧な支援がし辛い、という意味合いです。
guest

0

余談ですがMicrosoftのVSCodeでもRubyが書けますね。
インテリセンスやブレークポイントも使えます。
VSCodeでRuby On Railsを快適に書きたい
VSCodeでRubyを気軽に実行する環境を作る。

投稿2018/11/20 05:49

Wind

総合スコア442

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

widget11

2018/11/20 09:40

VSCODE優秀ですね! 採用したいなと考えました。
guest

0

私の主観が結構はいっていますが…

単純に、入門書にIDEの説明がないのがそう見える原因ではないでしょうか

大規模に作っているのなら、Rubyでも何らかのIDEを使っているのが普通だと思います

C#は基本的にVisualStudioを使うのが一般的で、
VisualStudio抜きでコンパイルするのはかなり面倒です

しかし、Rubyのようなインタープリターであれば、コマンドラインで実行するのが簡単です
ですから入門の段階ではIDEを使う必要はありません

投稿2018/11/20 02:56

izmktr

総合スコア2856

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

インタプリタに詳しいですが、ソースを書く→実行する→エラーがでる→ソースを修正する・・・というサイクルが一緒に出来るためあまり必要と見なされて居ないのではないでしょうか?

投稿2018/11/20 02:06

cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

widget11

2018/11/20 02:12

ご回答ありがとうございます。 まさしくrubyで開発している際はそのようなサイクルで開発しています。 ただその一緒にできるということがちょっと良く分からず。。。なんというかC#+VisualStudioの環境でもエラーを取り除いたりする場合は同じように行うと思うのですが。。。
guest

0

RubyのおすすめIDE(統合開発環境)5選とテキストエディタ7選

あるようです。

IDEがいらない場合もある

小規模やシンプルなものを開発する場合は、IDEではなくいろいろな環境をつなぎ合わせて利用するプログラミングスタイルや、テキストエディタのみの使用で済む場合があります。

スクリプト言語はもともと小規模な開発に使われていたものです。
そのイメージが強いだけではないでしょうか。

投稿2018/11/20 01:57

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

widget11

2018/11/20 02:03

ご回答ありがとうございます。 つまりrubyでも相応のIDEを使えばブレークポイントのような機能を使用できるということでしょうか? いつもrubyではsublimetextのようなエディタで開発していて、visual studioのように値が入っているかどうかブレークポイントを置いて変数の中身を確認したいなと思うことが多々あるのですが。
Zuishin

2018/11/20 02:17

私も普段 Ruby を使っているわけではないので IDE を使うことはないんですが、リンク先に挙げられている IDE の詳細を調べてみてはいかがでしょうか? http://docs.komagata.org/5178 少なくともトップに挙げられている Eclipse ではブレークポイントが使えるようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問