No.13ベストアンサー
- 回答日時:
個人的にはCが最も役に立つと思っています。
でもやはりCは難しく、(身近にベテランの人がいるなどの場合以外は)多くの人は挫折してしまいがちです。
なので最初は簡単な言語から入っても構わないと思っています。
ですが、いつの日かC(及びC++)に帰ってきてください。
そうすると他の言語も面白いように理解できる様になると思いますよ。
Cの鬼門とされているポインタですが、これは他の言語でも水面下で働いています。
これが完全に水面下にいるのなら問題無いのですが、時々顔を現します。
こういった事が(結構)あるので(いつの日か)ポインタは克服してください。
ここで余談ですが個人的なポインタのイメージを語らせていただきます。参考になればいいのですが…
ポインタはネズミのような小動物です。
この小動物の特徴は尾がとても長く先端が「→」の様な形をしています。
この小動物はいつもは「ポインタ変数」という巣に住んでいるのですが、その長い尾だけは巣からはみ出し何かに刺さっています。
この小動物は何処に移動しても尾の先は抜けません。
この小動物を捕獲すると尾の先の物は彼方の思いのままです。
「小動物」と「巣」共に「ポインタ」と呼ぶことがありますが区別を付けて考えてくださいね。
No.12
- 回答日時:
とりあえず、言語はイロイロさわってみるのがいいですよ。
ひとつを極めるよりも、結果的には良い開発者になれると思います。
中途半端も困りますが、なにかひとつを習得すれば、
ふたつめ、みっつめは案外楽なものです。
で、そのひとつめ言語として、Pascalをお勧めします。
Pascalは構文規則がシンプルで、教育用にもってこいなので
マサチューセッツ工科大学の教科書にも採用されています。
Pascalにビルダ環境を追加したものがDelphiですので、
こちらを入手して勉強するのがよろしいかと。
Cは自由度の高い優れた言語ですが、その自由度のために、
開発者の乱暴なコーディングを許してしまいます。
また、ポインタを学ぶためにはハードウェア知識も若干必要です。
ですから、基礎を持っていない入門者にはお勧めできません。
しかし、Cが世間で広く利用されている事も事実で、
Cを習得する事は実務等に役立つ可能性も高いです。
そこで、まず、Javaを習得されてみてはいかがでしょうか。
JavaはCやC++にある複雑な要素を様々な形でカバーしています。
それから、Javaは機能をはっきり分割する事を基本としますので、
自然と、綺麗なソースを書けるようになると思います。
文法などはCがベースになっていますので、後にCに移行しやすいです。
いずれにせよ、プログラミングの学習には良き教科書が不可欠です。
様々な本が出版されていますが、
おすすめは翔泳社から出ている独習シリーズです。
「独習C」「独習Java」等です。
余談ですが、Mathimaticaは言語ではありません。よくMathimaticaを言語と呼びたがる人がいますが、だまされてはいけません。あくまで数学ソフトです。
本質的にはWordやExcelといっしょです。
No.11
- 回答日時:
C言語が一番だと思います。
理由1 C->C++ OR JAVAというふうにステップアップしていけるから。
理由2 OSがLINUXだろうがWINDOWSだろうがC言語ならば使えるから。
理由3 アルゴリズムを覚えるにもC言語の方が良い。逆に簡易言語(VB)等ではアルゴリズムについてあまり考えることがない。
理由4 資格を取る際にもC言語を選択することができるから。
尚、ポインタは住所(メモリアドレス)を格納しているものです。これを覚えるには文字列を扱うことが一番です。理屈よりもやってみて覚えてみてください。また
書籍でもポインタについてのみ書かれているものがあります。頑張って学習して下さい。
No.10
- 回答日時:
#9追記です。
>ところでSEってなんですか?
SEとはシステムエンジニアの略です。
プログラム開発をするには大体SE、プログラマ、コーダに分かれます。
(小規模な開発ではプログラマ、コーダは同一メンバでやる場合が多いです。)
SEの主な仕事はお客様との接点をもって、どのような製品(プログラム)を作り出すかを検討することです。
プログラマはその製品を製作するにあたって、どのような処理を行っていけばいいかを作り出す人であり、
コーダはそのプログラムを組む人です。
家を作るのでたとえれば
SEは家の外観を設計する人。
プログラマは家の見取り図、設計書を作る人。
コーダは大工、といったところでしょうか?
No.9
- 回答日時:
三度目 #4です。
配列とポインタでつまずいているようなので、簡単にイメージする方法を伝授しましょう。
まず配列ですが、変数を「箱」として考えましょう。
char a;
で宣言されたら「a」という「char型の値」の入る箱がある。というイメージです。
では、配列はその箱が数個並んでるというイメージです。
char a[4];
で宣言されたら「a」という箱は「0から4まで」番号がふられた5つの箱です。
これで幾分かイメージできたと思います。
次にポインタです。
先ほどの箱のイメージで言えば、ポインタとは「箱の場所を書いたものを入れる箱」です。
char *a;
と宣言された場合、「a」という箱には「char型の値を入れる箱」の場所が書かれたものが入っています。
その場所を頼りにして、「char型の値を入れる箱」にchar値を出し入れするわけです。
最初にもつイメージはこのような感じで捉えてもらえば少しずつわかっていけると思います。
この回答への補足
>次にポインタです。
>先ほどの箱のイメージで言えば、ポインタとは「箱の場所を書いたものを入れる>箱です。
>char *a;
>と宣言された場合、「a」という箱には「char型の値を入れる箱」の場所が書かれ>たものが入っています。
>その場所を頼りにして、「char型の値を入れる箱」にchar値を出し入れするわけ>です
すいませんが、ポインタのところだけが何か難しい表現でわかりずらかったのですが。箱の場所を書いたものを入れる箱?出し入れするときは&aとするのですか?
No.8
- 回答日時:
>その講義を受けながら将来なにに役立つのだろうか?
ikecchiさんは、小学生や中学生のときのことを覚えていますか?
小学校の九九、地域の歴史、中学校の因数分解、世界の歴史、倫理の授業などなど・・・教わっていたとき、こんなもの役に立つのかな?とは思いませんでしたか?(もしかして今も思っています?)一部は、今も役に立っていないかもしれません。でも将来役に立ちます(というか、志が高いようなので、役に立てねばなりません)
教わっているときは(できれば、教わるのではなく、学んでほしいですが)そう感じることは多いと思います。あきらめることなく、ぜひ自分のものにして下さい。(社会人になってから、もっと勉強していれば・・・と後悔しているのは、多分私だけではないはずです)
プログラミングが授業で何に役立つかですが、私が思うには、まずは、ある問題を解くにあたり、解法を分解し組み立て、理論立てて考えることに役立つでしょう。
同じようにマスマティカは、方程式の解法に役立ちます。解法は分かっている必要はありますが、分かっているなら、これを使えば方程式を解くのに少し楽することができますね
今、行き詰まっているから「何に役に立つ?」という疑問が出たのではないことを、祈ります。
はい、夢に向かってひたむきに努力邁進しようと思います。プログラミングもせめてC言語だけはマスターしたいと思います。意味がわかるまで何度も何度もやっていこうと思います。
No.7
- 回答日時:
#4 です。
参考書ではないですが、下記URLのサイトがC言語のポインタについてわかりやすく説明してあります。
Windowsプログラムで何ができるかも書いてあるのでよんでみるといいですよ。
#3の方が言うように、VisualBasicで触るのもかまわないとは思いますが、ポインタの使い方、メモリの使い方を理解できないままになってしまいます。
Cで基本を抑えてから入るほうがいいですね。
IT系でベンチャーを興したいのであれば、プログラムは覚えたほうが絶対いいです。
よく、SEはプログラムを覚える必要が無い、みたいな意見がありますが、あんなものはウソです。
確かに、SE業務はできるかもしれません。でも、優秀なSEになることは難しいと思います。
プログラムを書けないような人間では構造設計なんかできるわけもないし、プログラマの指摘する内容を理解もできない、プログラマの気持ちもわからないで指示だけ出すようなSEについていこうと思うプログラマなんていません。
IT業界とはいえ、一番の要は人間関係です。
上に立つものは下につくものの立場、気持ちがわかってこそ、いい仕事ができる、というものです。
ですから、あなたがそれだけの力が無いと誰もついてこようとは思わないはずです。
これはIT業界だけではなく、すべてにおいて言えることなので覚えておいてください。
夢があるっていいことです。応援してます。
参考URL:http://kumei.ne.jp/c_lang/
この回答への補足
ほんとうに親切なアドバイスありがとうございます。ところでSEってなんですか?すいません。無知なもので。プログラミングがんばります、まだまだポインターと配列がわからないですが・・・
補足日時:2002/06/03 23:13No.6
- 回答日時:
ベンチャーを起こしたくてプログラマーになりたいというのならば全てのプログラムをコーディングするのではなくどのようなことができるのかを調べてみてはいかがでしょうか。
そのほうがどのような時にどのようなプログラムを選択するのかなどがわかってきます。
後はネットワークの基本的な考え方などプログラムよりも別なものを勉強したほうが良いかもしれません。
それと今勉強しても企業時には他のプログラムが大頭しているということもままあります。
アメリカ、マサチューセッツの関連のサイトなどでこれからのプログラムという大枠の推移を学んでみるのも面白いかもしれません。
ただ、完全な技術系の会社以外はベンチャーで起こすならばビジネス的な考えがプログラム以上に必要だと思いますが・・・。
それに仕事があって企業がある。起業しても仕事がなくては企業は成り立たないことは忘れないほうが良いと思います。
No.5
- 回答日時:
とりあえず、プログラミングと言うものを始めてみたいのでしたら、フリーがよろしいかと思います。
市販されているのはやたらと高いので。JAVAとかがいいかもしれません。ほかにも、Delphiとかが無料で出来るものがあります。
C++なども、機能制限はありますが、Borlandというかいしゃから無料でダウンロードできます。
http://www.borland.co.jp/
あと、フリーのプログラミング言語でHSPというものがあります。参考URLにいくと詳細が分かります。
プログラミングもただで出来ますので、とりあえず色々試してみてください。
参考URL:http://www.onionsoft.net/hsp/
No.4
- 回答日時:
> いったいプログラミングはどれから(C言語、パスカル、マスマティカなど)やればいいのでしょうか
下記のお二方がおっしゃっているように、
「何のためのプログラムを書くか」が重要になってきます。プログラムと一言で言っても千差万別で
この「教えてGoo/OKWeb」もプログラムで書かれていまし、WindowsのOSも、プレステのゲームもプログラムです。
さらに、自動車の細かい制御にもプログラムを組みますし、携帯電話の電波を受信するのにもプログラムは使われています。
と苦言ばかりではよくないのでアドバイスをすれば
「C言語」から覚えると良いですね。
汎用性が高く、「C」を覚えれば他の言語もすんなり入れるという事例が多いです。
ただ、プログラマーとしてのスキルは「言語」依存せず「ロジック」依存するものです。言語がたくさん扱えるより、複雑なロジックを扱えるプログラマーを目指してください。
> 将来どんなときにやくにたつのでしょうか?
「仕事」になります。「仕事」になれば利益(お金)を生み出します。これ以上の役に立つ理由はないでしょう。
それに、この質問が出てくるということは、あなたは将来のビジョンが定まっていない、ということがわかります。
将来、どのようなことがやりたいかを考えるのが先決じゃないでしょうか?
深くじゃなく漠然としたものでよいと思います。
家を作りたいんであれば、ハウスメーカー、
車を作りたいんであれば、車メーカー、
車を売りたいんであれば、車のディーラーetc...
ただ、夢は夢、現実は現実なので、今からじゃ無理というのもありますよね?
「プロサッカーの選手」とか「医者」とか。
そういう思想も交えて、夢と現実を天秤にかけて
努力次第で実現可能で、なおかつやりたいことを見つけていけばいいんじゃないでしょうか?
私の場合はそれが「ソフトウェア開発」だっただけです。
この回答への補足
ありがとうございます。今大学生なんですが、授業でC言語をやっています。でもなかなか難しいです。ただプログラミングをやりながらいったい将来どのように役立つのだろうかと思い質問させてもらったのです。とりわけ、プログラマーになりたいわけでもなく、ただ単位が必要だから講義を受けて、必死に課題に取り組んでいると言う感じです。ただ将来はベンチャーを起こそうと思っています。まだ漠然とデスガ。話は変わりますが、C言語でなにか初心者にわかりやすい参考書などはありますか?今配列とポインターですごくつまづいていて、難しいですね、プログラミングって!
補足日時:2002/06/03 13:52お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラミングって本来数学的な計算をする為のものではないのですか? 学校で配られたFortran90 11 2022/08/25 22:14
- その他(プログラミング・Web制作) 一日中マインクラフトばかりしている中学生。どうせなら極めさせたい 中学2年男子。本当に一日中マインク 3 2022/05/03 19:59
- その他(職業・資格) プログラミングの専門学校に行った方、またはプログラマーの方に質問です。 私の知り合いがプログラミング 4 2022/04/01 22:21
- Windows 10 パソコン得意な人どうやって勉強したか教えてください 13 2022/04/26 00:41
- 書類選考・エントリーシート 僕はコンピューターの専門に行こうと思ってます。志望理由こんな感じでいいですかね? ①進学先に選んだ理 2 2022/09/11 17:41
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- 大学・短大 早稲田大学基幹理工学部で使用する教科書 4 2022/11/13 20:55
- その他(悩み相談・人生相談) 勉強に疲れました。 高一男です。 偏差値58の自称進学校に通っています。 頭はそんなに良くないです。 1 2022/10/16 22:16
- その他(学校・勉強) 来年4月から経済学部の大学一年生になる予定の者です。 私は将来入りたい企業があり、そこに入社するため 8 2022/08/23 04:49
- C言語・C++・C# プログラミング言語「C#」の難易度ってどれくらいですか? 4 2022/05/12 19:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セグメントエラー
-
戻り値で構造体を返すことは可...
-
init関数の意味
-
C言語でのconstを返す関数
-
fopne で失敗する原因
-
C言語の関数と配列に関する質問
-
コンストラクタでnewを失敗した...
-
Run-Time Check Failure #3とい...
-
ハンドル、アドレス、ポインタ...
-
C言語のポインタに直接アドレス...
-
LPSTR型の初期化について
-
VBはCを混乱させる?
-
ハンドルはポインタか
-
構造体の中の構造体
-
パスからファイル名を抽出
-
C言語でポインタを使ってピタ...
-
単方向リスト
-
AESのC言語による実装
-
ExcelVBAでのkernel32(64bit)
-
nullポインタを逆参照とは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインタに直接アドレス...
-
C言語の関数と配列に関する質問
-
戻り値で構造体を返すことは可...
-
fopne で失敗する原因
-
init関数の意味
-
Run-Time Check Failure #3とい...
-
LPSTR型の初期化について
-
セグメントエラー
-
アプリを32bitから64bit移行
-
コンストラクタでnewを失敗した...
-
ExcelVBAでのkernel32(64bit)
-
Cで作成したDLL関数をVBから呼...
-
ハンドルはポインタか
-
DLL<->VB間での受け渡し(文字...
-
C言語でのconstを返す関数
-
ポインタについて
-
参照型で受け取った引数をポイ...
-
TCHAR文字列内の検索について
-
デバイスハンドルとは?
-
基本アルゴリズムの『返す』の...
おすすめ情報