プロが教えるわが家の防犯対策術!

カテゴリを間違えてたらすいません。

私は数学が苦手な元文系の学生時代プログラミングを一切勉強していない男性です。
現在、新・明解C言語と言う本でC言語を趣味で勉強しています。
(その前に、苦しんで覚えるC言語を途中までやっていました。)
環境は、Macbookです。
最初のうちはわかる部分も多かったのですが、for多重ループ以降、わからない部分が多く、答えを見る為に、新・解きながら学ぶC言語を購入しました。
それでも答えを見てもわからない問題が多く、なかなか勉学が進みません。
読んで答えを移してるだけの場合が多いのが現状です。
自分でもこれで良いのかな、とは思ってます。
ちなみに現在8章が終わった所です。

もともと、Cがプログラムの基礎なので、それを勉強してから、objective-cを勉強してiPhoneでアプリを開発しようと思い、Cをやっています。
今は、swiftに興味が有り、Cを習得したら(新・明解の実践編まで分かるようになれば)、swiftの勉強を始めたいと思ってます。
でもそれだったら、最初からswiftの勉強した方が良いんじゃないか、とも思うのです。

swiftに興味が有るなら、そっちへ行った方が良い、習得も簡単だよ。
であるのか、
(wikiを見た感じ、同等程度の難易度があるようにも思えました。が、swiftで検索した時のappleの説明では「今までコードを書いたことがない人でも簡単に使うことができます。」とあります。)
C言語の基礎が分からないのに、他言語行っても分からないと思うから、地道に頑張ろうよ、
なのかなぁ、などといろいろ頭のなかで考えながら迷ってます。
あと、ウェブ広告のswiftで8週間でアプリを公開、などという広告文句にも惹かれています。

皆様は、どのように思われるでしょうか?
具体的に作りたい物が見えていない以上、まずはC言語で、というのもアリかなぁ、とは思ってます。
今の所、まだ始めたばかりですので、それに中級編で簡単なゲームとか作れる様になる様ですし、頑張ってみようかなぁ、とは思ってますが、先が長そうだなぁ、とも思ってます。

あとはこの本(新・明解初級編)、基本的に回答が載ってないので、中級編(これも回答が載ってなさそうだと思うので、)以降は他の本に移行した方がいいか、とも思ってます。
その点でもアドバイス頂ければと思います。
それとも、基礎が分かれば、回答が不要になるのでしょうか、、、。
(新・明解初級編を最後までやった後、解きながらの方で再度学んで大方理解出来れば良いのですが、、、。)

A 回答 (2件)

swiftの方が簡単だが、アップルのiOSおよびOS Xのためのプログラミング言語である為、それ以外では使え無い。


Cは難しいというより、コンピュータの基本原理(アドレスとかアドレス修飾とか間接とか・・・)を知っていないと難しい言語。
昔昔、機械語とかアッセンブラを駆使した人にとっては簡単に理解出来る。

先に、コンピュータの基本原理を解説した本で勉強した方が速いと思う。
    • good
    • 1
この回答へのお礼

ありがとう

回答有難うございます。
ちょうど良さげな本が2冊ほど(コンピュータはなぜ動くのか、プログラムはなぜ動くのか)見つかったので、そちらの購入を検討させて頂きたいと思います。

お礼日時:2016/04/26 23:10

言語として簡単なのは、後発のSwiftの方でしょう。




ただ。

プログラミングというのは、日本語(または、あなたが得意とする言語。あるいは、数式、図等)で書かれた「作業手順書」を、「外国人であるコンピュータ」に分かるように「外国語(=プログラミング言語)に翻訳」するものです。

プログラミング言語によるの難易度の違いは、主に後段の「翻訳」の部分です。

ですが、前段の「手順書」は、言語によっての違いはほとんどありません。
熟練者がいろんな言語を扱えるのは、「手順書」を作る技術があるからです。あとは、辞書(マニュアル)でも見ながら翻訳するだけです。
/* この言語には、こういう手順の方が書きやすい/書きづらい といった違いはありますが */


「for多重ループ」といったものは、主に前段に相当します。
多重ループ等は、ちょっとしたプログラムを書けば、どこかに出てます。
Swiftだから使わずにすむ、というものではありません。
今のまま言語を変えても、結局同じところでわからなくなるのでは?


「手順書」作りの技術を身につけましょう。
プログラミングに「正解」は複数あります。本に載ってる「答え」はその一つでしかありません。
「答え」以外の方法を考える、とか、「答え」を応用して違う動作をするプログラムに作り変えるとか、そういう訓練も必要です。

こういう部分は、「読解力」「文章作成能力」といった「文系」の分野です。
「文系だからできない」というのは通用しません。
    • good
    • 0
この回答へのお礼

ありがとう

わかりやすい例えを有難うございます。
プログラミングには2段階有るんですね。

元得意分野みたいですので、少なくとも今ある本分は頑張ろうと思います。

お礼日時:2016/04/27 10:52

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