一般的に、何かひとつのプログラミング言語に習熟すると、他の言語もすぐにつかえるようになると聞きますが、習熟レベルの目安などはあるのでしょうか。経験年数ではなく、こういう処理がすぐに組めるとOKなど、出来れば具体的に教えてください。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/01/05 23:40:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答9件)

id:zabadaq No.1

回答回数19ベストアンサー獲得回数0

ポイント16pt

仕事でプログラムを作成するので有れば、データベース回りの処理は必ずついてまわります。

基本はCやJavaでもなんでもよいのですが、データベースを操作するための言語であるSQLの知識を必要とする処理を組めることが目安になるかと思います。

id:ToMmY No.2

回答回数656ベストアンサー獲得回数19

ポイント16pt

どの言語もだいたい、何かを元に作ってますから、構造は同じようなものが多いです。

ですので、言語の法則性(一般的な変数や関数の使い方等ほんとに初歩的な部分)さえ分かってしまえばある程度応用が利くのは事実です。

しかし、各言語に得意不得意の分野がありますから、違う分野を担当する言語を学ぶ時にはアルゴリズムが違ったりして苦労すると思います。

ですから、言語がどれだけ似ているかにもよりますが、一般的に解釈してフリーで配られる程度のアプリケーション(もちろんピンきりですが、ベクター等に乗っているものの最低レベル)ぐらいまでを組み方(考え方)を教えてもらって記述することさえ出来れば他の言語も習得時間が短くなることは確かです。

id:firerabbit No.3

回答回数1ベストアンサー獲得回数0

ポイント16pt

やりたい処理をプログラムに落とす。この作業には論理的思考やプログラムのセンスが必要です。それが磨かれればだいたいどんな言語でも応用が利くと思いますよ。

まずは簡単なものでいいので何か自作アプリを1から作ってみてはどうでしょうか? 特定の「こういう処理」といった限定的なアルゴリズムではなく、トータルにアプリケーションを構築するのが早道です。スポーツ等と同じようなもんで理論だけ学んでもなかなか実践は出来ないんです。まずはなんでもいいから1から10までトータルに作り上げるのが良いと思います。

id:hiko3karasu No.4

回答回数1058ベストアンサー獲得回数25

ポイント16pt

職業でやるならば、勤めている会社の必要とするスキルにもよります。

ソフトウェアというと、アプリケーションを想像する人が多いのではないかと思いますが、

もっと、ベースのOSを作るとか、更に下位のファームウェアを作るなどの仕事もあります。

C言語とか、マシン語で、ハードウェアを直接操作するソフトウェアを組めるとたいていのプログラムは組めると思います。

id:Sampo No.5

回答回数556ベストアンサー獲得回数104

ポイント16pt

3番の方が解答されているとおり、「実現したい処理の内容をモデル化してアルゴリズムに変換する」のがプログラミングの基本なので、何かのプログラミングができるなら、その基本はできていることになるのです。


では具体的にどんな処理が書けるならその基本がクリアできると考えられるか。これはもう情報科学の教科書に載っている課題がまさにそれに該当します。

次の処理を参考書を何も見ないで、なにかの言語で書けるなら基本はクリアしたと考えてよいでしょう。言語リファレンスを読むだけでどんな言語でも使いこなせることと思います。

  • 与えられたランダムな整数の配列を昇順に並べ替える
  • 与えられた整列済みの整数の配列の中に、目的の数字が含まれているかどうか《効率的に》探す
  • 二分木に含まれている値をすべて書き出す
  • スタックをリスト構造で実装する

一見、実務にも趣味にもつながらなそうな教科書的な課題ですが、実務に携わるプログラマであれば必ずそらで書けるはずです。

オブジェクト指向言語を使うなら、このほかにオブジェクト設計のセンスが必要になりますが、それは「処理のアルゴリズム化」の次の段階のお話です。

id:hamster009 No.6

回答回数3431ベストアンサー獲得回数50

ポイント15pt

×

id:esecua No.7

回答回数510ベストアンサー獲得回数10

ポイント15pt

自分もまだ初心者なのですが、PHPを初めて1年半、C++をはじめて3か月がたとうとしています。


C++を初めて思ったのですが、基本的な処理に関してはPHPとほとんど同じで、以外にC++を始めた時は「まったくわからない」という感じではなかったのを覚えています。自分的な観点で見て繰り返し処理を行う while() や for() などや、各条件によって処理を変える if() や switch() などがほとんど同形態のものでした。

要するに各プログラミングの習得本に載っている基本的な処理はほとんど同じ形とおもいます。

間違っていたらごめんなさい。

id:ksh No.8

回答回数315ベストアンサー獲得回数9

ポイント15pt

世の中たくさんの言語がありますが、プログラミング言語の基本的な部分は、どの言語でも同じであって、ある言語でできることが他の言語でできないということはありません(やりやすいかどうか、というのはあります)

なので、例えばある言語で、提示された仕様を満たすプログラムが作れるようになれば、プログラミングの基本は習得できたと考えてよいと思います。

そこまでたどり着ければ、例えば習得した言語がCだった場合、それはRubyではこう、Javaではこう、VBではこう、という違いを理解するだけで、それぞれの言語を使用することができると考えています。

そして、各言語の特性を理解して、それを使いこなし、高い生産性を実現する、というのが次の段階になるのではないでしょうか。

id:taisin0212 No.9

回答回数165ベストアンサー獲得回数14

ポイント15pt

①複数件読み込んだデータを仮想メモリ内にマッピングする。

②マッピングされたデータをソートする。

③ソートに用いたキーについて、キーブレーク処理を行う。

③については、例を挙げさせていただきます。

複数の店舗を持つ会社の、各月の店舗ごとの売り上げを帳票にする場合、EXCELのピボットテーブルを使えば、あっという間ですが、

これを自作プログラムの中で行わせます。

-------------------------------------

6月 東京支店 ¥90,000-

   京都支店 ¥80,000-

6月計    ¥170,000-

7月 東京支店 ¥10,000-

   京都支店 ¥20,000-

   大阪支店 ¥30,000-

7月計     ¥60,000

総計     ¥230,000-

-------------------------------------

のような処理を行えると良いと考えます。

  • id:kuruma_neko
    新しい言語を学ぶ際は、まずこの処理をかけるようにするという具合に、何かしらの目安があるのではと考えていましたが、決まったものは無いようなので、ソートやサーチなど基本的なアルゴリズムが書けることをひとつの目安として考えたいです。ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません