街中で見かけて「グッときた人」の思い出

プログラミング言語を学びたいです何も知識がありません実行速度重視ゲームバグ修正wb制作などをやる予定ですcプラスプラスとjavaなど考えてますcプラスプラス難しいと言われているので迷ってます

A 回答 (5件)

>何も知識がありません



これだと C++ではプログラムを実行できるようになる前に挫折しそうだし
C++の参考書はプログラミングの素人を相手にしてないのが
多いから大変そう・・・

即動かせる python とかスクリプト系言語から入るのが無難。
左右が見えてきてプログラミングの何たるかが見えてきてから
改めて言語を選択するのがよいと思う。

まあ、傍らに教師役がいるなら、C++でも良いけど。
    • good
    • 0
この回答へのお礼

お答えありがとうございます

お礼日時:2024/08/21 10:36

う〜ん。



> cプラスプラスとjavaなど考えてます

いや、自分でそれをやりたい、って思ってるのならそれでエエんちゃうの?
毎度言ってるんだけど、「どのプログラミング言語でプログラミングを学び始めるのか」ってのはさして重要じゃないんだ。
ただ、「プログラミング言語そのもの」よりも、それを使った「良いプログラミング入門書がある」かどうか、ってのがむしろ大事なんだ。
んで、個人的には、貴方が言ってるC++やJavaでは「どれが良い入門書足り得るのか」は知らない。
まずは周りでプログラミング(C++かJavaユーザー)やってる人間に「どれが入門書としていいのか」訊いてみよう。

恐らく、Javaだったら、定番書籍としては次の本に「なるんじゃないか」とは思う。

Head First Java 第2版:
https://www.oreilly.co.jp/books/9784873112794/

若干古い本だけど、それでもJavaの基本を学ぶ程度だったら今でも有効なんじゃないか。
選択理由としては「海外で入門書の定番書として実績のあるシリーズだから」、ってのが一つ。もう一つは「日本のプログラミングの入門書の殆どがゴミ」だからだ。値段が高くても翻訳本の方がマシ、って個人的経験に拠る。
しかし中身を見たことがないんで、本当はなんとも言えない。よって話を鵜呑みにせず、自分で実際、大きな書店に行って中身を確認してみよう。「合わなかったら」買い控える事。
結局「誰かJavaを良く知ってる」人がいればその人に訊くのが一番、だとは思う。

※: 一応、Java提供元のOracleの方で「Javaチュートリアル」と言う公式入門ページがあるにはあるんだが・・・・・・。

Javaチュートリアル:
https://docs.oracle.com/cd/E26537_01/tutorial/in …

ところが、ガワは訳してるんだけど、本体は英語のままだ(笑)。OracleジャパンはあまりJavaを使ってもらう事に対してはそれほど本気じゃないらしい(笑)。

さて、C++に関して言うと、流布されてる範囲で言うと、定番書籍、って言えるのは原作者自らが記述したこの本の名前しか聞かない。

プログラミング言語C++ 第4版:
https://www.sbcr.jp/product/4797375954/

ただ、この本は「プログラミング入門書」じゃなくって、仕様書に近い、っつーかリファレンスの類だ、と言う話だ。C++を使うなら「いずれ必要になる本」かもしれないけど、初心者が読めるブツではない、と言う話。
そして、上で紹介したHead FirstのC++版は残念ながら邦訳はされてない模様だ。

意外と、WindowsでC++を用いる、って前提なら素直にMicrosoftのドキュメンテーションに頼る、ってのも手かもしんない。

C++ ドキュメント:
https://learn.microsoft.com/ja-jp/cpp/cpp/?view= …

> cプラスプラス難しいと言われているので迷ってます

難しい・・・まぁ、難しいだろうねぇ。
断っておくけど、僕はC++の専門じゃない(Javaでもない)。
ただし、知ってる範疇で言うと、一つは「C++は難しい」ってのは「Cは難しい」ってのと同値だ、って範囲。
もう一つは、単に、事実上C++ってのは「複数のプログラミング言語(に見えるモノ)の混成体だ」って事なんだよ。

・ C言語とあんま変わらんC言語的な部分
・ C言語に「オブジェクト指向」的拡張を施した「オブジェクト指向」部分
・ ジェネリック・プログラミングを目指したSTLを含む、「テンプレート」を中心とした部分

実はこの3つは目的が違う、っつーか「プログラミングの方策」が変わる。C++が仮に、単純に「Cを拡張した」言語だったら問題は無かったんだけど、事実上「3つ以上が混ざってる」言語なんだ。
つまり、それぞれに於いてプログラミングの方策が違う。プログラミングスタイルが変わってくる。
要は「一つに統合されていない」んで、「難しい」と思われるわけだ。プログラミング言語は一つでさえ全体を把握するのは難しい。それが事実上3つ以上含まれてたら・・・・まぁ、混乱して当然だよな(笑)。
言い換えると無理に全体を学ぼうとせず、「どれか一本に絞って」それに沿って学ぶ、となれば難易度は下がる、って言えば下がるんだよ。

一方、JavaはC++とは違って(いや、C++をモデルとして誕生はしたが)、単純に「オブジェクト指向」言語だ。オブジェクト指向、と言う縛りが存在する。よってオブジェクト指向に縛られて良し、って前提ならC++に比べると「混乱度合いは無い」。
C++はJavaと違って「オブジェクト指向を強制しない」。よって押し付けがましさはないんだけど、逆に「アレコレ出来すぎるので」混乱する可能性大、って事なんだ。

いずれにせよ、入門書次第、なんだ。
そんなトコかな。
    • good
    • 0
この回答へのお礼

お答えありがとうございます

お礼日時:2024/08/20 07:50

人に言われたまま作業するプログラマーじゃなくて、


どんなプログラムをどんな環境で作るのかから、自分で全部考えるのであれば、アルゴリズム以前に、まずコンピューターの知識が必要です。

CPUとは何か?メモリーとは?ストレージとは?
4GBのメモリーが必要なプログラムを同時に10個動かしたけどPCのメモリーは16GBしかない(4GB×10 > 16GB)。どうなる?
キャッシュとは?バッファとは?
配列や連想配列は、CPUの動作レベルだとどういう仕組みで実現しているのか?
とかとか。
    • good
    • 0
この回答へのお礼

お答えありがとうございます

お礼日時:2024/08/19 21:09

No.1さんの仰るとおり。


で、アルゴリズムを学ぶには、何か具体的な言語でコーディングしながら
でないと身につきません。アルゴリズムを学ぶのに適した言語は
ふた昔くらい前ならPASCALでしたが、今だと未だにCかなあ...
Pythonとかで学ぶと、普通の手続き型言語とはちょっと違ったクセ
がつきそうだから、CかC++が無難でしょう。
    • good
    • 0
この回答へのお礼

お答えありがとうございます

お礼日時:2024/08/19 17:46

単純に言語を学ぶよりも、最初にアルゴリズムについて勉強した方がいいです。



基本的なプログラム構造を設計できる力がないと、言語だけを覚えても構造が複雑で非効率なプログラムしか作れません。
    • good
    • 2
この回答へのお礼

おこたえありがとうございます

お礼日時:2024/08/19 17:47

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A