dポイントプレゼントキャンペーン実施中!

プログラミング言語の習得
私は現在SEへの転職目指しております。
特に社内ではプログラミングの業務をしているわけではありませんが、
独学でC言語の学習をしております。
(就職前にVBを学習、C言語は1ヶ月前からはじめ参考図書「猫でも分かるC言語」を通して
学習し終えた段階です。)
プログラミングの言語は多数存在する昨今、どの言語を習得すべきなのか、
このままC言語を学習し続けていいものなのか迷っております。
目標や用途によって習得すべき言語は異なってくるということは耳にしますが、
実際C言語のプログラミングでは何ができるのでしょうか?

A 回答 (4件)

こんにちわ



私はC言語を扱うことがありますが、Objective-Cという言語です。iPhoneアプリケーションを作るために使います。特定の環境では扱える言語に制限があることも多く、iPhoneアプリケーション開発ではObjective-Cが唯一の選択肢です。ただObjective-CはC言語を拡張した言語で、C言語の書式で書くことも可能ではあります

また私がWebアプリケーションを作成するときは、主にRubyとPHPを使います。Webアプリケーションでは使用できる言語の数が多く、もちろんC言語で書くことも可能ですが、主に効率性を基準として言語を選んでいます。Webサイトを作成するときはJavaScriptやActionScriptを扱うことが多いです

ご質問者さまが認識されているように、目標や用途によって選択すべき言語は異なりますが、たとえばC言語は別の言語を作ることもできます。ある処理を行うライブラリについて、C言語による実装とその言語自身による実装の2種類があったりします。もちろんその言語を使うプログラマにとっては実装がC言語かどうかは意識する必要がありません。こういった場合では処理速度が求められていると思います

転職を考えていられる状況だということなので、現実的な意見を書いてみます
現在の業界でC言語(とその派生言語)で記述する必要のある分野はまだ数多くあると思いますが、C言語で記述することが必要である分野であることが多いと思います。つまりC言語の特徴を生かした実装を行うための、かなり高いレベルの知識を要求されます。そうなると言語だけでなく、OSやデバイスの知識やメモリ管理など、ソフトウェアとハードウェアにわたる広い領域に対する知識も同時に必要になってくると考えられます。C言語をそのまま(C++でもなく)使う必要性のある分野だと、ややリッチなデバイスドライバだとか、グラフィック関連の性能を駆使する分野とかでしょうか。Webの検索の分野でも膨大なデータの検索に対する処理速度を求めてCで記述するというケースを聞いたことがあります。またC++だとゲーム開発では一般的というか必須だと思います。興味があればO'reillyが出している「BINARY HACKS」などを読んでみると面白いです

また一般的にSEという職種はさまざまで、自身でプログラムをしないケースもあります。システムの設計だけを行い、実装はPGと呼ばれる専門職や社外の委託先だったりします。システムの設計にも専門性があり、設計のための言語もあります

私が所属している会社の場合ですと、業務上ひとつの言語に限定することはありません。言語だけを列記するとJavaScript、ActionScript、PHP、Ruby、SQL、Java、C#、C++、Objective-C、C、といった言語を必要に応じて使います。ただ市場的にJavaScriptによるAjaxコンテンツと、Adobe AIR/Flex、PHP+SQLによるWebアプリケーションなどに関わることが多くなりました

ご質問者さまの現在の経験や能力からみて、短期間にC言語を扱う業務に転職するのはハードルが高いのでは、というのが私の見方ですが、私自身言語の習得はすべて独学で、C言語は他の言語より後になって習得しました。そしてC言語を知ることによって得た知識は、先に知っていた言語を扱う際にも役に立っています。業務としてC言語を扱うケースは、社内で使うツール以外ではほとんどありませんが、ソフトウェアとハードウェアに対する新しい興味を喚起したという点でもいい経験だったと思います

個人的にいま関心が高いのはJavaScriptです。Googleをはじめとしてブラウザを開発している企業が(Microsoftは置いておいて)JavaScript(とHTML5)に力を注いでいます。数年後にはいまPC上で動作している多くのアプリケーションがJavaScript(とサーバサイドの技術)で記述されるようになるのではと思います。JavaScriptは当初、HTMLを補助するかたちで使われてきた経緯がありますが、その扱われ方は大きく変わってきています

あとは業務として、どのようなアプリケーションやサービスの開発に従事したいかによるかと思います。なにか希望や目標はありませんか?それによってまた意見を書くこともできると思います

ご参考までに
    • good
    • 0
この回答へのお礼

詳細なご回答ありがとうございました。
正直なところ自分でも分からないことが多すぎて、何から質問すればいいか分からない
という状況です。
C言語の参考図書(猫でもわかるC言語プログラミング)をやり終えましたが、
やったことは全てコマンドプロンプト上での作業でした。
VBであればすぐに形として結果が返ってきていたので、「プログラミングをやっている」
という安心感はありました。
逆を言えば目に見えない深いところから制御できているということなのでしょうか?
とりあえず、目に見えるようなプログラミングを行いたいので次は「猫でもわかる
Windowsプログラミング」を参考に進めたいと思っています。
それと転職に少しでも有利になればと、C言語の資格も取ろうと思っています。

お礼日時:2010/03/07 14:14

一概には言いづらいですね。



希望している業種によって変わってきます。

WEB系や金融系、さらには組み込み系(汎用系)とさまざまです。

各業種別にあげるならば以下の様な感じじゃないですかね。

WEB系:Java,JSP/Servlet,PHP,Perl

金融系:Java,C,VC++,VB,VC#

組み込み系:C,C++(,JAVA)


C言語は色々な言語のベースなので、
勉強しといて損は無いと思います。

C言語はどの分野でも使うことがあります。
金融系や組み込み系が多いんじゃないですかね。
    • good
    • 0

サーバー系のSE見習いから見た取得したほうが良いと思うプログラム?を挙げます。



VBA・ACCESS・EXEL・.bat・SQL

サーバーに興味があったら参考にしてください。
    • good
    • 0

結論から言えばどんな言語覚えようと役立つ場合もあれば


全く役立たない場合もあると考えた方がいいでしょう。
SEって特定言語が使える事が必須って言うわけじゃないしね
勿論、全く使えないのは困るとは思うけど、、、
SEはお客様とコミュニケーションをとってお客様の要望を聞き出し
要望に答えられるシステムを提案設計する事が仕事です。(ある意味営業ですね)
よって流れさえ作れれば言語ってなんでもいいですよ
プログラミングはプログラマーに丸投げする場合もあるしね
(ただ実質殆どがPGとSE兼ねてますが、、、)

よってプログラミングよりも重要な要望を聞き出す
コミュニケーション能力を磨いた方がいいと思います。
言語はなんとかなりますからね。

尚、結構多いので念のため書きますが
人との会話が苦手なら選んではいけない職業ですよ
SEは機械相手しているだけの仕事ではありませんからね
プログラム開発だけというのはPGです。勘違いしないようにね
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!