アカウント名:
パスワード:
C++とかJAVAとかを学ぶ、というのは、言語仕様・文法を学ぶことに加えて、それに付随する膨大なライブラリの使い方を学ぶ、ということを含んでるよね。
C# や Java ならともかく、C++ の場合は膨大なライブラリの使い方というよりも、無限の可能性を秘めたテンプレートの使い方こそが肝で、この部分をマスターできるという人は世界的にもトップクラスの C++ 使いだと言えると思いますよ。
C++ をマスターするとか、幻想過ぎて困る。
中身が switch だけのテンプレートを利用したインライン関数でテンプレートへのパラメータが定数の場合、分岐で switch (3) とかになるようにすると、case 3: 以外はすべて通らないコードになるので「コード自体は他の状況にも対応している」が「コンパイルされるコードは必要最低限」で、「生成されるバイナリはインライン展開された上に switch 部分がコンパイラの最適化で消える」コードとか、目から鱗というか唖然としたというか……。
# Java/C# の Generic はよくできているけど、C++ template 使いにはおもちゃにしか見えない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー
そもそものハナシですが (スコア:2, おもしろおかしい)
どちらか一方だけでもマスターできるかどうか怪しいのに
この上さらに新しい言語を学ぼうなんて大それた事は考えてもいませんでしたよ
私が無能なだけ?
Re:そもそものハナシですが (スコア:2, 興味深い)
他の言語もそう言ったスタンスで学ぶと、無理が出てくる。
そうでなくて、言語仕様や文法のみ、あるいはそれに加えてごく基本的なライブラリの使い方だけを学ぶ、というスタンスでも、「プログラミング自体に対する理解を深める」ことになら十分役立つと思うよ。
Re:そもそものハナシですが (スコア:1)
C# や Java ならともかく、C++ の場合は膨大なライブラリの使い方というよりも、無限の可能性を秘めたテンプレートの使い方こそが肝で、この部分をマスターできるという人は世界的にもトップクラスの C++ 使いだと言えると思いますよ。
C++ をマスターするとか、幻想過ぎて困る。
中身が switch だけのテンプレートを利用したインライン関数でテンプレートへのパラメータが定数の場合、分岐で switch (3) とかになるようにすると、case 3: 以外はすべて通らないコードになるので「コード自体は他の状況にも対応している」が「コンパイルされるコードは必要最低限」で、「生成されるバイナリはインライン展開された上に switch 部分がコンパイラの最適化で消える」コードとか、目から鱗というか唖然としたというか……。
# Java/C# の Generic はよくできているけど、C++ template 使いにはおもちゃにしか見えない。
Re:そもそものハナシですが (スコア:2, 興味深い)
そういう意味でも、毛色の違う言語を覚えるのはおすすめです。
Re:そもそものハナシですが (スコア:1, おもしろおかしい)
そしてlispを覚えるためのついでとしてエディタをemacsにして以後他のエディタにさわれない呪いをうけるのであった。
#ちぇー
Re: (スコア:0)
私はC++をマスターした!なんてトテモ言えません。
その点Javaは楽でいいですね。
Re:そもそものハナシですが (スコア:1)
C++が複雑で習得困難なのは認めます。でも、覚えることが多い分、できることも多く、痒いところに手が届きやすいと思っています。私の場合、Cを習得し終わってからC++を覚えたので、差分を学習するだけで済んだのですが、ゼロからC++を学習するのは大変だと思うので、とりあえずC++のことは忘れて、Cをマスターするのをおすすめします。
その点C++は使いこなせるようになれば、ジェットコースターの如く、頭の中からコードが湧き出てくるような爽快感があります。だから私はJavaよりもC++の方が「使い心地」はいいです。
まぁ、人それぞれ使い心地の良い言語は違うと思いますが。