
No.10ベストアンサー
- 回答日時:
プログラマというのは特別高度な技術が必要な職業ではないと思います。
私は結局はゲームプログラマではなく一般のSEですが、求められるのは高度なプログラム技術ではなく、他の人に読みやすくバグのないコードを書くことです。fantom77さんがCを学ぶ理由をお尋ねしましたが、目的によってあなたに必要な技術は違ってきます。私も、初心者向けの書籍を買って見よう見まねで本の通りにプログラム書いてはコンパイル、を繰り返す前は、プログラムが外国語に見えました。でも、興味があるなら何よりもまず、簡単なプログラムから初めて、自分で書いたものが動くことを体感して、「動いた!」という喜びを重ねてください。プログラムに限らず、人間、興味のあることには難しくても取り組むでしょう?
繰り返しますが、C言語も、プログラマも、決して特別な存在ではありません。もっと気楽にとらえて、楽しんで取り組むのがコツですよ。
No.11
- 回答日時:
No8です。
使い方や書式が判らないときは徹底的に単純(数行)なソースでコンパイルと動作を
確認しなければ進みません。 ここで先に書いたデバッカの登場なんですが。
それよりプログラムなどとは考えず文章を書くように考えては如何でしょう。
仕事ではソースコードを書く前に必ず仕様書と構成図(フローチャートなど)により
精査してからでないとよいものは出来ません。
視点を変えればアセンブラ,C,C++,JAVAなんてみんな同じ言語に見えますけど。
いきなりソースコードに向かっていませんか。
何をしたいのかはC言語ではなく日本語で順序よく文章化しましょう。
それが出来ないのにソースコードは書けません。書き始めてはなりません。(スパゲッティ劇場の始まりです)
箇条書きで題名を決めて処理毎に分けていきます。(何々を表示する。何々を計算する。等)
C言語特有のことなど後のことでいいのです。
文章化した処理毎の題名ができたらそれを並べて行けば日本語プログラムの完成です。
その後は処理毎の内容をさらに細分化して「何をする機能」に分けて行きます。
この「何をする機能」とは他の「何をする機能」とは重複しないように考えます。
それが出来てからC言語でどう記述すれば良いかを考えます。
可読性、視認性を考えると
1画面(40~80行?)に収まることを目標にします。
機能、何をしたいかをコメントとして必ず書く。
部分的なソースを読み返した時、直ぐに理解できないなら
コメントが足らないのでその場で理解出来るように書いておく。
が重要です。
単機能にまで分解した時にC言語のライブラリにあるものが頻繁に必要になります。
理解したものから利用します。
でも初心者の時は折角自作したのに後でライブラリにあることを知ったというのはよくあることです。
No.9
- 回答日時:
fantom77さん、始めまして。
私も自宅で独学でした。
知らないことも多いので、マスターしたとは言えませんが、自分がやりたいことをやるために必要なだけのスキルが身につけば自分なりには十分満足だと思います。
fantom77さんはC言語を使えるようになって、何をしたいですか?その動機に十分な熱意があれば、習得できないほどC言語は難しいものではありません。
私の場合、6年ほど前にゲームプログラマになりたくてC言語を独学し始めました。それまではパソコンの「パ」の字も嫌いなド素人でした。コンパイラの入手方法も知らなかったので、メモ帳さえあれば書けるHTML(一種のプログラムと言えるかな。。)でHP作成を覚え、動きをつけるためにJavaScriptを学び、その勢いで専門学校へ入学後2ヶ月でポインタ、構造体、リストなど大雑把なことは身に着けました。3日間夢中でプログラムに没頭したこともあります。
以上私の体験談ですが、Cの習得が、夢中になれる「目的」をかなえるための手段であれば、かならず独学で身につけられますよ。
もちろん、つまずいたときは書籍やインターネットで解決法を探す習慣は必須です。頑張ってください。
この回答への補足
こんにちは。
たぶん無理でしょうけど、僕はプログラマになりたいです。
僕はコンパイラで実行する以前にプログラムも書けないです。
プログラマにも向き不向きがあるのでしょうか?。
回答者さんの様に独学でマスターした人もいれば、僕みたいに専門学校で勉強してても解らない人もいますよね。
という事は回答者さんは現在はゲームプログラマでしょうか?。
No.8
- 回答日時:
25年前は書籍など殆どなかったですね。
まわりに聞く人もいなかったし完全に独学です。
今は書籍もInternetもあるから随分楽ですよね。
うらやましい限りです。
もっともアセンブラからですのである程度理解すると楽すぎてアセンブラに戻れなくなりました。
構造体や共用体を理解すると美しくエレガントな記述が出来るようになります。
私の場合はBorlandCのターボデバッカが先生でした。
他人のソースやライブラリでもデバッカで追えばよくわかります。
共用体の意味も構造体のポインタなども理解できるようになります。
デバッカでアセンブラ表示とダンプをしながらステップ実行をすると詳細を把握しながら作れると思います。
No.6
- 回答日時:
BASIC→VB→Java→C++と学習してきたPG(SE)です。
C言語って、ポインタさえ理解できれば、
構文そのもののレパートリーは非常に少ないので、
他の言語よりも、簡単に覚えられると思いますよ。
ポインタを理解するには、
マシン語で実装したときのイメージがないと、
結構きついと思います。
必ずといってもいいほど、ポインタで躓くと思うので、
そのときには、またここで質問するのもいいでしょうし、
C言語、ポインタなどのキーワードで検索するもよしです。
一番重要なのは、
サンプルもしくは関数をどんどん作って試すことです。
試さずにプログラム言語は習得できないといっても
過言ではありません。
No.5
- 回答日時:
> 僕と同じように自宅で独学でC言語を勉強してる人もしくは、マスターした人はいますか?。
いっぱいいます。私も自習でした(中学とかですが。
今でこそ色々な選択肢がありますが、現在一線で活躍する人の多くは、5~10年、15年とかもっと前に勉強してるので、独学の人なんて山ほどいます。Cの習得くらいは独学でも十分可能です。
基本的に、「言語」の一種ですから、ある程度まではろくに理解が進まなくて普通です。
ですが、既に書かれているように、努力を続けると(続けば)、ある日突然わかってきます。
ひたすらいろいろなものを書き、いいものを読むのが基本です。
参考書を熟読し、とにかくいろいろなものを自分で書いてください。
言語なので、自分で使わないと習得が困難になります。
# 「英語がわかる本」をちょっと読むだけで英語がマスターできると思いますか。
文法がわかるのはただの前提で、それから語彙とか、言い回しとか、いろいろ覚えたり理解したりしなければなりません。
そして、英語の理解に英語圏の文化知識が役立つように、
Cの理解にコンピュータの知識は役立ちます。
No.4
- 回答日時:
私もCを独学で学びました。
「Programmingは、正直人から習うようなものではない」と思っています。
僕は、C言語の文法そのものを勉強しつつ、アルゴリズムとデータ構造を勉強しました。そうすることで、文法が身に付くだけでなく、C言語の使い方を理解できました。
アルゴリズムとデータ構造の本は、いくつかあるので、ぜひ併せて学習されるとよいと思います。
No.3
- 回答日時:
私も独学で学びましたが、C言語を学ぶ前に、BASICや数種類のアセンブリ言語を使っていましたので、かなり楽でした。
特に、アセンブリ言語でマイコンのプログラムをやっていると、コンピュータの仕組みが手に取るように分かりますから、C言語を学ぶ際にも非常に助かりました。
> 独学では限界があって殆ど解ってないです。
まず、何が分かって、何が分からないのかを明確にしましょう。何が分からないかがはっきりすれば、ここでもよいですし、他の掲示板やメーリングリストでもいいですし、周りに居るちょっとは分かる人でもいいので、随時質問すれば先に進めます。
No.2
- 回答日時:
スーツのデザイナでプログラマではありません。
一応、C言語でUNIXの漢字プリンタへの出力ドライバ、製図機へのCADデータの出力アプリケーションを作成した経験があります。
20年前のことです。
K&Rの一冊のみを手引きにした完全な自宅学習でした。
1980年にMZ-80Kというメインメモリ僅か12KBのパソコンを買ったのが独習の始まりです。
まず、当時発売された岩波の「情報科学全24巻」を数冊読みました。
次に、フォートラン演習を一冊完全にMZ-80Kで再現しました。
その後、「C言語を知らずしては人にあらず」という風潮を受けて一念発起したと思います。
結果として、UNIXでのC/Sシステムの構築を実現できたと思っています。
ズブの素人の経験からして独習でも習得は可能と思います。
*****
内なる習得の量を積み重ねることなく質は出現しないです。
ある日、霧が晴れたようにCのライブラリの開発が進む地平が開けます。
その日を迎えるか否かは、質問者の積み重ねる学習量次第です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB と VC++ と VC#の違いは?
-
python urlopen error について...
-
Windows Media Playerを開くと...
-
Ps+のフリープレイでDestiny2の...
-
本格的なGUIを作るのにおすすめ...
-
VC++を使って「ストリートファ...
-
暗号化ライブラリを探しています
-
至急!!iTunesライブラリデー...
-
gprofはprintfのようなCの標準...
-
iCloudフォトライブラリ内の画...
-
標準ライブラリだけでgetch関数...
-
生年月日(yyyy/MM/dd) → 年齢...
-
Qtを勉強するのに何か良い書籍...
-
VBで簡単なOpenGLのサンプルは...
-
declaration of 'index' shadow...
-
リアルタイムで多数の3角形ポリ...
-
ドライバ開発の勉強方法を教え...
-
設定ファイルを扱うライブラリ...
-
LIBCMT.LIBをリンクしてコンパ...
-
練習問題があるサイト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
String^の^自体が何を意味して...
-
VB と VC++ と VC#の違いは?
-
なぜHTMLのソースコードが無料...
-
プログラミング言語について
-
C++について
-
c言語やjavaのソースを読みたい...
-
C言語からC#を
-
VB6から新しいvbに切り替えたい。
-
C++を全体的に勉強するのにお勧...
-
短期に習得できるBESTなWEB開発...
-
iOSゲームアプリが作りたいと思...
-
プログラミングについて?
-
[プログラミング][画像処理]勉...
-
HTMLってホームページ以外どん...
-
C++を学ぶためにCの知識は必須...
-
CGIを勉強したいのですが
-
COBOLをはじめたいのですが
-
PGの仕事で最初にやる言語
-
c++の勉強について
-
C言語、特にC++ってどうですか?
おすすめ情報