パスワードを忘れた? アカウント作成

TIOBE IndexのProgramming Language of the Year 2019はC言語」記事へのコメント

  • by Anonymous Coward

    そうかしら?
    他のメジャーな言語と比べて変わらないと思うし、ちゃんとしたコードが書けるようになるまでが他と比べて険しい言語と思うんですけどねCやC++って。

    • by Anonymous Coward

      GUIやら何やらが面倒だからね。

      Hello Worldする難易度は他と変わらないけど、その次のマイルストーンが見つからない。
      少なくとも現状では、最初に覚えるべき言語ではなく、3番目ぐらいに習得するのが良さそうな印象。

      • by Anonymous Coward

        最近のプログラマってのは「Hello,world」の次がGUIなのか
        見た目で結果が出てくるのが楽しいということでしょうか

        そんなん他の言語に任せておけばええやん
        C言語使う意義ってそんなところにはない

        • by Anonymous Coward

          だから「最初の言語としてCを学ぶ意味が少ない(他の言語から入るべき)」って話でしょ。
          プログラミング言語より先に、日本語を勉強してよ。

          • by Anonymous Coward on 2020年01月14日 0時00分 (#3744567)

            > だから「最初の言語としてCを学ぶ意味が少ない(他の言語から入るべき)」って話でしょ。
            > プログラミング言語より先に、日本語を勉強してよ。

            C言語が理解できない人はこういう事を言いますね。

            実際はCを学ぶ意味が少ないのではなくて
            あなたがC言語を理解できてないだけです。

            C言語を勉強してから出直しましょう。

            • by Anonymous Coward

              > だから「最初の言語としてCを学ぶ意味が少ない(他の言語から入るべき)」って話でしょ。
              > プログラミング言語より先に、日本語を勉強してよ。

              C言語が理解できない人はこういう事を言いますね。

              実際はCを学ぶ意味が少ないのではなくて
              あなたがC言語を理解できてないだけです。

              C言語を勉強してから出直しましょう。

              では現状で、プログラミングを過去に経験していない人が最初にC言語を学ぶ意味って何だろう。
              たとえばC#とかPython、あるいはJavaScript等、試しやすい環境がいくらでもある言語に比べて、C言語

              • by Anonymous Coward

                憲法学者のよく言う「勉強が足りない」みたいなもんかね
                必要だから必要なんだ、っていう循環論法

              • by Anonymous Coward

                低級な部分がよく見えるので、コンピューターの基礎を学ぶ人にはちょうど良いのでは?
                コンピューターの基礎を、別途身につけているなら不要だと思いますけれども。

              • by Anonymous Coward

                最初に学ぶ言語としてPythonとCだったら、Pythonのほうがいいよ。
                楽だし覚えること少な目ではじめられて、段階的に覚えてけばいい要素が多い。

                でも、C#Cだったら圧倒的に Cがいい。
                Cのループや条件分岐、あるいはその組合せとか、勉強したことが、ほとんど無駄にならず、そのまま読み書きに使える。
                C#の場合、そういう「基礎」の組合せで書けるようになっても、一般的なコードでは、そういうのが表われことが非常に稀。単純なループだけでもLINQやらラムダも覚えなきゃ普通のコードを読むことすら出来ない。必要最低限度に到達するまでの敷居が高すぎる。
                ポインタ関連の概念もJavaやC#では不要になるわけじゃないしね。

                まぁ、Cとかアセンブリとかの低レベルなところを、いずれやらなきゃいけないなら、早い時期にやっといたほうがいいとは思う。
                高級言語ばかりやった後で、低レベルなところで頑張るのは辛い。
                低レベルを先に体験しとくと、たいていの言語で、あれよりは楽と思えるとかはメリット(?)になる。やらなくていい人生なら一生やる必要はない。

              • by Anonymous Coward

                C# が裏で malloc() (≒new) をガンガンやっているのがもったいなく感じるのですが(もっとスタックを使おうよ!)、
                こういう感覚ってC言語でメモリを使った経験があればこそですよね。

                # malloc() を避けるために unsafe コードやら static クラスを多用しだすと老害プログラマなんでしょうけど、
                # C# はそういった要求にも応えられる懐の深い言語なのですね。

              • by Anonymous Coward

                プログラミングを学ぶのとコンピューターの基礎を学ぶのは別でしょ。

                そしてプログラミングを学ぶ上では、コンピューターの低いレイヤーの部分に関する知識よりも、まずロジックの組み方やデバッグのやり方などを教える必要がある。そういう点ではC言語は機能が少なすぎてメリットがありません。

                低レベルなコンピューターの基礎動作を学ぶのは、ある程度、プログラミングの技術が身についてからのほうが良いです。
                そうでなければ中途半端にC言語とか平行でやるより、座学で理論として教えたほうがいい。

              • by Anonymous Coward

                でも、C#Cだったら圧倒的に Cがいい。

                C#の場合、そういう「基礎」の組合せで書けるようになっても、一般的なコードでは、そういうのが表われことが非常に稀。

                別に基礎学習レベルの人がLINQだラムダだを読む必要はないでしょ。言語仕様としては使わなくても使えるようになってるから。
                (async・awaitあたりは微妙かもしれないけど)

                そういう上級者が書いたコードを写経・読解する学習法が前提、というなら、Cでも最初からポインタやらバッファやら理解してないといけない。読解難易度ではそっちのほうが遥かに高いよ。

              • by Anonymous Coward

                現実問題として「言語仕様としては使わなくても使えるようになってる」けど、上級者のコードではなく、底辺レベルのコーダの物であっても、それが使われないコードなんてのは、現実にはありえないわけですよ。
                C#の場合はラムダやLINQの理解は、超初心者レベルでも必須ですよ。

                ポインタやらバッファなんてのは、それらと比べれば、はるかに簡単な概念ですから、文系の新卒に教えても(そちらと比べれば)簡単に理解してくれますよ。

              • by Anonymous Coward

                # malloc() を避けるために unsafe コードやら static クラスを多用しだすと老害プログラマなんでしょうけど、

                老害というより、メンテコストを増大させるだけなので有害。
                GCに頼れない分、逆にメモリ問題を把握しにくくなる。
                しいて言うなら、Microsoftの.NET Frameworkを設計・実装した人より有能だという自信があるプログラマーだけだと思うよ、そんなことやっていいのは。

                こういう感覚ってC言語でメモリを使った経験があればこそですよね。

                そんなアホなこと言いだすぐらいならC言語なんざ若い人に触らせちゃダメだよ。
                基礎を理解するのと、基礎がわかった気になってエンジニアとして使えない方向に拗らすのは全然違う。

            • by Anonymous Coward

              BASIC->ASM->C->C++とプログラム言語を進めたオレからすると、C/C++は基本のその他のPC系言語
              を知ったうえで習得した方が間違いなく簡単に習得できると思うから、最初にC言語を学ぶ意味が少ないってのは同意。

              BASICやってたから、ASMやってたからC/C++の構文や宣言や規則、ポインタも違和感なく習得できたってのがある。
              80年代のBASICはホントに基本の言語でインタプリタ言語だったからテストも習得も容易だったし、
              その知識の有無はC/C++に進むにはかなり有用だった。
              ASMはまぁ、言語を覚えただけでそれで何ができるかってのはPCのシステムコールとかを知る必要があ

※ただしPHPを除く -- あるAdmin

処理中...