• 締切済み

すいません

質問を連発してしまい、申し訳ありません。 ただ、あるサイトに「JAVAを学ぶ人は、クラスの理解がなくとも、最低限構造体とメモリに関する基礎知識はあるべきです」とのくだりがありました。 ですが自分はC++の知識も無ければ構造体大まかな知識もありません。このことはそれほどまで致命的なのでしょうか?? だとすれば何を優先させるべきなのでしょうか? アドバイスをよろしくお願いします。m(__)m

みんなの回答

  • proust
  • ベストアンサー率57% (62/108)
回答No.1

最低限、というのは少々大げさすぎます。 開始時点でそれらの知識は必ずしも必要ないように思えます。 むしろ、CやC++でしたらそういった知識が必須になります。 一方、Javaの場合、構造体やメモリのことを大して知らなくても そこそこのものは作れます。しかし、それだけに、効率が悪かったり 構造が汚いけれどとりあえず動くものが作れてしまうため、そこを 戒めているんだと思います。 とここまで書いておいて何ですが、今からはじめるなら私は実はC言語や アセンブラの勉強を並行して進めることを薦めます。(まだご存知 なければの話) そんなの必要ない、オブジェクト指向設計を教えよという意見も あるでしょうが、やはりプログラムがコンピュータの中で どのように動くかということを知っておくのと そうでないのとでは、例えJavaであろうとも後々大きな違いに なると思います。先人が通った道をたどり、その上でなぜオブジェクト 指向が必要とされたのかを考えたほうが、一見遠回りでも 本質的な理解につながると思うためです。

javatea_1985
質問者

お礼

 貴重なご意見ありがとうございます。 C言語は書店などでたまに目を通すことがあります。 一部JAVAに似ていますよね。 同時並行とまでは行かなくても意識的に本屋に寄ることにします。いいのがあれば買いますし。 ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 入社前に読むべき本!!

    来年4月から入社し javaを使ってプログラミングを行う者です!! パソコンがそもそも全く苦手です。。 インターネットいじるくらいで解凍だのメモリだの全くわかりません。 入社前に最低限 読んでおくべき (1)javaの基礎の本 と (2)パソコンの基礎知識、基本構造の本 を教えて下さい!!

    • ベストアンサー
    • Java
  • 私の場合、C++とJavaのどちらの言語でクラス取るべき?

    今度、データ構造のクラスを取ります。 でもその言語がC++とJavaで選べます。 私自身はBASIC, C, Fortran, Assembly, C++と習ってきました。 C++の初級は余裕だったのですが(Cの知識が結構応用できた)、 中級でのclassの概念(base, derivedなど)は 今一つ理解できてないと思います(グレードはBでした)。 例文があれば、いろんなところから貼り合わせ、なんとか動くようには出来るレベルです(^^ゞ 教授は「大丈夫、C++を理解していればJavaは出来る」と言いますし、 ここのOKWebの過去ログにもそんな記述があるのですが、 未知の言語(Java)で初級コースならまだしも データ構造(配列やらリストやら)を扱うっていうのは厳しいような…うーん…。 …と言いつつもC++でも自信ないし…うーん…。 Javaは人気があるのは知っていますし、新しい言語に興味もあるのですけど…うーん…。 最近、初級コースはJavaに切り替わったそうです… でも折角C++で必修科目を埋めたのにJavaで取り直すのはちょっと…うーん…。 こんな私はどちらの言語でデータ構造のクラスを取ればよいでしょうか? 両方の言語をご存知の方、アドヴァイスをください。

  • Javaのアプリケーション制作 テキスト

    独学でJavaの勉強をしています。先日「やさしいJava」の制作を終えたところなのですが、Javaを使ったアプリケーション制作をしたいと思っております。基礎の基礎は学習したが、Javaによる作成の知識は無いという人向けのアプリケーション制作のテキストを教えてください。また、まだこの本では基礎が足りないならその基礎を補う本も一緒に教えていただけると幸いです。 なお、C++やmysql、PHPをしているので、多少のアルゴリズムは理解しているつもりですが、オブジェクト指向の理解が少し足りないかも知れません。 よろしくお願いします。

  • C++のクラスについて

    シューティングゲームの製作の為、C++を勉強しているのですが、 C++のクラスというのは、C言語でいう構造体の強化版!みたいな感じで考えて良いのでしょうか。 また、Cの構造体とC++のクラスの違いは何でしょうか。 クラスの中に関数を作る利点は何なのでしょうか。 質問が多くて申し訳ないのですが、ご教授の方よろしくお願いします。

  • Javaの擬似構造体を利用したPushとPopについて

    現在、C++のコードをJavaに変換しているのですが、 Javaで構造体を扱うために、クラスを使って擬似構造体を構築し、 この内容をPushとPopで操作したいと考えています。 しかし、C++におけるポインタがJavaには提示されていないため、処理に困っています。 どのようにコーディングすれば、Javaで処理できるでしょうか? よろしくお願いします。 以下、C++のソースです。 //構造体配列の先頭にデータを追加する関数 void push(CPS_struct *cps , int *n) { int i; for (i = *n ; i >= 1 ; i--) { *(cps + i) = *(cps + i - 1); } (*n)++; }

  • CSVファイルを読み込んで計算するには、構造体か?

    はじめまして。C++プログラミングの質問です。 初心者レベルの質問で申し訳ないのですが、お付き合いください。 CSVファイルを読み込んで、書かれている値を使ってある計算を行う、 ということをしたいのですが、処理方法をどうするか悩んでいます。 CSVファイルに書かれる最大行86400行、最大列6000列です。 また、開発環境はLinuxとなります。 私は「CSVファイルの項目を構造体に格納するクラス」と、「構造体の値を使って計算 するクラス」を考えました。 しかし、構造体ですと最大86400行のものを格納するのは、メモリを食うだけで無駄だという 指摘を受けました。 直接ファイルから値をとってきて、計算クラスに処理させるほうが無難と言われましたが、 「CSVファイルの項目を構造体に格納するクラス=データベース」と考えており、 後々拡張する場合に融通が利くのではないでしょうか。 経験が浅いので、断固たる主張ができないのですが・・・ 構造体に入れることばかり考えていたので、開発のボリュームを抑え、かつ、メモリを食わない 方法を全く思いつきません。 有識者の方へアドバイスを受けたいのですが、 ・大量のデータを読み込む場合、構造体等に格納する方が後ほど助かるか、 それとも、直接ファイル読み込みした方がよいか ・構造体格納のほかに相応しいやり方はないか この2点をメインにお答えいただけないでしょうか。 何か良いやりかたがありましたら教えていただきたいです。 よろしくお願い致します。

  • Objective-Cの効率的な勉強

    objective-cを勉強しているのですが、クラスの意味や コードの構造が中々理解できません。 そういった基礎的な事を習得できるドリルや問題集は ありませんでしょうか?非常に困っています。 どなたかご教示頂けないでしょうか。

  • C#とjavaのクラス構造について

    現在、C#を勉強中なんですが、都合により、同時にjavaも勉強中です。 そこで思ったのですが、C#の構造とjavaの構造はもちろん違うのですが、ふと疑問に思ったのは、 C#はWebサーバーやら、APサーバー間をデータセットでデータのやり取りをするのですが、 javaは、そういう構造ではなく、色々調べてみると、アクションクラスで、直接、DBにSQLを投げるみたいなことが書かれていました。 C#にたとえると、FormクラスからいきなりDB接続みたいな感じですが、これはいいんでしょうか? C#の方を重点的にやってきたので、なんとなく抵抗がありますが・・・ よろしくお願いします。

  • 構造体とクラスの違い

    お世話になります。 先日、C(C++もかな?)のベテランのプログラマの方が「構造体とクラスはまったく違うものだ」ときっぱり言い切っていらっしゃいました。私は、構造体にメソッドが加わったものがクラスだ、くらいな認識で、まったく違うものというよりはかなり近しい概念だと思っていたので少々驚いた次第です。 疑問が残りましたので、インターネットでいろいろ検索してみたのですが、おしなべて「構造体とクラスには共通点が多い」と説明されており、どうしても「まったく違うもの」と解釈できる文献を見つけることができませんでした。 果たして「構造体とクラスはまったく違うもの」なのでしょうか?

  • C言語もしくはC++言語プログラマになれますか?

    私は30歳になったばかりです。諸事情によりずっと家にいます(母親の病気などです)。 5年ほど前JavaでWebシステムを作っていましたが、やめました。それ以降もJavaやPHP、VB.NETなどやってはいるんですが、なかなか腰を落ち着けられません。 私は本来の性格として基礎固めが大好きというか基礎がしっかりしていないと意味がないと考えてしまうタイプです。こと、プログラムに関しても、コンピュータの仕組みから理解してアセンブラやらの書物を読み、C言語を勉強したりするとコンピュータを根本から理解できて、やっと自分の役に立つという思考しかできないものです。いきなり高級言語のJavaやらC#やら.NETやらやっても、うわべだけさすってるようで、根本的な理解を得られないので(コンピュータに対する)、無駄だなあとどうしても感じてしまうのです。また、それよりも基礎からしっかり積み重ねた方が後々、新しい言語ができても理解の度合いというかどっしりと理解できるとおもうのです。 しかし、就職のことを考え、PHPやらC#やらJavaやらVB.NETやらを優先してきてどれもどっちつかずになってしまいました。当然Cなども合間をぬってやっていました。 で、私は、そのどっちつかずな状態がいやなので、CとC++に絞って勉強することにしました。で、低級コンパイラの中身やアセンブラも勉強していこうと決心しました。しかし、就職のことを考えると不安です。 あと、1年みっちり勉強するとして、CやC++の就職先はあるのでしょうか?自分としては、働ける限り年齢がいくつになってもがんばりたいとおもうのですが、なにしろ世間的にいうと全く遅い年齢です。もし、励ましになるような事もありましたら、ご回答していただければ、うれしいです。よろしくお願いします。