みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

プログラミング言語の習得順?

C++は、Cを習得していないといけないのでしょうか??それとも、いきなりC++から習得できるのでしょうか?

例えば、ロシア語と中国語は、(言語の習得という点で)どちらを先に勉強しなければいけないということはないと思うのですが、プログラミング言語の場合、数学のように、1次方程式より先に2次方程式を習得することはできない、というようなことがありそうだと思って質問しました。

C++が必要になり、勉強しようと思っているのですが、言語間の関係がわからないので、ご教授くださいませ。
プログラミング初心者です。

投稿日時 - 2018-06-08 15:59:13

QNo.9506315

困ってます

質問者が選んだベストアンサー

直接C++を習得されても問題ありません。
C++は元はCをベースに作られた言語ではありますが、
別言語と思って問題ないです。

投稿日時 - 2018-06-08 16:30:27

お礼

ありがとうございます

投稿日時 - 2018-06-08 18:58:31

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(14)

ANo.14

>回答No.12 amanojaku1

>「Visual Studio」でも「C++」が使えるようです。
>個人で使う場合は「Visual Studio Community」をダウンロードして下さい。
>
>「Visual Studio Community」
>https://www.microsoft.com/ja-jp/dev/products/community.aspx
>
>Microsoft Visual Studio
>https://ja.wikipedia.org/wiki/Microsoft_Visual_Studio

このように無料開発環境も有りますし すぐにでも勉強を始められますよ?

投稿日時 - 2018-06-15 23:33:01

お礼

ありがとうございます。

投稿日時 - 2018-07-12 10:11:32

ANo.13

C++から始めていいと思いますよ。
というのは、C++はCを拡張したもので、共通部分も多いのですが、共通とはいいつつも、CとC++とで微妙に違う部分があって、その部分が理解の妨げになる可能性があるからです。

ただ、C++の入門書の中には、Cを一通りマスターしていることを前提として書かれているものがありますので、そうではない、Cを知らない人を対象としたC++の入門書を選びましょう。

投稿日時 - 2018-06-12 16:27:41

お礼

ありがとうございます。

投稿日時 - 2018-07-12 10:11:45

ANo.12

「Visual Studio」でも「C++」が使えるようです。
個人で使う場合は「Visual Studio Community」をダウンロードして下さい。

「Visual Studio Community」
https://www.microsoft.com/ja-jp/dev/products/community.aspx

Microsoft Visual Studio
https://ja.wikipedia.org/wiki/Microsoft_Visual_Studio

>対応プログラミング言語[編集]
>Visual Studio 2015における、対応プログラミング言語は以下の通り[3]。
>
>C#
>Visual Basic
>F#
>C++
>Python
>Node.js
>HTML/JavaScript
>TypeScript

投稿日時 - 2018-06-11 20:06:07

お礼

ありがとうございます。

投稿日時 - 2018-07-12 10:11:57

ANo.11

>回答No.10 amanojaku1

いくら言葉で説明しても、あくまで喩えなので、実際にプログラムを組んで勉強する以外に道はないです。

投稿日時 - 2018-06-09 10:34:54

お礼

はい

投稿日時 - 2018-06-09 11:11:51

ANo.10

>「アドレス」「参照」って何ですか?

変な例えになりますが、あくまでも説明のための例えです。

プリミティブ型は、あなたが直接 人と対話(データの やりとり)しているとイメージして下さい。

参照の場合:アドレスは電話番号とします、あなたが電話で人と対話(データの やりとり)しているとイメージして下さい。
ですから電話番号を間違えて別の所に かけたらバグになる訳です。

>「参照」する主体は人間じゃないのですか?

プログラムです。

>「オブジェクト指向」って、説明できないくらい難しい概念なんですね。。。

とりあえず下記を覚えておいて下さい。
自動車の「設計図(クラスと言う)」を作ったとします、その「設計図(クラス)」が有れば100台でも200台でも自動車を作れます(この場合の自動車を「実態(インスタンス)」と言います)。

投稿日時 - 2018-06-09 10:21:26

お礼

ありがとうございました

投稿日時 - 2018-06-09 10:39:28

ANo.9

まず、「C、C++」の習得は困難だと言われて言わす。
オブジェクト指向プログラミングの習得(クラス設計)も困難だと思われます。
ポインタが分からないと言ってる事からしてプログラミングの習得も困難かもしれません。
どうしても やる必要があるならエベレストに登るぐらいの覚悟で根性を入れて登って下さい、根性です!。

投稿日時 - 2018-06-09 07:20:12

お礼

根性は、ありません。 しかし、C++が必要なのです。

投稿日時 - 2018-06-09 09:26:26

ANo.8

>回答No.7 amanojaku1

>ポインタに代入されたアドレスが実際の「メモリー領域、変数」などを参照してない場合があります(間違ったアドレスが代入されたとか、「メモリー領域、変数」などが消失したとか)。

ポインタに代入されたアドレスが参照している実際の「変数」の型と違う型で使おうとするとバグになります。
ポインタに代入されたアドレスが参照している実際の「メモリー領域」のサイズと違うサイズで使おうとするとバグになります。

投稿日時 - 2018-06-09 00:19:40

お礼

「アドレス」「参照」って何ですか?

「参照」する主体は人間じゃないのですか?

投稿日時 - 2018-06-09 09:24:30

ANo.7

>「オブジェクト指向」「ポインタ」って、何ですか?

言葉で説明するのは難しいです。

>ポインタ

「メモリー領域、変数」などを参照するのがポインタです(添付画像参照)。
プリミティブ型は根源的な型(整数、浮動小数点、論理型など)。
ポインタに代入されたアドレスが実際の「メモリー領域、変数」などを参照してない場合があります(間違ったアドレスが代入されたとか、「メモリー領域、変数」などが消失したとか)。
こんなことを言われても良く分からないと思いますので、実際にプログラムを組んで勉強するしかないと思います。

>オブジェクト指向

本質は説明できません、下記はあくまでも表面的な説明です。
自動車の「設計図(クラスと言う)」を作ったとします、その「設計図(クラス)」が有れば100台でも200台でも自動車を作れます(この場合の自動車を「実態(インスタンスと言う)」と言います)。

投稿日時 - 2018-06-09 00:09:13

お礼

「オブジェクト指向」って、説明できないくらい難しい概念なんですね。。。

プログラミング
私、無理かも。

投稿日時 - 2018-06-09 09:22:06

ANo.6

>回答No.5 amanojaku1

オブジェクト指向プログラミングの習得(クラス設計)も困難です。

投稿日時 - 2018-06-08 17:34:03

お礼

「オブジェクト指向」って、何ですか?

投稿日時 - 2018-06-08 19:02:45

ANo.5

Cはオブジェクト指向プログラミング言語ではありません。
C++はオブジェクト指向プログラミング言語です、Cにオブジェクト指向を追加したのがC++です。
C++でオブジェクト指向を使わなければ、(微妙に違う部分もあるかもしれませんが)ほぼCと同様です。
よって、いきなりC++から勉強しても問題ありません(オブジェクト指向が分からなければ後回しにしても、とりあえずはプログラムは作れますので)。

ただし、「C、C++」の習得は困難だと言われて言わすが。

プロのエンジニア9人が徹底解説!おすすめのプログラミング言語9選
https://www.geekjob.jp/recommended-programming-language/

> 初心者が軽い気持ちでC言語を学び始めると痛い目にあいます。が、C言語をある程度使いこなせるようになれば、たいていの言語にも応用ができるので初めに学んでおいて損はありません。
> 多くのエンジニアがつまずいてきたポインタ管理などの理解が必要なため、使いこなせるようになるには時間が掛かります。

↑これは「C++」にも言える事です。

投稿日時 - 2018-06-08 17:18:50

お礼

「オブジェクト指向」「ポインタ」って、何ですか?

投稿日時 - 2018-06-08 19:02:06

ANo.4

こんにちは。

>C++は、Cを習得していないといけないのでしょうか??それとも、いきなりC++から習得できるのでしょうか?

いろいろ言っていないで、出来るところから始めるのが良いと思います。
でないと、3ヶ月後、結局何もやっていない自分に出会うことになりますから。

投稿日時 - 2018-06-08 16:49:27

お礼

ありがとうございます

投稿日時 - 2018-06-08 19:00:21

ANo.3

今後Cにかかわることがまずないだろうとおもうなら、Cは無視してC++からスタートで問題ありません。
Cにはポインタ問題という、はまり込んですべてを壊してしまう地獄がありますが、C++にはありません。
また、たいしたことじゃないですが、クラスを作ってゆくということを体で覚えると今後Java,PHP,Pythonなどを扱うときに非常に楽になります。

Cのほうは、20年前に作られているシステムを回収するというようなことがあった場合に初めて触ればいいことです。いろいろな言語が存在しますけど、何十年も同じソースが有効な言語はCだけです。

投稿日時 - 2018-06-08 16:40:16

お礼

「ポインタ問題」って、何ですか?

投稿日時 - 2018-06-08 18:59:38

ANo.1

cとc++は似てますが違いまして、いろいろ推測するとあなたの場合はc++からで問題ないです
先にcを覚えるメリットはないです

更に先に手続き型のcを覚えてしまうと、c++のオブジェクト指向という書き方を覚え直さなくてはならなく、この時に手続き型の書き方を下手に知っていると混乱の元です

今時はオブジェクト指向だけでいいですので。

投稿日時 - 2018-06-08 16:26:41

お礼

「オブジェクト指向」って、何ですか?

投稿日時 - 2018-06-08 18:57:47

あなたにオススメの質問