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

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

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

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

Java

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

Q&A

7回答

348閲覧

今から学び始めるとする場合、古めの言語の扱いについて

programmer-god

総合スコア21

Ruby

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

Java

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

0グッド

5クリップ

投稿2017/06/23 15:49

編集2017/06/24 18:30

質問です・・・今からプログラマーになる場合、
古い言語(C,perl,HTML4など)と比較的新しい言語(ruby,HTML5など)がありますが、
やはり古くて廃れかけてる言語より、新しい言語を学ぶほうが良いでしょうか?

ただしJavaは現在、需要が一番高いということと、汎用性も非常に高いらしいので まずメインとしてJavaと同時にHTML5 CSS そして次にRubyを考えています。 独学でオンラインを始めたばかりで、今は初級レベルです。 今現在で、需要はあるけど人気の下がっている微妙な言語を今から学ぶとした場合、覚える頃には もっと人気もなくなってそうですし、古い言語はできる人も多いし専門的レベルまで極めてる人も多いので その競争率の激しい土俵で挑むよりかは、汎用性の高い言語1つ+比較的新しい言語(Ruby HTML5)を 学ぶ方が良さそうだと思いました。 新規転職者の場合、古い言語を学ぶより、新しい言語を覚えた方がエッジ(優位性)が効いていると 思いますが、経験者のみなさまなら今から初心者でエンジニア界へ参入する場合、どっちの選択をとられますか? 繰り返しになりますが、 もちろん、需要の関係もあるので汎用言語のJAVAは抑えた上で、新言語も学ぶ流れです。

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

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

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

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

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

guest

回答7

0

新規転職者の場合、古い言語を学ぶより、新しい言語を覚えた方がエッジ(優位性)が効いていると

思いますが、経験者のみなさまなら今から初心者でエンジニア界へ参入する場合、どっちの選択をとられますか?

言語の古い新しいではなく、どの業界に行きたいと考えているかではないでしょうか?
組み込みに行きたいなら未だにCでしょうし、webに行きたいならJavaScript+css+αは必須でしょう
優位性うんたらを考えるなら、言語系の古い新しいではなく、行きたいと考えている業界にフィットする言語を身につけることをオススメします

高等数学バリバリできるならPythonは学んでおくといいかもしれませんね
でもPythonができるようになったからといって、高等数学がチンプンカンプンならPythonが主戦場の業界でやっていけないと思います
言語系の知識はいわゆる日本で働くにあたって日本語が話せるかレベルの話くらいに考えておくとよいかもしれません

もちろん、需要の関係もあるので汎用言語のJAVAは抑えた上で、新言語も学ぶ流れです。

ぶっちゃけJavaだけ押さえるにも相当奥深いですし、もし本当に火消しができるレベルまで押さえられたのならそれだけで食っていけますよ
気分を害されたら申し訳ないですが、逆にチュートリアル+αを済ませただけレベルの言語をいくつ増やしてもあまり手札にはならないのかなと

なんか質問から「あれこれつまみ食いしてみたいです」感が感じられたので..

投稿2017/06/23 20:09

dojikko

総合スコア3939

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

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

0

自分ならCとjavaは鉄板です。近年はWebについての技術を身に着けたいです。

念のため一応断っておきますが、言語が単独で存在することはありえません。対応するコンピュータの環境次第です。たとえば、C言語はUNIXとセットで発展した経緯のあるものです。javaもJVMのサポートを背景としています。また、Objective Cは、従前から存在するものでありましたが、iPhoneアプリ作成に使用され始めるまではマイナーなものでした。

要するに言語自体の問題だけでなく、周辺環境にも大きく依存するといえます。言語はあくまでも開発のための一手段に過ぎないものです。言語を使って何を作りたいのか、大きな目標、目的を先にとらえておかないと話がまとまらないと思います。

投稿2017/06/23 17:02

HogeAnimalLover

総合スコア4830

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

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

0

非プログラマー職からプログラマーへの転職を考えている。
その際に有利となる条件としてどのようなプログラミング
言語を習得しておくべきか? ということですかね。

現在どれほどのスキルをお持ちか分からないので断定的なことは
申し上げられませんが、アプローチが違うんじゃないかなあ、と。
転職するほどの動機をお持ちなのですから、目指すところが
あると推察いたしますが、そのためにプログラミング言語の
選択をするのは少々意識がずれていると思います。

プログラミングは手段であって目的ではないはずです。
そのへんをはき違えていると、なかなか思うように
事が進まないと予想いたします。

ちなみに、自分がオススメするとしたら関数型言語かな。
習得するのは難しいでしょうが、これからプログラミングの
世界にチャレンジするなら大きな力になることでしょう。:-)

投稿2017/06/23 17:18

takasima20

総合スコア7458

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

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

0

言語の流行り廃りはありますが、プログラミング自体に慣れてくれば、
言語の乗り換えだけなら、そんなに大問題ではないです。

Javaが書けるなら、C#も書けるようになります。
Rubyが書けるなら、Pythonも書けるようになります。

言語の選択も重要だと思いますが、しかし本当に重要なのは、
言語自体だけではなく、言語を使って何をするかの選択です。


イメージしやすいので、自動車を使った職業で考えてみましょう。

カーレーサー、ピザの宅配、タクシーの運転手とか。
いずれにしても、自動車やバイクが運転できるのは当たり前だし、
運転技術があれば、車種が違っても、すぐに乗りこなせるでしょう。

しかし、車で何をするかが違います。レースなら速さを競いますが、
ピザの宅配だと飛ばせないので、空いてる道を選ぶとか。
タクシーなら、客を拾う営業的な要素も大きいでしょう。


だから、Java自体が使えるだけじゃなくて、Androidアプリが作れるとか、
Ruby自体だけじゃなくて、RailsでWebアプリが作れるとか、
Python自体だけじゃなくて、機械学習や数学の知識があるとか。

言語自体よりも、その言語を何に使うのか、という市場を見ると良いと思います。
言語の基礎ができることは当たり前で、その上に載せた付加価値で差が付きます。

質問者の方は、言語の新旧だけを見ているようですが、
たとえば、IoTのプログラムを書くなら、
一周回ってC言語が向いていると言われていたりします。

だから、未来のビジョンを持って、そこで必要な技術を身につけておくのが理想です。

ただ、そこで迷うようならさしあたり、メジャーな言語が一本と、英語、数学ができれば、
将来的に新しい潮流が出てきても、比較的早く対応できると思います。

機械学習にしろ、仮想通貨にしろ、
ITの新しい分野ではたいてい、英語と数学が要求されます。
逆に、流行の技術はすぐ廃れたりもします。フロントエンドのフレームワークとか。

だから、最新の言語やフレームワークの習得だけで力を使い果たさないで、
英語と数学を細く長く学ぶのがオススメできると思います。

投稿2017/12/24 22:21

LLman

総合スコア5592

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

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

0

新しい言語を優先的に学ぶよりは、長く幅広く使われている言語(Java,PHP等)を学びプログラマーとしてコアになる技術を身につけることが優先です。
あとは、コアになる技術を元に他の技術を取り込み、自分のできることを増やしていく必要があります。

また、開発経験の無い人が新しい言語をできたところで、それは優位性にはなりません。
コアになる技術がある人は数週間で新しい言語を学び戦力になります。

投稿2017/06/24 00:32

yona

総合スコア18155

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

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

0

まぁ言語うんぬんよりはどんなものを作っていきたいのか、どんな職種のエンジニアになりたいのかの方が大事かもしれませんね。
ブルーオーション戦略なんて言葉が一時期流行りましたが、プログラミングの仕事もいろんな種類があるので。

いろいろ手を出しすぎて、結局浅い知識しか身につかないよりはjava一本で集中して勉強した方が強いと思います。スポーツ選手でもサッカーもバスケも野球も両方練習しているなんてプロ選手がいるとか聞かないですよね?

投稿2017/12/24 19:38

imamoto_browser

総合スコア1161

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

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

0

私は趣味&独学でやっています。

必ずしも

新しい言語 = すばらしい言語

ではないです。

例えば、聞きかじりですが、組み込み系では今でも C/C++が普通らしいです。

Javaとかだと 大掛かりすぎて 使いにくいようです。

即仕事に生かすという意味では 有名な言語で かつ 需要が高めの言語 をやりますが、
プログラミングそのものを理解したいなら
廃れかけの言語もやるべきです。

例えば C言語のように、ポインタという概念や、オブジェクト指向で組まないとどうなるかとか。

そういうのがわかってこそ、プロというものでは?

なので、私なら

若干余裕がない: 自分が目指す仕事で使う言語に取り掛かる
若干余裕あり : 廃れかかっている言語等もやってみる

かなと。

プログラミング界隈? では「オブジェクト指向はすばらしい」と言われていますが、理由はご存知でしょうか?

「管理がしやすい」, 「組みやすい」...

確かにそれもメリットでしょう。

ですが、オブジェクト指向でないと無理 ではないはず。

例えば C言語。
これはオブジェクト指向じゃないので、管理がしづらいか。
やり方によっては普通に管理できる。
( 関数名とか変数名とかを a, b, c とかにしてわかりづらくするとかでなければ。 )

オブジェクト指向じゃないと無理とはいえない。

逆にオブジェクト指向でも下手糞なやつが組めば、
いわゆるクソコードとなる。

ではいったい、オブジェクト指向とは何か。
説明できる人、いったいどのぐらいいるでしょうか。

私は適当に情報を集めて読んだり、自分なりの解釈でやっているので、確実ではないですが。

例えばこういうのがあります。

オブジェクト指向とは

これでもわかりにくいですが、
「オブジェクトとは物である」よりはわかりやすいかと。

C言語等のソフト開発やゲーム開発では廃れかけている言語でもやってみると、
「なぜオブジェクト指向なのか」とかがわかるようになったりする。

よって、私ならできる限りいろんな言語に挑戦しますね。

ただ、アセンブラとかは Windows XP以上 だと使えないようです。
C/C++にインラインアセンブラと呼ばれる方法? で組み込めばできるようですが、
純粋なアセンブラでは不可なようす。

そういう、環境的に無理とかなら仕方ありませんが、そうじゃなければ挑戦しますね。

投稿2017/06/24 04:36

BeatStar

総合スコア4958

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問