現在C言語から始めてる初心者です。
趣味としてやっているのですが、将来を考えると昔からプログラマーにはなりたいと考えていたのでそういう関係の職に付きたいなと思いました。
そこで質問なんですけど、Cを覚えた後に覚えるべき言語は何ですか?触りだけならphp,pythonを少しだけやっていました。
また、やるならLinuxでやった方がいい等あれば教えて欲しいです。僕の環境はWindowsです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答18件
0
求人情報から導き出した興味深いランキングを紹介しておきます。
時代はScalaです。Scalaをすれば一番いいって事です!
と言うわけではありません。このランキングの面白いところは、需要に対して供給が満たしていなければ、給料も高いと言うことです。Scalaはまだできる人がかなり少ないと言うこともありますが、需要自体もまだまだ少ないです。また、安定性を重視する企業は新しいモノ(Scalaは比較的新しい言語)を避ける傾向にあるため、先進的な取り込みするベンダー以外では需要がありません。逆にいうと、そういった先進的な技術をどんどんやりたがるような企業(そのサイトにもあるとおり、サイバーエージェントやドワンゴとか行った所)に入りたいなら、Scalaは有利とも言えます。
求人が最も多いのはJavaです。でも、できる人が多いのもJavaです。だから、それほど給料は高くありません。そのサイトの分析にもあるとおり、Javaの人気は横ばいで有り、今後徐々に下降すると言われています。つまり需要は減ります。でも、Javaをできる人がJavaを忘れるわけではないので、供給は変わりません。しばらくは求人数は他よりも多いままでしょうが、ライバルも多いままなので、就職という観点から見ると、採用への競争率は上がる可能性が高いです。
あと他の皆さんも書いていますが、言語によってできる得意分野が変わります。PHPはWebアプリ以外での採用はほとんどありません(逆にWebアプリが最近の主流であり、需要もかなり多いとは言えますが)。SwiftやObjective-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
総合スコア21739
0
プログラマになって何を作りたいか?でその先が見えてくるかな、と思います。
作りたいものによって、言語には得手不得手がある(培われてきたものが違う)ので、
是非とも、その先を想定して踏み出してみては如何でしょうか。
組み込み系・・・冷蔵庫や洗濯機、エアコンや車などの制御など
オープン系・・・代表的なものでWEBアプリ開発など
エンタープライズ系・・・顧客システムや金融システムなど
投稿2015/11/08 13:28
総合スコア1768
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
やっばり英語が最強かも。
ソフトウェアが一番進歩しているのはアメリカです。
なので、様々な資料やQA等も英語が一番充実してます。
私は英語を読めないことはないのですが、時間がかかるのでマジ苦労してます。
コンピュータ言語については、みなさんのおっしゃる通りですね。どの分野に進みたいかでどの言語に注力するのが良いか異なります。
が、いずれにせよ、C言語のポインタをそれなりに使いこなせるようになっておくことをお勧めします。
ポインタを使いこなせないと一々無駄なコピーをするソフトしか作れませんので、優秀なプログラマーにはなれないです。
JavaやC#でさえポインタだらけです。そして、それが隠されているので知らないとハマったら抜け出せないですし。
投稿2015/11/08 15:06
総合スコア23274
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
c の次なら c++ か c# か swift です。
オブジェクト指向を学ぶことが重要です。
OS は linux か mac も使ってみることをお勧めします。
プログラマにとっては、OS のコマンドラインを使えるようになることが重要と考えています。
でも linux/mac と wondows ではコマンドライン機能に大きな差があり、windows 系は貧弱なのです。
投稿2015/11/08 14:54
総合スコア22326
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/11/09 14:53
2015/11/09 14:59
2015/11/09 15:06
2015/11/09 21:37
2015/11/09 22:21
退会済みユーザー
2015/11/09 23:38 編集
2015/11/10 22:18 編集
2015/11/11 01:38
0
実際には基礎だけ覚えても通用しないことが殆どです。
まずは、覚えた知識を使って2,3ヶ月かけて何かを作ってみるのがいいです。
勉強するなら広く浅くではなく、狭く深くを心がけましょう。
C言語で満足したものが作れた後に、Web系言語、オブジェクト指向言語と順次学んで行くのがいいと思います。
就職でアピールするなら、「この言語ができる」ではなく、「こう言うものが作れる」とアピールする方が断然よいです。
投稿2015/11/09 08:35
総合スコア249
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
皆様の回答内容は、どれも経験に基づいた深い内容なので、熟読なさった方が良いですね。
それと、ほぼ全てに共通しているのが、まず 何をしたいか、どんな分野に進みたいか を具体的に考えるべきということだと思います。
とはいえ、具体的にと言っても、最初はあまりイメージが湧かないと思います。また、興味の対象も、技術を追い続けて行く中でドンドン変わって行くかもしれません。
実際に就職活動を始める時期をどの程度先に設定されているかによっても、アプローチ方法が変わってくると思います。
しかし、どんな言語を学ぶにせよ奥が深く一朝一夕に熟達出来る訳ではありませんし、同じ言語を使用していても会社によってコーディングスタイルも求められるスキルも全く異なります。
そこで、自分ならば以下のアプローチ方法を推奨致します。
- C および JavaScript の基本をしっかり身に着ける
- C# か Java で極簡単なアプリを1~2個作ってみる
- 進みたい分野がある程度決まったら求人情報から魅力的な会社をリストアップする
- リストアップした会社の求める言語スキルについて「少しだけ」掘り下げる
- 上記を繰り返す中で、周辺の知識を浅くても良いので出来るだけ幅広く貪欲に吸収する
- 英語のドキュメントにも積極的に目を通し、情報収集力のアップに注力する
ある程度の年齢になると即戦力を求められますが、企業が若手を採用する場合は、基礎的な概念 をしっかり身に着けていることと コミュニケーション能力 の高さを重視しますので、言語スキルの習得は二の次で良いと考えます。
C と JavaScript は、プログラミングの概念を習得するのに有用なだけでなく、どんな分野に進んでも実開発に携わる際に 便利な道具 として活用出来るので、是非とも基礎を習得してください。
C# か Java は、言語の習得よりも オブジェクト指向 の概念の理解を目的としてください。
特定の言語自体の習得を重視するのは、希望する就職先が明確に求めている場合だけで十分であり、それ以外は 基礎をしっかり理解 していることを強調できれば十分です。
開発(学習)はWindows環境メインでも構いませんが、linuxの知識は結構重要ですし、ネットワークに関する基礎的な知識も不可欠なので、仮想環境にlinuxサーバーを構築(例えばMySQLをインストールしてアクセス)出来る位にはなっておいた方が良いと思います。
投稿2015/11/09 07:39
総合スコア5936
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
こんにちは。
分野によって使用言語に対する効率と需要が異なるのでズバリこれとはいいづらいですが、
この業界で長く食べていくにあたり言語の習得と並行して大切なことは、コードを書きながら、ハードウエア(PCと周辺機器)やシステム(OS、ネットワーク、データベース)、それから代表的アルゴリズムの仕組みを知ることです。
その観点では、C/C++言語は趣味や仕事で作りながらハードウエアに関して深くアプローチでき、アルゴリズムについても明快なコードが書け、開発ツールも充実しているので、仕事をしながらいろいろ身につけていけます。
将来つぶしが効きそうな点では、Microsoft .NET Frameworkに近し C#を個人的にはおすすめします。オブジェクト指向の考え方がコードを書きながら自然と身に付く言語です。組み込み系でも利用でき、C++やJavaとも考え方やコードが似ていて、無償Visual Studioが秀逸です。何より、ハードウエアやデータベースの奥深くまでライブラリが用意されているので生産性が高いです。
そのあたりのさまざまな案件を多く扱う会社で働くうちに、技術が身に付き、応用範囲が広がっていくものと考えます。
投稿2015/11/09 00:35
編集2015/11/09 00:46総合スコア728
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
Cを覚えた後に
ここが一番の問題点ではないでしょうか?
プログラマになりたいと考えていた との事ですが、「Cを覚えた」「環境はWindows」…
では、どんなアプリケーションが作れますか?作れませんよね?
人に使ってもらえるアプリケーションをしっかり仕上げましょう。それを改良し続けてみましょう。
今後、どの様な就職を考えているかわかりませんが、趣味で覚えた知識なんて役に立たない部分の
方が多いものです。「CでもC#でも、JavaでもPHPでも書けます。10行位なら」じゃダメですよね。
出来れば、構造化・オブジェクト指向言語が良いですが、じっくり取り組んで、成果物を残しましょう。
Javascriptでも良いんです。ちゃんと手の込んだページを作りあげられれば。その為にはHTMLだCSSだ
Linuxだ、Apacheだ…必要な知識は自然と見えてきます。
投稿2015/11/17 16:01
総合スコア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
総合スコア14
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
年齢・学歴にもよるので一概には言えませんが、「高卒か文系大学卒で、20代前半くらいで、今はプログラミングと関係ない仕事をしている」という前提で書きます。
Windowsを使い続ける ならば、 C# を学ぶべきです。
Visual Studio Community をダウンロードして、何か作ってみるべきです。
https://www.visualstudio.com/ja-jp/downloads/download-visual-studio-vs.aspx
就職先も、おそらく、まっとうな働き口が多いです。
また、 第二新卒枠などで大きなIT企業に就職したいのであれば、 Javaが一番確実でしょう。
あなたが中高生ならば、きちんと勉強するという意味で C++ を学ぶのも良いでしょう。また、今ならスマートフォンアプリを開発するのも良いし、Webアプリを作るために Ruby や node.js 、Python も良いでしょう。友人や先輩がいるなら、彼らに合わせたものを使うのがベストでしょう。まだまだ可能性はたくさんあります。
あなたが30歳以上で、転職を考えているとかなのであれば、 VisualBasif for Application 通称 VBA はどうでしょうか。
Excelを自動化するのに使う言語で、職業プログラマはあまり使いませんが、事務職から建設業の工程管理・商社・スーパーの購買管理・懇親会の管理などで様々に使われています。
営業職などでも、これが使えればプラスアルファとしてかなり役に立つでしょう。
投稿2015/11/12 15:23
総合スコア158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
プログラミング言語は所詮ツールです。メカで言うとスパナやレンチなどの道具に近いです。それを使ってモノを組み立てて動かすわけです。
しかし、就職するにあたって何か言語(ツール)を扱えると言うのは1つのアドバンテージにはなります。
なので、メジャーな言語をこなせられるのなら有利にはなるでしょう。(C,C++,C#,Javaあたりでしょうか。社内で教育する手間が省けるという意味で有利)
それより、どのようなプログラム(アプリ)を作成できるかという方がセールスポイントにはなると思います。ツールは今はあまり使えなくても論理や処理の流れを構築できる力があれば、会社側としては魅力として映ります。
どのような考えで、どのように課題を解決するのか、そういう論理的な思考がしっかりしていれば言語なんてその気さえあれば就職してからでもいくらでも覚えられます。
ただ、C言語とC++ではオブジェクト指向というある種の壁があります。ここは1つのポイントです。これは、プログラミングのパラダイム転換で、抽象的な思考が要求されるので挫けてしまう人が多いようです。
学び始めは、よりたくさんのソースコードを読むことだと思います。
投稿2015/11/12 09:59
総合スコア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
総合スコア28
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。