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

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

新規登録して質問してみよう
ただいま回答率
85.50%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

18回答

2839閲覧

就職に必要な言語

cz5hxzrr

総合スコア21

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

7クリップ

投稿2015/11/08 13:11

現在C言語から始めてる初心者です。
趣味としてやっているのですが、将来を考えると昔からプログラマーにはなりたいと考えていたのでそういう関係の職に付きたいなと思いました。
そこで質問なんですけど、Cを覚えた後に覚えるべき言語は何ですか?触りだけならphp,pythonを少しだけやっていました。
また、やるならLinuxでやった方がいい等あれば教えて欲しいです。僕の環境はWindowsです。

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

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

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

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

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

guest

回答18

0

求人情報から導き出した興味深いランキングを紹介しておきます。

プログラミング言語別給与ランキング【2015年版】

時代はScalaです。Scalaをすれば一番いいって事です!

と言うわけではありません。このランキングの面白いところは、需要に対して供給が満たしていなければ、給料も高いと言うことです。Scalaはまだできる人がかなり少ないと言うこともありますが、需要自体もまだまだ少ないです。また、安定性を重視する企業は新しいモノ(Scalaは比較的新しい言語)を避ける傾向にあるため、先進的な取り込みするベンダー以外では需要がありません。逆にいうと、そういった先進的な技術をどんどんやりたがるような企業(そのサイトにもあるとおり、サイバーエージェントやドワンゴとか行った所)に入りたいなら、Scalaは有利とも言えます。

求人が最も多いのはJavaです。でも、できる人が多いのもJavaです。だから、それほど給料は高くありません。そのサイトの分析にもあるとおり、Javaの人気は横ばいで有り、今後徐々に下降すると言われています。つまり需要は減ります。でも、Javaをできる人がJavaを忘れるわけではないので、供給は変わりません。しばらくは求人数は他よりも多いままでしょうが、ライバルも多いままなので、就職という観点から見ると、採用への競争率は上がる可能性が高いです。

あと他の皆さんも書いていますが、言語によってできる得意分野が変わります。PHPはWebアプリ以外での採用はほとんどありません(逆にWebアプリが最近の主流であり、需要もかなり多いとは言えますが)。SwiftObjective-CはiOSとMacOSの開発にしか使えません。そういった点も注意です。

ただ、○○系はこの言語ってのも崩れつつあります。組み込み系ならC/C++だろと昔から言われていますが、組み込みシステムであっても、中身をAndroidにしてコア部分の開発を効率化して上のアプリは他言語で作ったりしたり、mrubyなどという組み込み向けのRubyとかあったりと一概に言えません。Webアプリもエンタープライズ向けはJavaと言われていましたが、先進的なところはScalaを使ったり、応答などにシビアでなければPHP/Rubyなどの軽量言語で開発効率を重視したりしています。iOS/Android向けアプリも**C#**で作成できるようになるなど、Swift/Objective-C(iOS)やJava(Android)一択だった時代は終わりになりつつあります。

色々書きましたが、どんな会社がどんな言語で募集しているかを覗いてみるのもいいかもしれませんよ。

投稿2015/11/08 22:30

raccy

総合スコア21733

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

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

0

プログラマになって何を作りたいか?でその先が見えてくるかな、と思います。
作りたいものによって、言語には得手不得手がある(培われてきたものが違う)ので、
是非とも、その先を想定して踏み出してみては如何でしょうか。

組み込み系・・・冷蔵庫や洗濯機、エアコンや車などの制御など
オープン系・・・代表的なものでWEBアプリ開発など
エンタープライズ系・・・顧客システムや金融システムなど

投稿2015/11/08 13:28

Ken.sakanakana

総合スコア1768

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

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

0

やっばり英語が最強かも。
ソフトウェアが一番進歩しているのはアメリカです。
なので、様々な資料やQA等も英語が一番充実してます。
私は英語を読めないことはないのですが、時間がかかるのでマジ苦労してます。

コンピュータ言語については、みなさんのおっしゃる通りですね。どの分野に進みたいかでどの言語に注力するのが良いか異なります。
が、いずれにせよ、C言語のポインタをそれなりに使いこなせるようになっておくことをお勧めします。
ポインタを使いこなせないと一々無駄なコピーをするソフトしか作れませんので、優秀なプログラマーにはなれないです。
JavaやC#でさえポインタだらけです。そして、それが隠されているので知らないとハマったら抜け出せないですし。

投稿2015/11/08 15:06

Chironian

総合スコア23272

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

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

0

c の次なら c++ か c# か swift です。
オブジェクト指向を学ぶことが重要です。

OS は linux か mac も使ってみることをお勧めします。
プログラマにとっては、OS のコマンドラインを使えるようになることが重要と考えています。
でも linux/mac と wondows ではコマンドライン機能に大きな差があり、windows 系は貧弱なのです。

投稿2015/11/08 14:54

katoy

総合スコア22324

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

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

trick

2015/11/09 00:39

私も katoyさんの意見に賛成ですね。 オブジェクト指向を学んでおけばある程度つぶしが効きます。 後はどのような方向に行くかですが、データベース関係も勉強しておくと 良いと思いますよ。
退会済みユーザー

退会済みユーザー

2015/11/09 14:53

katoyさん、trickさんの意見に賛成ですね。 何らかメジャーなオブジェクト指向言語を習得して置かないと、そもそも参画出来るプロジェクトが、簡単なWeb系のプロジェクト以外なくなります。 業界としても、選択肢がほぼなくなりますね。
katoy

2015/11/09 14:59

言語に焦点をあわせるより、 テキスト処理、データベース、ネットワークプロトコル、セキュリティ というように技術的なトピックをベースに考えていったほうが良いかもしれません。 (言語は時代や環境で変化が激しいが、技術的な概念は大きくは言語よりは変化が少ない)
katoy

2015/11/09 15:06

オブジェクト指向を机上だけで考えていると、 実装時のメモリ量、計算量などについての考慮が欠けてしまうことがあります。 基本的なアルゴリズム、データ構造、デザインパターンについて学ぶことが必要です。 また、ソフトウエアの開發手法について勉強・経験を重要です。
catsforepaw

2015/11/09 21:37

Windowsのコマンドラインが貧弱とは聞き捨てならないですね。 Windowsは7の頃からコマンドラインシェルがPowerShellに置き換わっています(いわゆるDOS窓は互換性のために残されているだけです)。Windows ServerをCoreオプション(CUIのみ)でインストールした場合は、コマンドプロンプトがPowerShellになります。 というわけで、コマンド類が豊富に揃っていて.NET Frameworkのクラスライブラリも使用可能なので、LinuxのシェルでできてPowerShellでできないことはないですね。むしろ逆はたくさんあるような気がします(Linuxのシェルはたくさん種類があるので全てを把握しているわけではないですが……)。 と、つい気になったもので横から口出ししてしまいました。あまり気にしないでください。
katoy

2015/11/09 22:21

はい、すいません。(powershell はよく知りません) コマンドラインのことを書いたのは, コマンドラインには、パイプ、リダイレクトなど unix の心 (小さな部品を組み合わせて使う) が現れています。 この思想を身につけることが重要と思ったからです。
退会済みユーザー

退会済みユーザー

2015/11/09 23:38 編集

Powershellは、コマンドライクにも、プログラムライクにも書く事が可能です。 unixのシェルですと、プログラムで出来ない事を無理やり実現させているプログラムが多く、更に、プログラム言語では絶対にやってはいけないとされるロジックも、その無理やりさ故に使用されていたりします。 その為、シェルやdosコマンドは、あくまで、コマンドの自動実行であって、プログラム言語を習得するのには、適していません。
katoy

2015/11/10 22:18 編集

> ... プログラム言語を習得るのには、適していません。 はい、そう思います。 Windows 以外のOS の使い方にも慣れておくことが必要と言いたかったのです。
trick

2015/11/11 01:38

katoy さんの言うように windows以外のOSを使用してみるのはいいことだと思います。 今は仮想化等で手軽にできますし。
guest

0

どの分野に進むかに依存すると思います。

Windows アプリ系なら、C#とか、 Visual なんちゃら系に行けば良いでしょう。
Web系なら、javaとか、
エンベディッドな分野に行くなら、アセンブラの理解は多かれ少なかれ必用だと思います。

投稿2015/11/08 13:22

T.Kanno

総合スコア915

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

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

0

実際には基礎だけ覚えても通用しないことが殆どです。
まずは、覚えた知識を使って2,3ヶ月かけて何かを作ってみるのがいいです。
勉強するなら広く浅くではなく、狭く深くを心がけましょう。
C言語で満足したものが作れた後に、Web系言語、オブジェクト指向言語と順次学んで行くのがいいと思います。

就職でアピールするなら、「この言語ができる」ではなく、「こう言うものが作れる」とアピールする方が断然よいです。

投稿2015/11/09 08:35

lilithchan

総合スコア249

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

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

0

皆様の回答内容は、どれも経験に基づいた深い内容なので、熟読なさった方が良いですね。
それと、ほぼ全てに共通しているのが、まず 何をしたいかどんな分野に進みたいか を具体的に考えるべきということだと思います。

とはいえ、具体的にと言っても、最初はあまりイメージが湧かないと思います。また、興味の対象も、技術を追い続けて行く中でドンドン変わって行くかもしれません。

実際に就職活動を始める時期をどの程度先に設定されているかによっても、アプローチ方法が変わってくると思います。
しかし、どんな言語を学ぶにせよ奥が深く一朝一夕に熟達出来る訳ではありませんし、同じ言語を使用していても会社によってコーディングスタイルも求められるスキルも全く異なります。

そこで、自分ならば以下のアプローチ方法を推奨致します。

  • C および JavaScript の基本をしっかり身に着ける
  • C# か Java で極簡単なアプリを1~2個作ってみる
  • 進みたい分野がある程度決まったら求人情報から魅力的な会社をリストアップする
  • リストアップした会社の求める言語スキルについて「少しだけ」掘り下げる
  • 上記を繰り返す中で、周辺の知識を浅くても良いので出来るだけ幅広く貪欲に吸収する
  • 英語のドキュメントにも積極的に目を通し、情報収集力のアップに注力する

ある程度の年齢になると即戦力を求められますが、企業が若手を採用する場合は、基礎的な概念 をしっかり身に着けていることと コミュニケーション能力 の高さを重視しますので、言語スキルの習得は二の次で良いと考えます。

C と JavaScript は、プログラミングの概念を習得するのに有用なだけでなく、どんな分野に進んでも実開発に携わる際に 便利な道具 として活用出来るので、是非とも基礎を習得してください。

C# か Java は、言語の習得よりも オブジェクト指向 の概念の理解を目的としてください。

特定の言語自体の習得を重視するのは、希望する就職先が明確に求めている場合だけで十分であり、それ以外は 基礎をしっかり理解 していることを強調できれば十分です。

開発(学習)はWindows環境メインでも構いませんが、linuxの知識は結構重要ですし、ネットワークに関する基礎的な知識も不可欠なので、仮想環境にlinuxサーバーを構築(例えばMySQLをインストールしてアクセス)出来る位にはなっておいた方が良いと思います。

投稿2015/11/09 07:39

pi-chan

総合スコア5936

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

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

0

こんにちは。
分野によって使用言語に対する効率と需要が異なるのでズバリこれとはいいづらいですが、
この業界で長く食べていくにあたり言語の習得と並行して大切なことは、コードを書きながら、ハードウエア(PCと周辺機器)やシステム(OS、ネットワーク、データベース)、それから代表的アルゴリズムの仕組みを知ることです。
その観点では、C/C++言語は趣味や仕事で作りながらハードウエアに関して深くアプローチでき、アルゴリズムについても明快なコードが書け、開発ツールも充実しているので、仕事をしながらいろいろ身につけていけます。
将来つぶしが効きそうな点では、Microsoft .NET Frameworkに近し C#を個人的にはおすすめします。オブジェクト指向の考え方がコードを書きながら自然と身に付く言語です。組み込み系でも利用でき、C++やJavaとも考え方やコードが似ていて、無償Visual Studioが秀逸です。何より、ハードウエアやデータベースの奥深くまでライブラリが用意されているので生産性が高いです。
そのあたりのさまざまな案件を多く扱う会社で働くうちに、技術が身に付き、応用範囲が広がっていくものと考えます。

投稿2015/11/09 00:35

編集2015/11/09 00:46
hsk

総合スコア728

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

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

0

今、C言語から勉強を始めているのなら、まずはC言語を極めたほうが良いと思います。
C言語をある程度習得できれば、他の言語の習得は、かなり楽になると思います。

投稿2015/11/08 13:51

tohshima

総合スコア374

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

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

0

Cを覚えた後に

ここが一番の問題点ではないでしょうか?
プログラマになりたいと考えていた との事ですが、「Cを覚えた」「環境はWindows」…
では、どんなアプリケーションが作れますか?作れませんよね?

人に使ってもらえるアプリケーションをしっかり仕上げましょう。それを改良し続けてみましょう。

今後、どの様な就職を考えているかわかりませんが、趣味で覚えた知識なんて役に立たない部分の
方が多いものです。「CでもC#でも、JavaでもPHPでも書けます。10行位なら」じゃダメですよね。
出来れば、構造化・オブジェクト指向言語が良いですが、じっくり取り組んで、成果物を残しましょう。
Javascriptでも良いんです。ちゃんと手の込んだページを作りあげられれば。その為にはHTMLだCSSだ
Linuxだ、Apacheだ…必要な知識は自然と見えてきます。

投稿2015/11/17 16:01

Yasuto

総合スコア32

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

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

0

逆に、就職するのにやめた方が良い言語
PHP,javascript,VBA,ruby
※言語表現があいまいな物や、
そもそも使われる頻度が少ない言語はやめた方が無難です。
就職してから、苦労する事になるので・・・。

みなさんと同じ様な事ですが、
そもそもどの業界で働きたいのですか?
その業界により、使う言語もシステム設計も違うため、
一概に、どの言語と言えません。
大抵、どの業界のシステムも2~3の言語を組み合わせて使用していたりします。

・物流業界
→物流系システム
・製造業
自動車、機械、鉄、繊維etc.
→販売系業務システム等
→組み込み系システム(機械制御等)
・メーカー
・通信業界(NTT、KDDI、ソフトバンク等)
・ゲーム業界(多岐に渡る)
・医療業界(電子カルテ等)
・銀行業界(ATM等)
・宇宙開発系
etc.

結局、どの業界に行きたいかによります。
言語から選ぶものでは、ないと思います。

くどいですが、javascript、PHPだけは止めておきましょう。
と言うのも、業界としての選択肢がほぼWeb業界以外なくなります。

他の方も言われていますが、.NETやJAVAなどの
オブジェクト指向言語の習得をお勧めします。

また、言語のみならず、どちらかと言えば、
どの言語もそうですが、ORACLEやSQL Serverなどの、
データベースの基礎知識は必要です。

My SQLは、SQLを理解するには良いですが、
ある程度きちんとしたプロジェクトですと、
あまり使う事はないので、趣味程度にしておきましょう。

投稿2015/11/08 17:01

編集2015/11/09 15:08
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

こんにちは。
インターンシップ先で実際に働いている先輩方にお話を伺いました。

業務システムにおいては業界問わず、Javaが使われているのが一般的だそうです。
また、組み込みについては基本的にはC言語が多いそうです。
なので、もしプログラムを勉強したいのであれば、CとJavaは押さえておくと良いかと思われます。

ただ結局は、業界によって使う使わないが変わってくるので、どの業界に進みたいかを吟味して考えると良いでしょう。
展望像が見えてきたら、そこからが勝負です。

また、プログラミングに限らず、データベースやOS(特にLinux系統)についてもしっかり勉強しておくこともおすすめします。
この分野はシェルを扱いますのでコアな部分を扱うにせよ、非常に重要だと考えられます。

かなりの勉強量になりますが、頑張ってくださいね。

投稿2015/11/11 06:33

Kazu_Zen

総合スコア14

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

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

0

一つの言語をある程度、学習しておけば、他の言語を使用する際に
それほど苦労しないと思います。

他の方も言われていますが、どの業界に進みたいかによって使用する言語は
変わってくるので、この言語をやればよいという回答は難しいと思います。
最近はどの言語でも開発環境が構築しやすいので、気になる言語を
触ってみるというのもよいかもしれません。

投稿2015/11/09 00:20

tomo.ina

総合スコア357

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

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

0

言語の習得は奥が深すぎて終わることはありません。

そのため、C言語をメインに勉強しつつ、他の言語は書籍等で言語仕様を学ぶ程度にたくさんの言語に触れることをお勧めします。

就職するまではその言語で「どのようなことができるのか」、「どのようなことに向いているか」、「他の言語ではどうなのか」などに絞って広く勉強するべきだと思います。

投稿2015/11/08 14:02

yona

総合スコア18155

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

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

0

年齢・学歴にもよるので一概には言えませんが、「高卒か文系大学卒で、20代前半くらいで、今はプログラミングと関係ない仕事をしている」という前提で書きます。

Windowsを使い続ける ならば、 C# を学ぶべきです。
Visual Studio Community をダウンロードして、何か作ってみるべきです。
https://www.visualstudio.com/ja-jp/downloads/download-visual-studio-vs.aspx

就職先も、おそらく、まっとうな働き口が多いです。

また、 第二新卒枠などで大きなIT企業に就職したいのであれば、 Javaが一番確実でしょう。

あなたが中高生ならば、きちんと勉強するという意味で C++ を学ぶのも良いでしょう。また、今ならスマートフォンアプリを開発するのも良いし、Webアプリを作るために Rubynode.jsPython も良いでしょう。友人や先輩がいるなら、彼らに合わせたものを使うのがベストでしょう。まだまだ可能性はたくさんあります。

あなたが30歳以上で、転職を考えているとかなのであれば、 VisualBasif for Application 通称 VBA はどうでしょうか。
Excelを自動化するのに使う言語で、職業プログラマはあまり使いませんが、事務職から建設業の工程管理・商社・スーパーの購買管理・懇親会の管理などで様々に使われています。
営業職などでも、これが使えればプラスアルファとしてかなり役に立つでしょう。

投稿2015/11/12 15:23

kohashi

総合スコア158

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

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

0

プログラミング言語は所詮ツールです。メカで言うとスパナやレンチなどの道具に近いです。それを使ってモノを組み立てて動かすわけです。
しかし、就職するにあたって何か言語(ツール)を扱えると言うのは1つのアドバンテージにはなります。
なので、メジャーな言語をこなせられるのなら有利にはなるでしょう。(C,C++,C#,Javaあたりでしょうか。社内で教育する手間が省けるという意味で有利)
それより、どのようなプログラム(アプリ)を作成できるかという方がセールスポイントにはなると思います。ツールは今はあまり使えなくても論理や処理の流れを構築できる力があれば、会社側としては魅力として映ります。
どのような考えで、どのように課題を解決するのか、そういう論理的な思考がしっかりしていれば言語なんてその気さえあれば就職してからでもいくらでも覚えられます。
ただ、C言語とC++ではオブジェクト指向というある種の壁があります。ここは1つのポイントです。これは、プログラミングのパラダイム転換で、抽象的な思考が要求されるので挫けてしまう人が多いようです。
学び始めは、よりたくさんのソースコードを読むことだと思います。

投稿2015/11/12 09:59

PineMatsu

総合スコア3579

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

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

0

Windows環境しかないというなら、Linuxをおすすめします。
(仮想化技術も広まってますから、手軽に構築できると思います。Virtualboxとか、VMwarePlayerとかで)
まあ、Macという流れもありますが自分がApple信者では、ないので薦めませんが
(Unixライクなので、ネットワークには強いという押しも聞いてたりするんですが、、、Apple製品は、PCが高い!!)。

Cを学んだあとなら、簡単なゲームでも作れればいいと思います。
ゲーム等が一応作れるんであるならアルゴリズム系統もなんら不憫無く理解できると思いますし、ネットワーク等ならほとんどC言語が絶対必須な気がします。

そしたらJavaなんてちょろくて簡単に書けますしね。
逆にJava技術者だった人からCを学ぶと相当つらいと多々聞きますが、、、

Webをやるんだったら、Pythonが良いかと思いますよ。
PythonはCライクですし、コード量も少なくて、飲み込み速いかと思います。

投稿2015/11/27 08:20

Ray

総合スコア28

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

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

0

android,rubyをやってください。⇦おしつけです

投稿2015/11/21 19:33

matsumoto

総合スコア590

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問