初心者のためのプログラミング言語ガイド Part14
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/02/27(金) 08:53:41質問者の方へ
どのプログラミング言語を最初に覚えるべきかは
なぜプログラミングを始めたいのか、何を作りたいのかによってまったく変わってきます。
なんとなく、でもかまわないので動機、用途、使っているOSを明記しましょう。
各言語の特徴はこちらを参照
Wikipedia Category:プログラミング言語
http://ja.wikipedia.org/wiki/Category:%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E
Part13 http://pc11.2ch.net/test/read.cgi/tech/1232286278/
Part12 http://pc11.2ch.net/test/read.cgi/tech/1226761546/
Part11 http://pc11.2ch.net/test/read.cgi/tech/1218282605/
Part10 http://pc11.2ch.net/test/read.cgi/tech/1215717670/
Part9 http://pc11.2ch.net/test/read.cgi/tech/1210941509/
Part8 http://pc11.2ch.net/test/read.cgi/tech/1208186034/
Part7 http://pc11.2ch.net/test/read.cgi/tech/1200807067/
Part6 http://pc11.2ch.net/test/read.cgi/tech/1193132235/
Part5 http://pc11.2ch.net/test/read.cgi/tech/1187886538/
Part4 http://pc11.2ch.net/test/read.cgi/tech/1177285633/
Part3 http://pc11.2ch.net/test/read.cgi/tech/1152778344/
Part2 http://pc8.2ch.net/test/read.cgi/tech/1122205164/
Part1 http://pc8.2ch.net/test/read.cgi/tech/1034505166/
※雑談はプログラマ板でやりましょう。
0449デフォルトの名無しさん
2009/03/18(水) 15:29:43> Mono古くないよ。
> 最新ではないが
えー
0450デフォルトの名無しさん
2009/03/18(水) 17:55:42この手の話はPowerShellに限った事ではないと思うけど
まあ確かに>>448の例は直感に反する結果だわな。
0451デフォルトの名無しさん
2009/03/18(水) 18:28:11echoの仕様は関係ない
PowerShellの構文/パーサが変態なだけ
ちなみに
1 + 1 | echo
は2を印字する
0452デフォルトの名無しさん
2009/03/18(水) 18:51:45そうなのかぁ
なんだかややこしそうだから一度勉強してみるわw
でもって
1 + 1 | echo
は
echo (1 + 1)
と同じ意味になるはずだから
2を印字するのが直感と合致してて問題ないと思う。
0453デフォルトの名無しさん
2009/03/18(水) 19:21:13echo 1 + "1"
だったら、 1 + 1 と表示してほしいが、
echo 1 + 1
だったら、2と表示してほしいな。
0454デフォルトの名無しさん
2009/03/18(水) 19:37:541# 1 + 1
2
2# 1 + "1"
2
3# "1" + 1
11
4# "1" + "1"
11
こうなる
ちなみに全部、echoに引き渡すと
1
+
1
と印字される
0455デフォルトの名無しさん
2009/03/18(水) 19:50:57ところが自分はMac使いなので、Cocoaに興味があるのですが、 Cocoaをやっていると大学でやるCに対してアドバンテージになりますか?
また、MacでCをやるのはどうですか?
プログラムの経験はPerlとPHPをかじった程度です。
0456デフォルトの名無しさん
2009/03/18(水) 20:18:16大学でのアドバンテージは考えずに、
Objective-C + Cocoaやればいいと思うよ。
一番のアドバンテージは、Cをやっていたということより、
自分の興味のあることに自分の力で勉強する習慣。
だからCocoaをやるのはいいこと。
結局はアドバンテージにもなる。
0457デフォルトの名無しさん
2009/03/18(水) 20:19:26CにSmalltalk風のオブジェクト指向の機能を付加したもの。
昔は独自プリプロセッサ+ライブラリだった。
0458デフォルトの名無しさん
2009/03/18(水) 20:32:28Objective-Cをやるにあたって、Cを知っている必要はないのですね。
書籍を探してみます。
0459デフォルトの名無しさん
2009/03/18(水) 20:36:36けどその早さはプログラミングの勉強全体に比べたら誤差みたいなもの。
0460デフォルトの名無しさん
2009/03/18(水) 20:46:54ただ、打って動くよ〜って確認だけ。なんでそう書くのか・・・は習わない。
0461デフォルトの名無しさん
2009/03/18(水) 21:33:070462デフォルトの名無しさん
2009/03/18(水) 21:41:49それは
Deuel Defaultってとこを全て選ぶという事ですか?
0463デフォルトの名無しさん
2009/03/18(水) 22:11:44ミイラとりがミイラにならなければ何やってもよろし
0464デフォルトの名無しさん
2009/03/18(水) 23:13:00それは直感に反してないな。
0465デフォルトの名無しさん
2009/03/18(水) 23:15:35・PowerShell
・Lisp
・Haskell
個人的には、以下の3つのどれかからでいいと思うんだけどね
・C
・C#
・Python
0466デフォルトの名無しさん
2009/03/18(水) 23:27:28> 個人的には、以下の3つのどれかからでいいと思うんだけどね
> ・C
> ・C#
> ・Python
ここにJavaも加えたいね。
0467デフォルトの名無しさん
2009/03/18(水) 23:33:10構造化
静的型付オブジェクト指向
動的型付オブジェクト指向
バランス取れてるな。
好みでC#の代わりにJava、Pythonの代わりにRubyって感じか。
0468デフォルトの名無しさん
2009/03/18(水) 23:36:41すればいい、じゃなくて初心者がechoを使うことを思いつくと思えない(もっと簡単な方法があるから)
その部分は付属のクイックリファレンスにも詳しく書かれてるし
メソッドとコマンドの違いを明確にできてむしろいいことだと思う
0469デフォルトの名無しさん
2009/03/18(水) 23:50:15gm -i 1
はSystem.Int32のメンバーを取得し表示する
gm 1 + 1
gm | gm
はエラーだ
gm -i gm
はどうか?
やってみれば分かるが、System.Stringのメンバーが表示される
俺にはどうしてそこまでPowerShellのような代物を初心者向けと推せるのか
さっぱり理解できない
0470469
2009/03/18(水) 23:51:00+ gm -i 1 + 1
としてくれ
0471デフォルトの名無しさん
2009/03/18(水) 23:57:39そうだろうか。加法の交換法則すら満たされていないことが観測されるし
式の評価ルールがPowerShellを知らない人には全く自明でない。
つまり、1 + 1がいつ誰によってどのような条件で評価されるのかが分からないだろう。
ちなみにPythonでは次のようになる。
1 + 1 -> 2
1 + "1", "1" + 1 -> エラー
"1" + "1" -> "11"
printに引き渡した場合の結果はこれと同じだ。
print 1 + 1 は2を印字する。
0472デフォルトの名無しさん
2009/03/19(木) 00:17:28その結果はおそらくperlと同じだし、式の型は最初に評価されたパラメータに確定して、
残りのパラメータはその型にキャストされるというルールであれば、問題ないよ。
初心者向きかというと、はなはだ疑問だが。
0473471
2009/03/19(木) 00:19:01これはちょっと言い過ぎた
文字列を+で加算する言語は、どのみち文字列加算が可換じゃないから
それにしてもPowerShellの構文をキモいと思わない人が多いのか?
ちょっと驚きだな
0474471
2009/03/19(木) 00:21:19残念ながらそれは違う
perl -e 'print 1 + "1", "\n"'
perl -e 'print "1" + 1, "\n"'
どっちも2を印字する
0475デフォルトの名無しさん
2009/03/19(木) 00:29:37ちなみにJavascriptは、
> 1 + "1"
11
> "1" + 1
11
こういう暗黙の変換は有害。
0477デフォルトの名無しさん
2009/03/19(木) 00:36:21暗黙の変換があっても、文字連結演算子なら文字列に変換、加算演算子なら数値に変換とすれば、混乱はない。
そういう意味ではVBの&は偉かった。VB.netは知らないけど。
0478デフォルトの名無しさん
2009/03/19(木) 00:42:22そんなの古すぎw
演算子どれだけあっても足りないし、
演算子使いたいところで関数呼び出し使うことになりかねない。
Pythonのスタイルがいいよ。
Rubyも同じです。
"1" + 1 → in `+': can't convert Fixnum into String (TypeError)
1 + "1" → in `+': String can't be coerced into Fixnum (TypeError)
0479デフォルトの名無しさん
2009/03/19(木) 00:49:27どれだけあっても足りないって、何を追加するつもりだ?
自動型変換でやばそうなのは、文字列連結の+くらいじゃないか?
0480デフォルトの名無しさん
2009/03/19(木) 00:49:50まったくのズブの素人で、htmlを扱えるくらいです
OSは窓XP
複数の画像を選んでそれが1つの絵になるジェネレーターを
作りたいのですが、一番最初に何を勉強したら良いかわかりません
JavaScriptだということは分かるのですが
素人ゆえ、その前段階で一体何から手を付けて良いのかチンプンカンプンです
最終的には、このような物を作りたいです
ttp://www.geocities.jp/nanika_jp/m/
宜しくお願い致します
0481デフォルトの名無しさん
2009/03/19(木) 00:52:33Javaでオーバーロードされてる演算子ってあれだけじゃないか?
0482デフォルトの名無しさん
2009/03/19(木) 00:54:34テキスト加工のための言語と言われるくらいだから当然かもしれないが。
>>478
文字列用の演算子って2種類くらいしか使わないと思うが・・
0483デフォルトの名無しさん
2009/03/19(木) 00:55:12PowerShellは、文字列と数値をごっちゃにしてかつ同じ演算子を使っているのが
よくない
が、
echo 1 + 1
をキモいと思わないのかw(別にechoじゃなくてもよい、コマンドが何であっても
同じことだ)
シェルなら、空白区切りのワードを切り貼りするだけで、
1 + 1を評価するにはexprだのbash拡張の$(())だのが必要なので評価のルールは明確だ
PowerShellはそうじゃない
0484デフォルトの名無しさん
2009/03/19(木) 00:55:44&だって他の用途あるじゃんw
0485デフォルトの名無しさん
2009/03/19(木) 00:57:11どんな用途?
0486デフォルトの名無しさん
2009/03/19(木) 00:58:030487デフォルトの名無しさん
2009/03/19(木) 01:00:41ごめん
0488デフォルトの名無しさん
2009/03/19(木) 01:03:470489デフォルトの名無しさん
2009/03/19(木) 01:37:32どこまで出来ているのかわからないけど
透過gifの作成 → ペイントソフト
複数の画像を重ね合わせて表示 → HTML
ユーザの選択に合わせて表示を動的に変化させる → Javascript
順番にクリアしていけば作れるようになるはず。
0490デフォルトの名無しさん
2009/03/19(木) 01:50:37とりあえず、そのページのHTMLとJavascriptを全部読みなよ。
ブラウザでソースを表示して、必要な.jsもダウンロードして。
分からないなりに全部目を通せば、
自分が何が必要か分かるでしょう。
まずはJavascript本ってことになるのでそうが。
0491480
2009/03/19(木) 02:31:11レスありがとうございます!
ページのソースをみているのですが、なんとなく分かったかもしれません
でも初心者なので多分間違ってると思いますが
とりあえず教本を購入してじっくり構えてみます
本当にありがとうございました!
0492デフォルトの名無しさん
2009/03/19(木) 02:42:250493デフォルトの名無しさん
2009/03/19(木) 02:57:510494デフォルトの名無しさん
2009/03/19(木) 06:27:04PowerShellは一人が暴れているだけだし、
Haskellはそれに引っ張られていくだけだろ。
勝手にランク付けするんじゃねぇよ。
0495デフォルトの名無しさん
2009/03/19(木) 08:01:18一人が必死になってるだけだろ。
1 + "1"なんてPythonみたいにTraceback返す方が親切だしだな。
ただ、Pythonの"w" * 10がキモいと思う時期が漏れにありました。w
0496デフォルトの名無しさん
2009/03/19(木) 10:30:59クイックリファレンスを読みながら試せば解決することじゃないか
初心者が必ず気付くガイドの類さえ全く読まないのはさすがに想定してない
他言語経験者が読み飛ばすことはあるかもしれないけれど
0497デフォルトの名無しさん
2009/03/19(木) 10:34:17そもそもトリッキーで醜い構文を持つ言語を初心者に推奨する理由はないよね
0498デフォルトの名無しさん
2009/03/19(木) 10:57:53PowerShellはちょっと酷すぎだろ
プログラミングという概念が頭の中に出来上がってない初心者にこんなものを
最初のモデルとして使わせるのは酷だ
.NET上で使えるインタプリタが欲しいんなら他にもあるんだしな
0499デフォルトの名無しさん
2009/03/19(木) 11:44:42ってのもある。
経験的に実行時に構文エラー吐くような環境って
実行→構文エラー修正の繰り返しになるから、
タイプミスの多い初心者に使わせて
あんまり良かった印象ないんだけど。
0500デフォルトの名無しさん
2009/03/19(木) 11:47:360501デフォルトの名無しさん
2009/03/19(木) 11:48:020502デフォルトの名無しさん
2009/03/19(木) 11:52:11HaskellやScalaなどの静的型言語のインタプリタを使えば良い
REPLは有用だ
0503デフォルトの名無しさん
2009/03/19(木) 11:54:36ミスをやらかせばその場でエラーになるし困らんだろう
0504デフォルトの名無しさん
2009/03/19(木) 12:27:520505デフォルトの名無しさん
2009/03/19(木) 12:28:41実行されなかったelse節の中に、
型エラーが残っているかも知れません。
静的型チェック+REPLならこういう問題はないですが。
0506デフォルトの名無しさん
2009/03/19(木) 12:42:48論理的なミスが残っている可能性は残る
その辺は「動かせば分かる」、というのが動的言語の方法論
どちらが良いとか言うつもりはない
0507505
2009/03/19(木) 13:13:13プログラマーのモラルハザードを招くのは確か。
「とりあえずXXXしといて、エラーでないようにしとけ」
「とりあえず常にXXXしとけ」
0508デフォルトの名無しさん
2009/03/19(木) 16:39:36except の中でよく忘れる
0509デフォルトの名無しさん
2009/03/19(木) 16:51:16盲目の信者が暴れてるけど賢明な人間なら
C/C++
C# Java
Python Ruby Perl
このくらいまでが候補だと理解できよう。
あとは目的次第で。
0510デフォルトの名無しさん
2009/03/19(木) 18:04:58かといっていまさらCMDもどうかと思うし
PowerShell浅くやっとくのもいいんじゃないの。
コマンド羅列程度なら変態構文にあまり関わらずにすむし。
0511デフォルトの名無しさん
2009/03/19(木) 18:11:59Perl外して、別カテゴリにJavascript入れて後は同意。
0512デフォルトの名無しさん
2009/03/19(木) 18:12:22論理的ミスは単純に論理型言語を選択すれば防げるんじゃないの?
0513デフォルトの名無しさん
2009/03/19(木) 18:12:53WindowsならJavascript系のJScriptでどうかな?
0514デフォルトの名無しさん
2009/03/19(木) 21:11:25Delphiも入れてくれ。
0515デフォルトの名無しさん
2009/03/19(木) 21:47:230516デフォルトの名無しさん
2009/03/19(木) 21:57:44>コマンド羅列程度なら変態構文にあまり関わらずにすむし。
それこそ、BATファイルで事足りるのPowerShellを使う理由にならないな。
凝った事したいなら、PerlかPythonを使えばいいし。
つかPowerShell信者の布教ウゼえ。
0517デフォルトの名無しさん
2009/03/19(木) 22:01:21窓が出てからプロンプトに入力可能になるまでやたらと待たされる
cmd.exeとは比べ物にならんし
同じドトネトでもIronPythonのがずっと速い(1.1の話で、2.0はどうだか知らんが)
0518デフォルトの名無しさん
2009/03/19(木) 23:25:270519デフォルトの名無しさん
2009/03/19(木) 23:30:160520デフォルトの名無しさん
2009/03/19(木) 23:33:560521デフォルトの名無しさん
2009/03/19(木) 23:53:53どーい
0522デフォルトの名無しさん
2009/03/19(木) 23:55:49と言いつつ+1時間やったのかw
0523522
2009/03/19(木) 23:56:230524デフォルトの名無しさん
2009/03/20(金) 00:08:13投入されてる背景とか考えると捨てきれなくてイラつく
0525デフォルトの名無しさん
2009/03/20(金) 01:43:35まあ、そうだけど、
初心者スレでアレもコレもは不味くね?
0526デフォルトの名無しさん
2009/03/20(金) 02:33:19C#かJava(かRubyかPython)あたりで丸く収まるのかと思えば揉めまくってるな。
0527デフォルトの名無しさん
2009/03/20(金) 02:39:030528デフォルトの名無しさん
2009/03/20(金) 02:43:24極端に言えば機能としてできることはどの言語でもほとんど同じなので
環境が簡単に構築できるRADとして優れている言語が最も進めやすい
そういう意味ではデータベースからWebからすべてを網羅していて
もっとも簡単に開発環境を構築できるのはC#
そういう意味ではVBでもいいが今ならC#のほうがいいというこで
0529デフォルトの名無しさん
2009/03/20(金) 02:46:17NetBeansはどうだい?
0530デフォルトの名無しさん
2009/03/20(金) 02:52:36.フレームワークとWebサーバ、データベース等が一括してわかりやすい形で
開発環境として供給されてる点でマイクロソフトのほうがわかりやすいと思うよ
0531デフォルトの名無しさん
2009/03/20(金) 02:59:37専用の本もあるし
ちょこっとGUI作る所までやった
選んで貼り付けるだけ
でも最初のヘッダの部分から糞でもいいから自分でGUIまでやらないと身につかないと思ってIDEは止めた
0532デフォルトの名無しさん
2009/03/20(金) 03:03:46別に反論とかじゃないんだが、身につかなくてもGUIをつくれるのに、
なぜ身につけなきゃならないんだ、という疑問はある。素朴に。
0533デフォルトの名無しさん
2009/03/20(金) 03:07:580534デフォルトの名無しさん
2009/03/20(金) 03:08:260535デフォルトの名無しさん
2009/03/20(金) 03:14:51オーブソース系を語ると自動的にLinuxがどうのこうのJavaがどうのこうのという話になる
そうなると、PHPが何で、データベースはMySQLとOracleがどうのこうので・・・という話になって
その辺を理解しようと思うと、そのへんの背景を含めて理解しなくちゃいけない
MSだと、OS、IIS、MSSQL、VSという具合に一つの機能に対して製品が一つなので、
理解かしやすいと思う
0536デフォルトの名無しさん
2009/03/20(金) 03:56:03言語学習の話にLinuxは持ち出さないだろJK。
その考えはMS屋の我田引水でしかないし、
そういう発想がVBの災厄を振りまいた元凶だべ。
0537デフォルトの名無しさん
2009/03/20(金) 04:02:540538デフォルトの名無しさん
2009/03/20(金) 04:24:51そういう問題じゃないと思う
0539デフォルトの名無しさん
2009/03/20(金) 04:59:13初心者に基礎たたき込んで、他環境でも応用効きやすいものが理想的だろ。
MSのツールが無いと何もできない馬鹿量産しても意味がないし、
初心者がプログラミングを学ぶ為に何を使ったら良いかと言うスレの主旨からも外れる。
環境の話をすればRDBサーバはMSSQLだろうが、
OracleだろうがPostgresだろうがトランザクションが使えればなんでも良いと思うが、
WEBサーバでIISなんかは癖が強くて使えない。
0540デフォルトの名無しさん
2009/03/20(金) 06:35:21わかってない奴は>>1を見直せ。
>>539
勝手にスレの趣旨を変えるなよw
0541デフォルトの名無しさん
2009/03/20(金) 08:07:45人口としてはJavaの方が上だし。
IISも悪いとは言わないが、apacheの方が好まれるし、
データベースもSQLServerよりもOracleの方が人気高い。
現実的にWeb鯖の事学習するならApacheだし、DBの資格云々ならOracle覚えておいた方がいいしな。
0542デフォルトの名無しさん
2009/03/20(金) 08:45:520543デフォルトの名無しさん
2009/03/20(金) 08:56:27WebSphereのシェアを伸ばして生きたいんだろうなぁ。
LinuxやらEclipseが増えるほどIBMのビジネスチャンスは増大していくわけだし。
IBMはサポートさえ入ってくれれば、このスレ的な言語のJavaやPythonの
サポートもしてくれるし、一部のOSではMySQLのサポートもいくつかやってくれるし。
「IBMのサポート」が欲しい企業にはウケがいいんじゃね。
愚痴っぽくてアレだがOracleのサポートはアレだけ金とって答えがアレかよ、ってのがある。
まして2流のSIベンダーのサポートなんかほとんど役にたたねーしなぁ。
0544デフォルトの名無しさん
2009/03/20(金) 10:11:03宿願じゃなくて宿敵
0545デフォルトの名無しさん
2009/03/20(金) 10:16:020546デフォルトの名無しさん
2009/03/20(金) 10:29:57生キャラメルみたいなもんだな
0547デフォルトの名無しさん
2009/03/20(金) 12:37:07なんでMySQLが流行るのか分からんと
思っていた時期がありました
そんな僕もいまではすっかりMySQLユーザーです
0548デフォルトの名無しさん
2009/03/20(金) 12:40:53■ このスレッドは過去ログ倉庫に格納されています