アカウント名:
パスワード:
いきなりCやJavaではなくHTMLあたりから始めさせたら良いのでは?
前にも似たような「最初に触るプログラミング言語はなにがいい」みたいなトピックがありましたが、やはり JavaScript がベストオプションだと思います。
ブラウザで動かす限り、ローカルファイルに触れないというのも、いいではないですか。間違って変なコード動かしてファイル消してしまうこともない。
コンパイルしてできた exe ファイルを、他人に実行してもらうおうにも厳しいでしょう(笑)
>間違って変なコード動かしてファイル消してしまうこともない。むしろ間違ってそんなことが起きてしまう言語・環境の方が興味があるんですがw
とても私はjavascriptがベストだとは思えません。むしろ避けるべきとすら思えます。
http鯖をたてるのは必須ですし、場合によっては各サービスのチューニングも必要です。 (なぜならブラウザ、設定によりますが、ローカルのファイルを読みに行けないことがあります。親が代わりに立ててもいいですけど)ブラウザごと、バージョンごとに挙動が変わってしまうのも宜しくないかと。本に載ってることと違っていたり、サンプルがまるで動かないなんてこともあり得ます。昨日までは動いていた物が、今日のセキュリティフィクスのおかげで動かなくなりました、なんてこともあります。それに今でこそ、開発ツールも充実してきていますが、デバッガが優れている物、デバックしやすい環境・言語も重要でしょう。それと、javascriptのコーディングスタイル・ルールはかなり自由なので、他人のコードが読みにくい、読み慣れない形で書いてある->参考に出来なかった なんてことがあり得ると思います。また、javascriptは1スレッドしか動かない、しかも永遠と拘束し続けられないという制約がありますからコールバック関数を渡しておいて非同期に処理するということがよくある(むしろほとんど)です。こういうコードはどういう順番で実行されるのか分かりにくいですし、ぶっちゃけ初心者中学生にはお勧めできません。
どういう理由があってjavascriptがベストだと思った、初心者向きだと思ったのか教えてください。
言語によって、他人のコードが読みやすい、読みにくいというのは、私はあんまり信じてないです。Fortran、アセンブラはたしかに厳しい(笑)しかしながら、JavaScript についていえば、読みやすく書くことはできます。どんな言語でも、間違った書き方をしたコードは読みにくい。言語仕様の縛りがしっかりしてれば、自動的に正しい書き方になるとは、私は考えません。
最近のプログラミングスタイルとして「文字列をキーにした値」をともかく楽に扱いたい、というニーズが高いとおもいます。シンプルなhttpリクエスト、NOSQLみたいなことで。JavaScript はそういうスタイルにマッチしてます。Java は、値を格納すること一つでも、無用に長いアクセサメソッドいっぱい並べるスタイルです。あれはあんまりよくないと思います。近年のニーズに合ってない。
コンパイラやバージョンで挙動が違うのは他の言語もそうだと思いますけどね。開発ツールが今充実してきたならもう問題ないんじゃないかと思います。マルチスレッドとコールバックどちらがわかりにくいかというと、どちらもわかりにくいので、初心者向けの段階で触れるのがそもそも違うんじゃないかなぁ。
あと、ここでは述べられてませんが、JavaScriptの言語仕様がダメっていう人は、単にプロトタイプベースのオブジェクト指向言語を知らないだけなケースがほとんどな気が。# いや、確かに function が長いとか、標準ライブラリがミニマリズムで使いにくいとかはありますが
開発環境が簡単に手に入って、ぼちぼちまともな言語仕様で、結果がすぐ目に見えるってのはいいと思うんですけどね。
なんで javascript に サーバが必要だと思ったのかにも興味がある。
私もjavascriptが嫌いです。でもファーストチョイスとしては悪くないと思います。
なぜなら言語が使いにくいから、入門に向いているのです。
私が小学生の頃はBASICがそれに相当しました。使いにくい言語を一通りマスターした後で、Cに移行すると、構造化の恩恵をよく理解できます。Cをしばらく使っているうちに、面倒くさいことが色々出てくるので、そこで、JavaかC#かC++に移行します。すると、オブジェクト指向の便利さが身にしみてわかります。javascriptでも構造化やオブジェクト指向は、ある程度は可能だと思いますが、あとからJavaやC#やC++に移行すれば、より便利で応用範囲の広い開発が実現できるでしょう。
ある言語に慣れてしまうと、別の言語に移行するのは難しいと思われるかもしれませんが、私はいくつかの言語を渡り歩いてきて、今はC++が主力言語になりました。
あと、初心者には、「自分の手を動かして何かを作ったら、それがすぐ動いていることを見られる」ことが喜びにつながります。なので、書籍ではありませんが、電子工作もおすすめします。今ではArduinoやmbedなど便利なものがあります。小学生の頃は、LEDが点滅するだけで嬉しいものです。
最近はあまり聞きませんがLEGO MindStormsも良かったと思います。
どちらかというとどういう理由があってそれらの妄想を垂れ流す事になったのか教えてください。
>>間違って変なコード動かしてファイル消してしまうこともない。>むしろ間違ってそんなことが起きてしまう言語・環境の方が興味があるんですがwローカルファイルの操作ができる言語・環境ならどれでもありえるのですがw
つっこみどころがありすぎのですが、一つだけ全てjavascriptで最後まで行かなければいけないなんて誰も言ってませんよ。
#2135940 と #2135976 の双方共に正しいよ。
何を重視してるかが違うだけ。見苦しいのは、アンタみたいなしょうもないツッコミの方。
#2135940 はともかく、#2135976が正しいと言うのは無理ありすぎだろう。
要約
俺はhttp鯖を立てるのは難しいからjavascriptは嫌いだ。俺はブラウザごと、バージョンごと、セキュリティフィックス毎に挙動が変わるとついていけないからjavascriptは嫌いだ。俺は最近のjavascriptのデバッガ事情を知らないからjavascriptは嫌いだ。俺はjavascriptのコードを読めないからjavascriptは嫌いだ。俺はコールバック関数を使った非同期処理が理解できないからjavascriptは嫌いだ。
全然要約になってないし、的確でもない。単なる「フレームのもと」。
JavaScriptが良くないのは言語仕様として良くないから。特に初心者は、何が良くて何が悪いのかも分からないからね。
>特に初心者は、何が良くて何が悪いのかも分からないからね。
となると、Pascal辺りでも扱わせますか?
煽り抜きで、学習目的だけなら評価出来る言語だと思う。ガチガチ過ぎて、その内、嫌になりますが、そしたら、他の言語に行けば良いだけの話。
#個人的には、JavaScriptの「何でも有り」な所は好きですがね。
javascriptを勉強するのに何故http鯖が必須なのかがどうしてもわかりませんあげている例のほとんどが別にjavascriptの問題じゃないような気がします
> 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ですかね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
開いた括弧は必ず閉じる -- あるプログラマー
HTMLから (スコア:0)
いきなりCやJavaではなくHTMLあたりから始めさせたら良いのでは?
Re: (スコア:2)
前にも似たような「最初に触るプログラミング言語はなにがいい」みたいな
トピックがありましたが、やはり JavaScript がベストオプションだと思います。
ブラウザで動かす限り、ローカルファイルに触れないというのも、いいではないですか。
間違って変なコード動かしてファイル消してしまうこともない。
コンパイルしてできた exe ファイルを、他人に実行してもらうおうにも厳しいでしょう(笑)
Re:HTMLから (スコア:1)
>間違って変なコード動かしてファイル消してしまうこともない。
むしろ間違ってそんなことが起きてしまう言語・環境の方が興味があるんですがw
とても私はjavascriptがベストだとは思えません。むしろ避けるべきとすら思えます。
http鯖をたてるのは必須ですし、場合によっては各サービスのチューニングも必要です。
(なぜならブラウザ、設定によりますが、ローカルのファイルを読みに行けないことがあります。親が代わりに立ててもいいですけど)
ブラウザごと、バージョンごとに挙動が変わってしまうのも宜しくないかと。
本に載ってることと違っていたり、サンプルがまるで動かないなんてこともあり得ます。
昨日までは動いていた物が、今日のセキュリティフィクスのおかげで動かなくなりました、なんてこともあります。
それに今でこそ、開発ツールも充実してきていますが、デバッガが優れている物、デバックしやすい環境・言語も重要でしょう。
それと、javascriptのコーディングスタイル・ルールはかなり自由なので、他人のコードが読みにくい、読み慣れない形で書いてある->参考に出来なかった なんてことがあり得ると思います。
また、javascriptは1スレッドしか動かない、しかも永遠と拘束し続けられないという制約がありますから
コールバック関数を渡しておいて非同期に処理するということがよくある(むしろほとんど)です。
こういうコードはどういう順番で実行されるのか分かりにくいですし、ぶっちゃけ初心者中学生にはお勧めできません。
どういう理由があってjavascriptがベストだと思った、初心者向きだと思ったのか教えてください。
Re:HTMLから (スコア:2)
言語によって、他人のコードが読みやすい、読みにくいというのは、私はあんまり信じてないです。Fortran、アセンブラはたしかに厳しい(笑)しかしながら、JavaScript についていえば、読みやすく書くことはできます。どんな言語でも、間違った書き方をしたコードは読みにくい。言語仕様の縛りがしっかりしてれば、自動的に正しい書き方になるとは、私は考えません。
最近のプログラミングスタイルとして「文字列をキーにした値」をともかく楽に扱いたい、というニーズが高いとおもいます。シンプルなhttpリクエスト、NOSQLみたいなことで。JavaScript はそういうスタイルにマッチしてます。Java は、値を格納すること一つでも、無用に長いアクセサメソッドいっぱい並べるスタイルです。あれはあんまりよくないと思います。近年のニーズに合ってない。
Re:HTMLから (スコア:2)
コンパイラやバージョンで挙動が違うのは他の言語もそうだと思いますけどね。
開発ツールが今充実してきたならもう問題ないんじゃないかと思います。
マルチスレッドとコールバックどちらがわかりにくいかというと、どちらもわかりにくいので、
初心者向けの段階で触れるのがそもそも違うんじゃないかなぁ。
あと、ここでは述べられてませんが、JavaScriptの言語仕様がダメっていう人は、
単にプロトタイプベースのオブジェクト指向言語を知らないだけなケースがほとんどな気が。
# いや、確かに function が長いとか、標準ライブラリがミニマリズムで使いにくいとかはありますが
開発環境が簡単に手に入って、ぼちぼちまともな言語仕様で、
結果がすぐ目に見えるってのはいいと思うんですけどね。
Re:HTMLから (スコア:1)
なんで javascript に サーバが必要だと思ったのかにも興味がある。
Re:HTMLから (スコア:1)
私もjavascriptが嫌いです。
でもファーストチョイスとしては悪くないと思います。
なぜなら言語が使いにくいから、入門に向いているのです。
私が小学生の頃はBASICがそれに相当しました。使いにくい言語を一通りマスターした後で、Cに移行すると、構造化の恩恵をよく理解できます。Cをしばらく使っているうちに、面倒くさいことが色々出てくるので、そこで、JavaかC#かC++に移行します。すると、オブジェクト指向の便利さが身にしみてわかります。javascriptでも構造化やオブジェクト指向は、ある程度は可能だと思いますが、あとからJavaやC#やC++に移行すれば、より便利で応用範囲の広い開発が実現できるでしょう。
ある言語に慣れてしまうと、別の言語に移行するのは難しいと思われるかもしれませんが、私はいくつかの言語を渡り歩いてきて、今はC++が主力言語になりました。
あと、初心者には、「自分の手を動かして何かを作ったら、それがすぐ動いていることを見られる」ことが喜びにつながります。なので、書籍ではありませんが、電子工作もおすすめします。今ではArduinoやmbedなど便利なものがあります。小学生の頃は、LEDが点滅するだけで嬉しいものです。
最近はあまり聞きませんがLEGO MindStormsも良かったと思います。
Re: (スコア:0)
どちらかというとどういう理由があって
それらの妄想を垂れ流す事になったのか教えてください。
>>間違って変なコード動かしてファイル消してしまうこともない。
>むしろ間違ってそんなことが起きてしまう言語・環境の方が興味があるんですがw
ローカルファイルの操作ができる言語・環境ならどれでもありえるのですがw
つっこみどころがありすぎのですが、一つだけ
全てjavascriptで最後まで行かなければいけないなんて誰も言ってませんよ。
Re: (スコア:0)
#2135940 と #2135976 の双方共に正しいよ。
何を重視してるかが違うだけ。見苦しいのは、アンタみたいなしょうもないツッコミの方。
Re: (スコア:0)
#2135940 はともかく、#2135976が正しいと言うのは無理ありすぎだろう。
Re: (スコア:0, すばらしい洞察)
要約
俺はhttp鯖を立てるのは難しいからjavascriptは嫌いだ。
俺はブラウザごと、バージョンごと、セキュリティフィックス毎に挙動が変わるとついていけないからjavascriptは嫌いだ。
俺は最近のjavascriptのデバッガ事情を知らないからjavascriptは嫌いだ。
俺はjavascriptのコードを読めないからjavascriptは嫌いだ。
俺はコールバック関数を使った非同期処理が理解できないからjavascriptは嫌いだ。
Re:HTMLから (スコア:1)
全然要約になってないし、的確でもない。単なる「フレームのもと」。
JavaScriptが良くないのは言語仕様として良くないから。
特に初心者は、何が良くて何が悪いのかも分からないからね。
Re:HTMLから (スコア:1)
>特に初心者は、何が良くて何が悪いのかも分からないからね。
となると、Pascal辺りでも扱わせますか?
煽り抜きで、学習目的だけなら評価出来る言語だと思う。
ガチガチ過ぎて、その内、嫌になりますが、そしたら、他の言語に行けば良いだけの話。
#個人的には、JavaScriptの「何でも有り」な所は好きですがね。
通知の設定いじったから、ACだとコメントされても気づかない事が多いよ。あしからずw
Re: (スコア:0)
javascriptを勉強するのに何故http鯖が必須なのかがどうしてもわかりません
あげている例のほとんどが別にjavascriptの問題じゃないような気がします
Re: (スコア:0)
> http鯖をたてるのは必須ですし、場合によっては各サービスのチューニングも必要です。
どーしていきなりそんな話になるの?最初はどーせHello worldですぜ?
> (なぜならブラウザ、設定によりますが、ローカルのファイルを読みに行けないことがあります。親が代わりに立ててもいいですけど)
はぁ?普通のご家庭にあって動いてるOSってばWindowsでしょ。君はHTAって知らないの?あれならローカルファイル
読み放題ですけど?
#まぁそれはそれでJavascriptだけでなくてdhtmlとか書けないとつまらないけどさ。。。
> それに今でこそ、開発ツールも充実してきていますが、デバ
Re:HTMLから (スコア:1)
>最初はどーせHello worldですぜ?
外部リソース(画像にしろ、JSON,XMLにしろ)を読みに行く時点で壁になると思いますが。
>君はHTAって知らないの?
あれを使うんですか?というかまだ使えたんだ… それにHTAは
>ブラウザで動かす限り、ローカルファイルに触れないというのも、いいではないですか。
ブラウザで動きませんよ?(内部でTrident使ってる云々は別にして)
>んな環境、初心者に使えるものか
ご冗談を。むしろ初心者だからこそ実行中の状況を知らないと原因の推測が出来ないんですよ。
変数をウォッチしながらトレース実行するのが初心者が自分の書いた物を理解するのに一番手っ取り早い方法だと思いますが。
もっともそれくらいであればGoogleChromeにもついていますが。
>そこに悩むレベルまできたら、もう一人前だと思いますが、違いますか?
DOMを扱うにしても、ビルトインの物を直接扱う場合もあれば、各ライブラリの物を使う場合もあります。
クラスを扱うにしても
と3通りほど書き方があります。
これは一人前じゃ無くても触る必要のある範囲だと思いますが?
>OSに依存しないし
その代わりブラウザとそのスクリプトエンジンにがっつり依存してますね。
HTAはWindows以外で動いてCOMが使える環境というのがぴんときませんが。
>お勧め言語
C#あたりですかね。ライブラリ、フレームワークも標準ので十分充実してますし。
もしくは(.netじゃない)Delphi/Pascalですかね。
Re: (スコア:0)