トップページ⇒tech
1001コメント289KB

初心者のためのプログラミング言語ガイド 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/

※雑談はプログラマ板でやりましょう。
0175デフォルトの名無しさん2009/03/09(月) 15:02:27
>>172
しっかりした本があるよ。
0176デフォルトの名無しさん2009/03/09(月) 15:18:54
何か作りたいものがあるか作れる技術を身につけたいんだろ?
初心者に言語としての美しさとかどうでもいいんだよ
0177デフォルトの名無しさん2009/03/09(月) 15:24:36
>>176はプログラミングはソフト制作以外にやらないというIT土方
0178デフォルトの名無しさん2009/03/09(月) 15:31:13
>>175
Erlangは英語読めないと無理だよね
日本語で読める本はArmstrongのやつぐらいだし
それ以外の資料は、ほぼ全て英語だ

そんな言語をずぶの初心者に勧めるのは単なる嫌がらせ
0179デフォルトの名無しさん2009/03/09(月) 15:31:16
>>168
N88-BASIC
0180デフォルトの名無しさん2009/03/09(月) 15:43:46
>>178
「プログラミングErlang」 Joe Armstrong著榊原一矢譯 オーム社
よりずっと小冊だが、
「Erlang入門」 柏原正三著 ASCII
で初心者は十分というか、これだって完全に動かしてみるのは、
結構大変。英語云々なんて、当分関係ないよ。
0181デフォルトの名無しさん2009/03/09(月) 15:46:08
英語くらい読めないようじゃw
っていう人がよくいるけど、そんんじゃ初心者はプログラミングの環境整える段階で挫折しそう
0182デフォルトの名無しさん2009/03/09(月) 15:48:02
>>180
本気で言ってるのなら視野が狭すぎるw
客観的な判断が出来ない奴はプログラマに向いてないぞ
0183デフォルトの名無しさん2009/03/09(月) 15:57:04
>>178
プログラミングの初心者が英語の初心者とは限らない。
英語読めれはあの値段でSafari読み放題だ。

とは言え、まあことわりがなければ日本語が前提だろうなあ。
0184デフォルトの名無しさん2009/03/09(月) 16:01:27
わざわざそんな苦労して初心者がマイナーな言語覚える意味がわからないw
0185デフォルトの名無しさん2009/03/09(月) 16:02:19
そういやErlangのライブラリリファレンスって日本語化されてたっけ
されてなければ英語必須だな
0186デフォルトの名無しさん2009/03/09(月) 16:03:09
初心者には敷居が高いと思われがちな関数型の中で一番とっつき易い
Erlangを押すのは一理あると思うけどな。>>169は多バイト文字の制限に
ついてもちゃんと押さえているし。
0187デフォルトの名無しさん2009/03/09(月) 16:16:17
なぜ伝統あるMLやHaskellやSchemeではなく、特にErlangなのか
あの言語は色々と変だと思うのだが
何か妙にPrologに影響されてるというか

プロセスは本当に素晴らしい
素晴らしいが、まさかプロセス目当ての初心者なんていると思うか?
0188デフォルトの名無しさん2009/03/09(月) 16:16:19
>>184
初心者がわざわざ苦労して希少性のないメジャー言語を
勉強しなくちゃならなのかわからないw
0189デフォルトの名無しさん2009/03/09(月) 16:17:43
少なくともメジャー言語のほうが質問しやすい環境やトラブルを解決しやすい環境は整ってる
0190デフォルトの名無しさん2009/03/09(月) 16:19:29
>>187
単純にコードを読み易い。
0191デフォルトの名無しさん2009/03/09(月) 16:21:16
haskellとかでも中学程度の英語力とMLのアーカイブや、ircのログを
grepする程度の頭がありゃ大抵のトラブルは解決するよ
0192デフォルトの名無しさん2009/03/09(月) 16:21:29
>>186
プログラミングは模倣から始まるんだよ。

どこかでつまずいたときに検索したら
同じ所でつまずいた先人の処方箋がすぐに見つけられること。
独学の場合はこれが最重要事項。

関数型だの手続き型だのといったことは
ある程度学習が進んでから本人が自発的に選択することであって
右も左もわからない初心者にさもありげに押しつけるのは
余計なお世話どころか害悪でしかない。
0193デフォルトの名無しさん2009/03/09(月) 16:27:40
無理矢理に関数型言語のよいところを挙げるとすると
基礎程度ならPCがなくても紙と鉛筆があればできるというところ
融合規則の証明とか、関数の書き換えとかそういうやつね
PCをうまく使いこなせないけど義務教育レベルの因数分解や式の展開ならできるって人にオススメ
0194デフォルトの名無しさん2009/03/09(月) 16:30:54
>>192
模倣云々については確かにそうだと思う。
ただ、東京マラソンの参加者が仮に38万にいるとして、
初心者は現在38万位。努力して、来年32万位にあがれるか?
一方Erlangマラソンの方は参加者2000人で現在2000位。
努力すれば来年は1200位まで上がる可能性もある。
この方が夢があるよね。
0195デフォルトの名無しさん2009/03/09(月) 16:32:35
ナンバーワンにならなくてもいい、もともと特別なオンリーワン
0196デフォルトの名無しさん2009/03/09(月) 16:44:46
RubyかPythonの.NET版が最初からWindowsに入ってますとかなると楽でいいのにな
C#やVB.NETはそれに近いことになってるのだけど
0197デフォルトの名無しさん2009/03/09(月) 16:45:34
WSHというものがありましてな
0198デフォルトの名無しさん2009/03/09(月) 16:46:22
>>194
たとえがおかしい。東京マラソンは3万人くらいだ。
全くの初心者でも、1年やれば、普通の人で5000位以内、
メタボで運動音痴な初老でも1万位にはなれるよ。
0199デフォルトの名無しさん2009/03/09(月) 16:47:14
>>194
順位とか関係なく,やりたいことが達成出来ればOKだと思うが。。

そうではなく純粋にプログラミングを
極めたいという崇高な目標を立ててるのだとしても
井の中の蛙になることにどれほどの価値があるのだろう。
0200デフォルトの名無しさん2009/03/09(月) 16:47:20
つVBScript JScript
0201デフォルトの名無しさん2009/03/09(月) 16:48:32
>>168 C#またはPython。
0202デフォルトの名無しさん2009/03/09(月) 16:48:55
>>198
C#は初心者までで38万人もいないかな?
0203デフォルトの名無しさん2009/03/09(月) 16:52:23
>>196
.NET4.0で入るよ
0204デフォルトの名無しさん2009/03/09(月) 17:02:26
Windows7に搭載されるのは.NET3.5.1(3.5SP1)だから当分は先
でも既に.NET3.5.1はXPやVista向けに自動更新で配布が始まってるから、.NET4.0も普及は早いかもしれない
0205デフォルトの名無しさん2009/03/09(月) 17:22:07
>>203
DLRが入るってだけじゃなくて?
0206デフォルトの名無しさん2009/03/09(月) 18:59:00
>>168
漠然とプログラミングしてみようと思ってるだけなら、
Windows なら C#、そうでなければJavaでいいんじゃない?
0207デフォルトの名無しさん2009/03/09(月) 22:09:21
>>161
どっちも似たようなことをしてるはずなのに、
どうしてそんなに差が出るんだ。技術力?
0208デフォルトの名無しさん2009/03/10(火) 01:18:52
>>207
似たようなことをしていないからだ
0209デフォルトの名無しさん2009/03/10(火) 01:21:57
Javaっていうと、携帯のアプリを思い浮かべるんだが、.net系で携帯用アプリって作れるの?
0210デフォルトの名無しさん2009/03/10(火) 01:32:15
作れるよ。
0211デフォルトの名無しさん2009/03/10(火) 02:36:14
>>207
OS握っているからある意味インチキできる。
0212デフォルトの名無しさん2009/03/10(火) 08:57:07
>>187
初心者にとっては、
ML は難しすぎる。
Haskell はコミュニティが悪すぎる。議論が難しすぎる。
Scheme はプログラムが読みにくい。
0213デフォルトの名無しさん2009/03/10(火) 20:25:33
>>208
じゃあJavaがC#を真似ればいいのに。

>>211
C#のランタイムが秘密APIをコールしてるとかそういう話?
0214デフォルトの名無しさん2009/03/10(火) 21:18:58
単純に言語仕様とJITコンパイラの設計の差だよ。
JavaがいまさらC#を真似るなんて無理。後方互換性を失ってしまう。
0215デフォルトの名無しさん2009/03/10(火) 21:31:41
>>214
言語仕様にそんな差があったっけ?
似たようなものだとおもうけど。
0216デフォルトの名無しさん2009/03/10(火) 21:39:45
コンパイラの性能に影響を及ぼすような言語使用の差があったっけ?という意味ね。
0217デフォルトの名無しさん2009/03/10(火) 21:45:42
>>215
どちらもネイティブコードを吐かない実行環境依存の言語だから、
文法だけを言語仕様と考えるのはナンセンスだと思うが。ランタイム含めての言語仕様と考えたほうが。
コードの見た目は似ていても、実行時の挙動は全然違うからね。CLRはかなり優秀。
0218デフォルトの名無しさん2009/03/10(火) 21:57:56
>>217
それって根性入れてJavaのランタイムとコンパイラを書き直せば
C#程度の速度は出るってことでしょ。だったら技術の差かねえ。
先行した分だけいろいろ捨てられないのは分かるが。
0219デフォルトの名無しさん2009/03/10(火) 22:01:57
>>218
.netってアプリのプロセスが終了してもフレームワークが居すわって、
コンパイル済みのオブジェクトをキャッシュしたままにするんじゃなかったっけ?
0220デフォルトの名無しさん2009/03/10(火) 22:05:21
それはjava
0221デフォルトの名無しさん2009/03/10(火) 22:12:02
まあ.netはOS作っているところが、かなり気合入れて自分のOS用に
作ったものだからね。最近は結構デスクトップでのjavaも頑張っている
みたいだけど。

しかし、やっぱり.netはxpでは若干もっさりするね。内部処理は
早いようだけど、結構パワーを使うGUI周りがもっさりしているみたい。
VISTAだとよくなっているのかな?
0222デフォルトの名無しさん2009/03/10(火) 22:18:37
>>219
じゃなかったっけ
C#のアプリの一回目の起動と二回目の起動じゃかかる時間が違うよね
0223デフォルトの名無しさん2009/03/10(火) 22:56:33
同じ映画を2回見ると、2回目が早く終わってしまうようなものか。
0224デフォルトの名無しさん2009/03/10(火) 23:15:43
一時的にディスクにネイティブイメージをキャッシュするだけで
javaと違って常駐したりはしないんじゃなかったっけ
0225デフォルトの名無しさん2009/03/10(火) 23:21:06
>>220
サーバープロセスと勘違いしてるだろ。
Javaのプロセスはそん行儀の悪いことはしない。
0226デフォルトの名無しさん2009/03/10(火) 23:36:09
>>221
XPではっていうか、単純にパソコンのスペックの問題じゃねーの?
0227デフォルトの名無しさん2009/03/11(水) 00:26:54
確かVISTAは、.netでの描画が改善されているって聞いたような。
でもまあ、確かにVISTA動くスペックなら、軽く感じるだろうね。
0228デフォルトの名無しさん2009/03/11(水) 04:28:06
右クリックメニューにリネームボタン追加する設定編集GUIと本体を作りたいんだけど
0229デフォルトの名無しさん2009/03/11(水) 08:15:23
ていうかOSが勝手にやってることを言語のせいにすんな
0230デフォルトの名無しさん2009/03/12(木) 07:43:34
素人ですが、将来的に社内で使う業務に特化した、Windows用アプリを
作りたいと思います。できあがったソフトを他のPCで使うときに、
ランタイムルーチンとかを入れる手間が少なく(簡単に導入できる)
できる言語はなんですか?
0231デフォルトの名無しさん2009/03/12(木) 07:54:17
>>230
Excel VBA
0232デフォルトの名無しさん2009/03/12(木) 08:04:29
>>230

ネイティブバイナリを吐ける処理系があるものなら何でもいい。

C, C++, Delphi, Haskell, Clean, Schemeなどなど。
0233デフォルトの名無しさん2009/03/12(木) 08:42:28
ドットネットを使うものは全部糞と覚えればいい。
0234デフォルトの名無しさん2009/03/12(木) 09:19:42
初心者のための、が初心者による、にいつのまにか変化してしまったようだ
0235デフォルトの名無しさん2009/03/12(木) 09:22:10
>>234
だよね。
0236デフォルトの名無しさん2009/03/12(木) 11:36:54
質問します。実は"Lisp Scheme Part25"スレに誤爆してしまったのですが、
あらためてこのスレで質問し直します。

組合せ問題、経路問題などの、記号処理問題をリストを使って解決するのに
相応しい言語を教えてください。
環境はできるだけ特定のOSに限定されない方が結構です。
グラフ表示は別の専門家が扱うのでロジック部分のみです。

0237デフォルトの名無しさん2009/03/12(木) 11:56:30
自分でリストを使って書かないといけないの?
グラフライブラリ使えば?

http://en.wikipedia.org/wiki/Graph_theory の一番最後辺りに列挙されてる。
ライブラリを先に選んだ方がいい。
boost::graph→QuickGraphみたいなポーティングもあるし。
0238デフォルトの名無しさん2009/03/12(木) 16:57:20
.netって糞なの?よく叩かれてるけど。
0239デフォルトの名無しさん2009/03/12(木) 19:22:36
クソじゃないけど初回起動がどうしても遅くなるから、
起動しっぱなしではないけどそこそこの頻度で使うような小物ツールには向かない
ngenやってもネイティブよりは遅くなっちゃう
0240デフォルトの名無しさん2009/03/13(金) 08:39:45
プログラミング言語同士を翻訳するソフトってある?
(CのコードをJavaに翻訳みたいな)
0241デフォルトの名無しさん2009/03/13(金) 09:12:04
>>240

GHCはHaskellのコードをCのコードに変換できる。
0242デフォルトの名無しさん2009/03/13(金) 09:24:19
>>240
P# はPrologをC#
0243デフォルトの名無しさん2009/03/13(金) 09:44:52
>>238
MSのイメージによるものが大きい。どうせネイティブで作ってもMFCやらwinapiやら使うくせにと思うけど。
あとネイティブだとマルチスレッド化されてないことが多いので、パフォーマンス云々は簡単に語れないんじゃないか?
重いと感じた.NETアプリなんてPaint.NETくらいだ
0244デフォルトの名無しさん2009/03/13(金) 14:44:56
cygwinでunixのコマンドを使えるようにしたいのですがどうすればいいんでしょうか?ググってもでてこないのでいいHPとか知っていたら教えてください。
0245デフォルトの名無しさん2009/03/13(金) 15:33:30
>>244
そのコマンドはインストールされてる?
pathは通ってる?
0246デフォルトの名無しさん2009/03/13(金) 15:34:06
cygwin入れたら使えるだろ
インストールの仕方もぐぐったらすぐにでてくる
お前の説明では何がわからないのかがさっぱりわからない
0247デフォルトの名無しさん2009/03/13(金) 20:30:00
>>244
おまいはもう使っている
0248デフォルトの名無しさん2009/03/13(金) 23:43:55
今年から大学1年生になるわけで、先んじてプログラミングを勉強しておきたいという者です。

まず初めにどの言語を学ぶべきかアドバイスが欲しいです。

ExcelVBAは高校の情報授業で極めて基礎的なことを学習済みです。
(簡単な演算、ループ処理など。発展としてモンテカルロ法などの問題解決法を少々。。。)
プログラミングで可能なことと言われて、ゲーム作成、数理問題の解決などしか思い浮かばないので、
目的といわれるとピンと来ないのですが、とりあえず簡単なゲーム作成が出来るのであればそれを目標に
やりたいと思っています。

環境については、現在はXP homeですが近いうちにVistaを1台新調する予定です。
Mac環境を整えるのは可能ですが、出来ればWindowsで学習したいと思っています。

出来れば易→難の流れで次に学ぶ言語まで見通しが立つと助かります。
0249デフォルトの名無しさん2009/03/13(金) 23:44:54
>>248
C#
02502482009/03/13(金) 23:55:43
>>249
VBは蛇足ですか?アプリケーション版と大差ないとは思うけれど。。。
0251デフォルトの名無しさん2009/03/14(土) 00:12:57
>>250
VBはもういらない。ついでにVB.NETもいらないと思う
目標は、とりあえずC/C++でいいかな

Windowsなら : C# → C → C++
PC-UNIXなら : Python → C → C++
0252デフォルトの名無しさん2009/03/14(土) 00:16:12
>>251
その流れだとCがものすごく異彩を放っている気がする。
C#からCとか、苦行だろ。
0253デフォルトの名無しさん2009/03/14(土) 00:18:06
>>250
C#なら今後他の言語に移る時あまり苦労しないはず。
色々な言語の要素がほどほどに入ってるから。

VB(.NET)とC#はよく似てるけど
VB系の構文にしがみつくのは時期的に損だと思う
02542482009/03/14(土) 00:27:52
議論までしてもらえるとはありがたい。いや、決して皮肉でなくw
C#の位置づけがよくわからないが、いろんなスレ見てるとC/C++との上下関係議論が
頻出してて、ウィキではC/C++の改良版となってるから、結局新しいけど優れているかは
各人の意見によるってことでおk?
VBはとりあえずやめます。
0255デフォルトの名無しさん2009/03/14(土) 00:29:44
どれか極めれば、あとは単語がちょっと違うだけの
英語・フランス語状態じゃないの?
0256デフォルトの名無しさん2009/03/14(土) 00:34:57
大学のサイトで興味ある授業の講義要綱でも見て
そこで使われてる言語でも勉強したらいいんじゃないか
0257デフォルトの名無しさん2009/03/14(土) 00:36:30
大学だと、初期C言語(アルゴのみのツマラン奴)をやらされるよな

多分、あれでみんなリタイヤして行くんだと思う
0258デフォルトの名無しさん2009/03/14(土) 00:48:42
>>257
そう言って、高校の勉強もリタイアしたから、そんなつまんない大学に行くはめになったんじゃないの?
02592482009/03/14(土) 00:52:02
たしかCとJavaをやると聞いた。
とりあえずC#やってみようと思うんだが、入門書1冊とりあえず買うべき?

0260デフォルトの名無しさん2009/03/14(土) 00:54:25
perl と php だけは止めとけ
0261デフォルトの名無しさん2009/03/14(土) 00:55:24
>>259
学校でCとJavaをやるなら、C#じゃなくてJavaでいいんじゃないの。
0262デフォルトの名無しさん2009/03/14(土) 01:00:20
>>259
C#でおk

1.入門
Amazon.co.jp: プログラムを作ろう! Microsoft Visual C♯2008 Express Edition 入門 (マイクロソフト公式解説書) (DVD付) (マイクロソフト公式解説書 Microsoft Visual Studi): 池谷 京子: 本
http://www.amazon.co.jp/dp/4891005831/

2.その後
Amazon.co.jp: C#クックブック 第3版: Jay Hilyard, Stephen Teilhet, 鈴木 幸敏: 本
http://www.amazon.co.jp/dp/4873113741/
02632482009/03/14(土) 01:03:04
>>261
鈍足授業ではないだろうけどあまり期待はしてないから、学校の授業は考えずに
とにかく他の言語への移行が楽だったり、取っ掛かりに適した言語がやりたいと思うです。
学校考慮しないとどうやらC#って意見が多いからそうしたいと思います。
0264デフォルトの名無しさん2009/03/14(土) 01:06:43
>>262
入門者にオライリーのクックブック勧めるとかお前中身読んだのかと
0265デフォルトの名無しさん2009/03/14(土) 01:09:16
>>264
だから「その後」と書いてあるだろうが。
0266デフォルトの名無しさん2009/03/14(土) 01:11:25
二冊の間の断絶が凄まじいなw
02672482009/03/14(土) 01:16:10
>>262
トンクス。なにやら賛否飛び交ってるがとりあえず1冊目やってみる。
0268デフォルトの名無しさん2009/03/14(土) 01:22:47
>>258
なんかさ、HITACHIの出向だか知らんけど
企業の人が来て教えてくれるんだ。

まぁテストは満点クレタからいいけどw
0269デフォルトの名無しさん2009/03/14(土) 01:24:05
>>267
なんだかんだ言っても工学というより職人の世界だからな。
人を育てるメソッドは未熟な感じ。
0270デフォルトの名無しさん2009/03/14(土) 01:29:59
>>252
Windowsなら : C# → C(ポインタ) → C++(苦行) →  ↓
PC-UNIXなら : Python → C(ポインタ) → C++(苦行) → そして悟りへ
02712482009/03/14(土) 01:36:08
やる気出てきた!明日からバリバリC#はじめます。
0272デフォルトの名無しさん2009/03/14(土) 01:53:16
ゲーム作成にはJAVA向いていないの?
0273デフォルトの名無しさん2009/03/14(土) 01:56:18
そんなことはない
0274デフォルトの名無しさん2009/03/14(土) 02:37:18
>>252
横からだけど、
C++やる為にはどうしてもポインタを避けて通れないし、
Cのメモリ管理・データ管理のルールを引き継ぐから
前知識としてCをやっとく必要があると思う。

ちなみに、初心者にポインタとアドレスを切り離して教えるのやめようぜ。
違うってのは言いたいことはわかるんだけど、データ的には実態同じじゃん。
あれ、別物として教えるからみんな混乱するんだよ。

# アドレスの概念ない奴にCのポインタは理解できねぇのに、
# 初心者はアドレスの概念なんかもってねぇ。


>>261
こちらも横からで悪いけど、学校でやる言語に関わらず、
指導員がつくならJavaの方が良いと思うのだけど、
中級者未満の人の独学だとC#の方が無難だと思う。

理由としては、初心者に一番大切な入力系のクラスの
使い方がC#の方が簡単だから。
CUIを作る時の面倒さはどちらも同じ程度に難しいけど、
GUIを作る時の敷居はC#の方が低い。

初心者、特に独学者にとっては「とにかく動かして試せる」
ってのは重要なポイントだから。


# ほんと、Java馬鹿だよな。
# OO原理主義なんかに走らずにデルファイのクロージャの機構でもパクっとけば、
# デスクトップでの普及もねらえたのに。
■ このスレッドは過去ログ倉庫に格納されています