パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

プログラミングを独学したい11歳におすすめの入門書は?」記事へのコメント

  • by Anonymous Coward

    いきなりCやJavaではなくHTMLあたりから始めさせたら良いのでは?

    • 前にも似たような「最初に触るプログラミング言語はなにがいい」みたいな
      トピックがありましたが、やはり JavaScript がベストオプションだと思います。

      ブラウザで動かす限り、ローカルファイルに触れないというのも、いいではないですか。
      間違って変なコード動かしてファイル消してしまうこともない。

      コンパイルしてできた exe ファイルを、他人に実行してもらうおうにも厳しいでしょう(笑)

      • >間違って変なコード動かしてファイル消してしまうこともない。
        むしろ間違ってそんなことが起きてしまう言語・環境の方が興味があるんですがw

        とても私はjavascriptがベストだとは思えません。むしろ避けるべきとすら思えます。

        http鯖をたてるのは必須ですし、場合によっては各サービスのチューニングも必要です。
          (なぜならブラウザ、設定によりますが、ローカルのファイルを読みに行けないことがあります。親が代わりに立ててもいいですけど)
        ブラウザごと、バージョンごとに挙動が変わってしまうのも宜しくないかと。
        本に載ってることと違っていたり、サンプルがまるで動かないなんてこともあり得ます。
        昨日までは動いていた物が、今日のセキュリティフィクスのおかげで動かなくなりました、なんてこともあります。
        それに今でこそ、開発ツールも充実してきていますが、デバッガが優れている物、デバックしやすい環境・言語も重要でしょう。
        それと、javascriptのコーディングスタイル・ルールはかなり自由なので、他人のコードが読みにくい、読み慣れない形で書いてある->参考に出来なかった なんてことがあり得ると思います。
        また、javascriptは1スレッドしか動かない、しかも永遠と拘束し続けられないという制約がありますから
        コールバック関数を渡しておいて非同期に処理するということがよくある(むしろほとんど)です。
        こういうコードはどういう順番で実行されるのか分かりにくいですし、ぶっちゃけ初心者中学生にはお勧めできません。

        どういう理由があってjavascriptがベストだと思った、初心者向きだと思ったのか教えてください。

        親コメント
        • by deleted user (13014) on 2012年04月15日 11時37分 (#2136181)

          言語によって、他人のコードが読みやすい、読みにくいというのは、私はあんまり信じてないです。Fortran、アセンブラはたしかに厳しい(笑)しかしながら、JavaScript についていえば、読みやすく書くことはできます。どんな言語でも、間違った書き方をしたコードは読みにくい。言語仕様の縛りがしっかりしてれば、自動的に正しい書き方になるとは、私は考えません。

          最近のプログラミングスタイルとして「文字列をキーにした値」をともかく楽に扱いたい、というニーズが高いとおもいます。シンプルなhttpリクエスト、NOSQLみたいなことで。JavaScript はそういうスタイルにマッチしてます。Java は、値を格納すること一つでも、無用に長いアクセサメソッドいっぱい並べるスタイルです。あれはあんまりよくないと思います。近年のニーズに合ってない。

          親コメント
        • コンパイラやバージョンで挙動が違うのは他の言語もそうだと思いますけどね。
          開発ツールが今充実してきたならもう問題ないんじゃないかと思います。
          マルチスレッドとコールバックどちらがわかりにくいかというと、どちらもわかりにくいので、
          初心者向けの段階で触れるのがそもそも違うんじゃないかなぁ。

          あと、ここでは述べられてませんが、JavaScriptの言語仕様がダメっていう人は、
          単にプロトタイプベースのオブジェクト指向言語を知らないだけなケースがほとんどな気が。
          # いや、確かに function が長いとか、標準ライブラリがミニマリズムで使いにくいとかはありますが

          開発環境が簡単に手に入って、ぼちぼちまともな言語仕様で、
          結果がすぐ目に見えるってのはいいと思うんですけどね。

          親コメント
        • by Anonymous Coward on 2012年04月15日 8時35分 (#2136144)

          なんで javascript に サーバが必要だと思ったのかにも興味がある。

          親コメント
        • by paprika (5024) on 2012年04月16日 9時41分 (#2136538) 日記

          私もjavascriptが嫌いです。
          でもファーストチョイスとしては悪くないと思います。

          なぜなら言語が使いにくいから、入門に向いているのです。

          私が小学生の頃はBASICがそれに相当しました。使いにくい言語を一通りマスターした後で、Cに移行すると、構造化の恩恵をよく理解できます。Cをしばらく使っているうちに、面倒くさいことが色々出てくるので、そこで、JavaかC#かC++に移行します。すると、オブジェクト指向の便利さが身にしみてわかります。javascriptでも構造化やオブジェクト指向は、ある程度は可能だと思いますが、あとからJavaやC#やC++に移行すれば、より便利で応用範囲の広い開発が実現できるでしょう。

          ある言語に慣れてしまうと、別の言語に移行するのは難しいと思われるかもしれませんが、私はいくつかの言語を渡り歩いてきて、今はC++が主力言語になりました。

          あと、初心者には、「自分の手を動かして何かを作ったら、それがすぐ動いていることを見られる」ことが喜びにつながります。なので、書籍ではありませんが、電子工作もおすすめします。今ではArduinoやmbedなど便利なものがあります。小学生の頃は、LEDが点滅するだけで嬉しいものです。

          最近はあまり聞きませんがLEGO MindStormsも良かったと思います。

          親コメント
        • by Anonymous Coward

          どちらかというとどういう理由があって
          それらの妄想を垂れ流す事になったのか教えてください。

          >>間違って変なコード動かしてファイル消してしまうこともない。
          >むしろ間違ってそんなことが起きてしまう言語・環境の方が興味があるんですがw
          ローカルファイルの操作ができる言語・環境ならどれでもありえるのですがw

          つっこみどころがありすぎのですが、一つだけ
          全てjavascriptで最後まで行かなければいけないなんて誰も言ってませんよ。

          • by Anonymous Coward

            #2135940 と #2135976 の双方共に正しいよ。

            何を重視してるかが違うだけ。見苦しいのは、アンタみたいなしょうもないツッコミの方。

            • by Anonymous Coward

              #2135940 はともかく、#2135976が正しいと言うのは無理ありすぎだろう。

        • Re: (スコア:0, すばらしい洞察)

          by Anonymous Coward

          要約

          俺はhttp鯖を立てるのは難しいからjavascriptは嫌いだ。
          俺はブラウザごと、バージョンごと、セキュリティフィックス毎に挙動が変わるとついていけないからjavascriptは嫌いだ。
          俺は最近のjavascriptのデバッガ事情を知らないからjavascriptは嫌いだ。
          俺はjavascriptのコードを読めないからjavascriptは嫌いだ。
          俺はコールバック関数を使った非同期処理が理解できないからjavascriptは嫌いだ。

          • by firewheel (31280) on 2012年04月14日 23時44分 (#2136049)

            全然要約になってないし、的確でもない。単なる「フレームのもと」。

            JavaScriptが良くないのは言語仕様として良くないから。
            特に初心者は、何が良くて何が悪いのかも分からないからね。

            親コメント
            • by OtakuMan (45130) on 2012年04月14日 23時51分 (#2136058) 日記

              >特に初心者は、何が良くて何が悪いのかも分からないからね。

              となると、Pascal辺りでも扱わせますか?

              煽り抜きで、学習目的だけなら評価出来る言語だと思う。
              ガチガチ過ぎて、その内、嫌になりますが、そしたら、他の言語に行けば良いだけの話。

              #個人的には、JavaScriptの「何でも有り」な所は好きですがね。

              --
              通知の設定いじったから、ACだとコメントされても気づかない事が多いよ。あしからずw
              親コメント
        • by Anonymous Coward

          javascriptを勉強するのに何故http鯖が必須なのかがどうしてもわかりません
          あげている例のほとんどが別にjavascriptの問題じゃないような気がします

        • by Anonymous Coward

          > http鯖をたてるのは必須ですし、場合によっては各サービスのチューニングも必要です。
          どーしていきなりそんな話になるの?最初はどーせHello worldですぜ?
          > (なぜならブラウザ、設定によりますが、ローカルのファイルを読みに行けないことがあります。親が代わりに立ててもいいですけど)
          はぁ?普通のご家庭にあって動いてるOSってばWindowsでしょ。君はHTAって知らないの?あれならローカルファイル
          読み放題ですけど?
          #まぁそれはそれでJavascriptだけでなくてdhtmlとか書けないとつまらないけどさ。。。
          > それに今でこそ、開発ツールも充実してきていますが、デバ

          • >最初はどーせHello worldですぜ?
            外部リソース(画像にしろ、JSON,XMLにしろ)を読みに行く時点で壁になると思いますが。

            >君はHTAって知らないの?
            あれを使うんですか?というかまだ使えたんだ… それにHTAは
            >ブラウザで動かす限り、ローカルファイルに触れないというのも、いいではないですか。
            ブラウザで動きませんよ?(内部でTrident使ってる云々は別にして)

            >んな環境、初心者に使えるものか
            ご冗談を。むしろ初心者だからこそ実行中の状況を知らないと原因の推測が出来ないんですよ。
            変数をウォッチしながらトレース実行するのが初心者が自分の書いた物を理解するのに一番手っ取り早い方法だと思いますが。
            もっともそれくらいであればGoogleChromeにもついていますが。

            >そこに悩むレベルまできたら、もう一人前だと思いますが、違いますか?
            DOMを扱うにしても、ビルトインの物を直接扱う場合もあれば、各ライブラリの物を使う場合もあります。
            クラスを扱うにしても

            var cls1 = functoin(){ var self = this; self.func = function(){ return 'hoge' ;} };
              var cls2.prototype = { func : function(){ return 'hoge'  ;}};
              cls2.protoype.func2 = function() { return 'hoge' ;} ;

            と3通りほど書き方があります。
            これは一人前じゃ無くても触る必要のある範囲だと思いますが?

            >OSに依存しないし
            その代わりブラウザとそのスクリプトエンジンにがっつり依存してますね。
            HTAはWindows以外で動いてCOMが使える環境というのがぴんときませんが。

            >お勧め言語
            C#あたりですかね。ライブラリ、フレームワークも標準ので十分充実してますし。
            もしくは(.netじゃない)Delphi/Pascalですかね。

            親コメント
          • by Anonymous Coward
            普通のご家庭はどうか知らんがここの家はUbuntuとMacOS Xだぞ

コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell

処理中...