初心者のためのプログラミング言語ガイド Part8
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/04/15(火) 00:13:54質問者の方へ
どのプログラミング言語を最初に覚えるべきかは
なぜプログラミングを始めたいのか、何を作りたいのかによってまったく変わってきます。
なんとなく、でもかまわないので動機、用途、使っている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
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/
0153デフォルトの名無しさん
2008/04/19(土) 22:21:34ググれカス
0154デフォルトの名無しさん
2008/04/19(土) 22:55:050155デフォルトの名無しさん
2008/04/19(土) 23:00:28現在javaしか書けないのだが(歴4ヶ月のにわか)、デスクトップ用のソフト(日記帳とか)しか書かないし
知り合いにソフト配るのにjavaよりC#の方が実行環境整えてもらうのが楽そう。linuxでもおkみたいだし。
ただ、やるにあたって心配な点が3つ
・中学以来windows触ってない。(XP購入予定、vistaの方がいいのか?)
・C言語やったことない。
・javaもまだ基本的な事しか分かってない。
特にwindowsの仕様が全く分からない事とC言語を全くやった事ないのが引っかかってる。
このままjava続けてた方がいいのかな?
PGを目指してるわけでは無いので、シンプルで楽に書いていけるものであれば何でもいいんですけど。
0156デフォルトの名無しさん
2008/04/19(土) 23:23:38windowsなんか捨てて、JAVAでいいじゃないか
C#は、まだwindows専用と考えた方がいいよ
JAVAが出来れば、Cもすぐ出来るようになるさ
0157155
2008/04/19(土) 23:38:21いや、さすがにexcelの使い方も分からないじゃこの先困るかなって。
だからwindowsはやるつもり。
高校の頃初めてのバイト代で買ったPC。
兄に「これからの時代はlinux」だよと言われ「FedoraCore」を渡されwinXPを奪われたあの日の屈辱を俺は忘れない。
windowsだけは絶対に買う!
ただC#の他OSへの移植性が低いなら、まだjavaを突き詰めていった方がたしかに勉強になりそうですね。
そもそも、よくよく考えればC#よりofficeソフトやwindowsに慣れるほうが大事な気がしてきました。
0158デフォルトの名無しさん
2008/04/19(土) 23:40:090159デフォルトの名無しさん
2008/04/20(日) 00:01:300160デフォルトの名無しさん
2008/04/20(日) 00:02:45ちょっと面白かった
Vista SP1買ってC#でもVB.NETでもやればいい
Officeも高いがパワポ付きの買ってやってくれ
>>159
Visual C# EEは、ダメなの?BCCより緩いと思うんだが・・・釣り?
0161デフォルトの名無しさん
2008/04/20(日) 00:04:25ごめん釣りじゃない
EEって機能制限のイメージが強くて・・・
平気なもん?
0162デフォルトの名無しさん
2008/04/20(日) 00:06:490163デフォルトの名無しさん
2008/04/20(日) 00:07:19C#のEEは、ほぼ全機能に等しいレベルで、有償利用可じゃなかったの?
C++だとMFCやリソースエディタが無いとかダメだった気もするが、問題はネイティブだけみたいだしね
0164デフォルトの名無しさん
2008/04/20(日) 01:24:29それって兄貴は奪ったXPのライセンスを使っていたというオチだよな?
0165デフォルトの名無しさん
2008/04/20(日) 02:31:53教えてください。
ちなみに今までプログラミングの経験はほぼありません。
0166デフォルトの名無しさん
2008/04/20(日) 02:33:050167デフォルトの名無しさん
2008/04/20(日) 08:21:050168デフォルトの名無しさん
2008/04/20(日) 08:24:06ラダー
0169デフォルトの名無しさん
2008/04/20(日) 10:53:39電気製品関係のプログラムを作ってる会社に就職する
いやマジで
それ以外に特段方法はない
君が学生なら新卒で入れ
君が既卒なら中途では採らないので諦めろ
入社前に何かを知っている必要はないし、仮に何か知ってたとしても役に立たない
0170デフォルトの名無しさん
2008/04/20(日) 10:54:120171165
2008/04/20(日) 15:22:41自分は今大学生なのですが、その大学で使うのです。
まずはC言語あたりから勉強してみます。
0172デフォルトの名無しさん
2008/04/20(日) 16:12:31秋月 H8マイコン 組み込み
等でぐぐれ
あとアマゾンでH8マイコンって検索すればマイコンでいろいろ制御する方法が載ってある技術本がたくさんでてくる
言語はCでおk
0173デフォルトの名無しさん
2008/04/20(日) 16:16:270174デフォルトの名無しさん
2008/04/20(日) 18:59:22自分でやりたいこととかねぇのかな
0175デフォルトの名無しさん
2008/04/20(日) 20:35:514時間ほどで作りました
0176デフォルトの名無しさん
2008/04/20(日) 21:48:040177perl中毒
2008/04/20(日) 21:51:520178デフォルトの名無しさん
2008/04/20(日) 22:29:16うp
0179デフォルトの名無しさん
2008/04/20(日) 23:22:250180デフォルトの名無しさん
2008/04/20(日) 23:49:410181サイタマン ◆mYN3wsz7vE
2008/04/21(月) 01:58:13他のスレにコピペするのは辞めてください。
http://pict.or.tp/img/53200.jpg
0182サイタマン ◆mYN3wsz7vE
2008/04/21(月) 01:59:140183デフォルトの名無しさん
2008/04/21(月) 02:06:270184デフォルトの名無しさん
2008/04/21(月) 02:29:160185デフォルトの名無しさん
2008/04/21(月) 02:32:36株やる人にとっては便利なのかね
0186デフォルトの名無しさん
2008/04/21(月) 06:10:500187デフォルトの名無しさん
2008/04/21(月) 06:54:38株できない子供は黙ってろ
0188デフォルトの名無しさん
2008/04/21(月) 07:00:340189デフォルトの名無しさん
2008/04/21(月) 08:30:51株できない子供は黙ってろ
0190デフォルトの名無しさん
2008/04/21(月) 08:40:54キチガイは放置が最善手
0191デフォルトの名無しさん
2008/04/21(月) 09:14:40株できない屑野郎は黙ってろ
0192サイタマン ◆mYN3wsz7vE
2008/04/21(月) 15:12:24初心者にもこの程度は作れるよと言いたかっただけなので。
0193デフォルトの名無しさん
2008/04/21(月) 15:24:13株できない屑野郎は黙ってろ
0194デフォルトの名無しさん
2008/04/21(月) 20:48:010195デフォルトの名無しさん
2008/04/21(月) 20:55:150196デフォルトの名無しさん
2008/04/21(月) 21:10:11サンクス
0197デフォルトの名無しさん
2008/04/22(火) 14:08:41今、企業に面接に行ってきたのですが
一ヶ月後にプログラムを作ってきてください、また面接しましょうといわれました。
恥ずかしながら、全くの初心者なので、何からすれば良いのかわかりません。
誰かヒントを下さい!
0198デフォルトの名無しさん
2008/04/22(火) 14:17:15君が本当にプログラミングを一度も作ったことがないということを
先方が理解していたなら、それはあちらの厄介払いだ
君が本当にプログラミングを一度も作ったことがないということを
先方が理解していなかったなら、それはあちらの勘違いだ
どちらにしてもプログラムを作る必要はないと考える
0199デフォルトの名無しさん
2008/04/22(火) 14:19:32まーな…
PCを持ってるにもかかわらずプログラミングをしたことが全くないってのに
そういう企業や職種に応募することが正直なとこ全く信じられないんだが
0200デフォルトの名無しさん
2008/04/22(火) 15:59:20>>198の言うとおりだと思うのだが、具体的にどんなプログラムを作れって言われたの?
言語は何を指定されたとか、OSやハードウェアは何とか。
0201デフォルトの名無しさん
2008/04/22(火) 17:02:12そういうのは役に立たねーよとかいう話があったななんか。
0202デフォルトの名無しさん
2008/04/22(火) 17:28:450203デフォルトの名無しさん
2008/04/22(火) 17:36:01ちゃんとした理工学系のような履歴の人間にもプログラム全くできない、
触ったこともない奴が含まれているらしいということさ。
0204デフォルトの名無しさん
2008/04/22(火) 18:02:44じゃあFizzBuzz
0205デフォルトの名無しさん
2008/04/22(火) 18:04:540206デフォルトの名無しさん
2008/04/22(火) 21:51:44昔VBやPowerBuilderの開発経験があるので
Basicでよいのがあればそちらを、無いなら
Basicから移行しやすい言語でフリーウェア作成向きの
言語って何がありますか?
0207デフォルトの名無しさん
2008/04/22(火) 21:56:360208サイタマン ◆mYN3wsz7vE
2008/04/23(水) 05:00:33私の場合、2chに書き捨てるような文章を書くのが得意かつ好きで、
ブログのような、ある程度、きちんとした文章を書くのが面倒だと思うタイプなので、
一番、書き手にメリットのあるPerlを好んで使っています。
ブログを書くのが好きな人にとっては、もう少し、厳格な言語がいいかもしれません。
人それぞれの性格によって、一番能力の発揮しやすい言語があると思います。
ほとんどの言語で、ほとんどの事は出来ると思いますので、
自分に合う合わないで決める事が、一番大切だと思います。
0209サイタマン ◆mYN3wsz7vE
2008/04/23(水) 05:02:54性格的に合わず3日持ちませんでした。
2chに書き込むのは好きで、何年もコテハンをやっています。
0210サイタマン ◆mYN3wsz7vE
2008/04/23(水) 05:07:01逆に、可読性を上げるには、書き手にとっては自由を縛られる事になります。
0211デフォルトの名無しさん
2008/04/23(水) 05:40:04書き手にとってPerlがメリットがあるという話、
具体例を出して書いていただけるとおもしろいですね。
0212デフォルトの名無しさん
2008/04/23(水) 05:43:580213サイタマン ◆mYN3wsz7vE
2008/04/23(水) 06:43:10例えば、ファイルを読み込んで出力するコードを書くとします。
Javaですと
import java.io.*;
class BufferedReaderTest {
public static void main(String[] args) {
try {
FileReader in = new FileReader("file.txt");
BufferedReader br = new BufferedReader(in);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
in.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
perlですと
open(IN,"<file.txt")|| die "error";
while(<IN>){
print $_;
}
こうなります。
どちらが、人間の話す自然な言語に近いかと言う事を考えた場合
Perlがより近いのではないかと思います。
0214サイタマン ◆mYN3wsz7vE
2008/04/23(水) 06:44:00誰もが論文のように論理的文章を書く事も話す事も出来ますが、
日常的に話すように自然に話したり書いたほうが、
普通の人には楽だと思います。
日常会話では、主語が抜けたり、暗黙の了解で
省略している部分があって、
分かりにくい場合もあります。
ただ、そのおかげで普通の人間にとっては楽に話す事が出来ると思うのです。
0215サイタマン ◆mYN3wsz7vE
2008/04/23(水) 06:45:05を忘れてましたねw
適当なコードですいません。
0216デフォルトの名無しさん
2008/04/23(水) 06:53:090217デフォルトの名無しさん
2008/04/23(水) 07:31:57オリジナルなものを書いて持っていったら、本当に入社できる
かもしれませんね。今日のプログラム開発はプロでもアマでも
多かれ少なかれ、何らかのプログラムの剽窃になってしまいます。
そう感じさせないことは大変に難しいと思いますが、自分の一番
好きなことで、こんなものあったらいいなという、日頃思っている
ものがあったら、それを作ってみることに挑戦してみたらいかがですか。
オリジナリティが生まれるとしたら、そういうテーマ以外考えられません。
0218サイタマン ◆mYN3wsz7vE
2008/04/23(水) 07:41:11マークが無いので制御文がどこで終わっているのか
分かりにくいと言う基本的な欠点があるので、
あまり好きではありません。
pythonだと
if a == b :
print '1'
print '2'
perlの場合
if($a==$b){
print '1';
}
print '2';
こうなり、制御文はperlのほうが分かりやすいです。
0219デフォルトの名無しさん
2008/04/23(水) 07:44:000220デフォルトの名無しさん
2008/04/23(水) 07:59:04サイタマンって言語あれこれきちんと使ってから
批評してるんだな、感心した
0221サイタマン ◆mYN3wsz7vE
2008/04/23(水) 07:59:58perlが分かりにくい面は否めないと思います。
どこに価値を置くかと言う点もありますね。
先ほどのpythonの制御文の欠点ですが、
自分は制御文で複雑な事をする癖があるので、
Pythonで制御文を書くと、どこまでがこの制御文の範囲なのか
訳が分からなくなってしまいます。
0222デフォルトの名無しさん
2008/04/23(水) 08:00:00Python使いだが、特に分かりづらいということはないかな。
Perlは省略した表現ばっかりで本当に魂捧げないと
リファレンス片手じゃないと打ち込めないw正規表現が使いやすいのはいいけどな
0223デフォルトの名無しさん
2008/04/23(水) 08:01:46クラスを使って、メッソドを静的に扱う。関数を同じに扱う。
@staticmethod
def hoge(x,y,z):
とか。こうして細切れにすれば、問題ないと思う。
普段からルーチンを一機能につき一つ設ける癖をつければいいとおもうよ
0224サイタマン ◆mYN3wsz7vE
2008/04/23(水) 08:07:48そうすると、書き手にとっては非常に面倒になってしまいます。
先ほどから書いてありますが、自分は人間にとって書きやすい事を重要視していますので、
書きにくいと、生産性が落ち、面倒になってしまうんです。
0225サイタマン ◆mYN3wsz7vE
2008/04/23(水) 08:11:11一番、プログラムの楽しさを味わえると思います。
面倒な要素を出来るだけ排除する事で、人間はやる気や生産性が上がるんです。
0226デフォルトの名無しさん
2008/04/23(水) 08:14:05いろいろと工夫するのは駄目で便利な機能は使うべきと思う
0227デフォルトの名無しさん
2008/04/23(水) 08:20:57長々とした処理を書き続ける方が気苦労多いよ。
ローカルスコープの量は最小限に、
一度作った関数は再利用できるように、ってやらないと
後日自分が作ったもの読んだ時意味不明になるよ。
0228デフォルトの名無しさん
2008/04/23(水) 08:22:07入力補完しまくってくれるIDE使ってくれるなら話が変わってくるか。
だけどPerlって長々とだらだらとしたものを書くようなことを
推奨してるとは思えないんだけどなあ。
0229サイタマン ◆mYN3wsz7vE
2008/04/23(水) 08:28:24自分は汎用以外のオブジェクトを多く作るのは
意味が無いと思ってます。
一つの処理に対しては、一つの流れとして書くほうが自然で
分かりやすいと思います。
一つ一つの処理にオブジェクトを呼び出すのは遅くなる原因となりますし、
何より、オブジェクトの数が多くなると管理も大変になります。
多く使う汎用処理のみオブジェクト化すればいいと思ってます。
0230デフォルトの名無しさん
2008/04/23(水) 08:40:59分かった、俺の負けだ‥
いつの間にサイタマンはこんなに強化されたんだw
キチンと自分の理念を持ってコーディングできてるってうらやましいな‥
0231デフォルトの名無しさん
2008/04/23(水) 09:14:40Perlが書き捨て用に適していて、その用途の場合はわかりやすいように
関数とか作らなくてもいいんじゃね、ってのには賛成するが。
0232デフォルトの名無しさん
2008/04/23(水) 09:15:380233デフォルトの名無しさん
2008/04/23(水) 09:34:300234デフォルトの名無しさん
2008/04/23(水) 09:40:36株板で相手にされないからこっちに流れてきたんじゃないの
0235デフォルトの名無しさん
2008/04/23(水) 09:41:56ボクはキミを無視しちゃいますよ〜というのを、無視できずにアピールしちゃうことほど
「負け」属性の強いレスは無いな。
0236デフォルトの名無しさん
2008/04/23(水) 09:43:08もう市場開いてるでしょ
0238サイタマン ◆mYN3wsz7vE
2008/04/23(水) 09:44:51自作自演はしてませんよ。
0239デフォルトの名無しさん
2008/04/23(水) 09:46:33俺がレスしてるのを自演とか言ってる奴がいるんだが
別人なんだけどなあ、
ニュース速報でサイタマンが出たてのころと比べたら
本当に強化されてて感心したんだが。
2chブラウザ作るっての公言して本当に作ったしさ。すげーと思うわ。
というわけでサイタマン、さっさとソース出せ
0240デフォルトの名無しさん
2008/04/23(水) 09:51:39そ ら ま た 自 演 だ
0241デフォルトの名無しさん
2008/04/23(水) 09:54:57初心者用のスレだから、質問します。
普段からルーチンを一機能につき一つ設ける、のルーチンの意味がわかりません。
0242サイタマン ◆mYN3wsz7vE
2008/04/23(水) 10:08:28あれから音声読み出し機能を付けたのですが、
視覚障害者の為の2chブラウザにして配布しようかな〜と思ってます。
今のブラウザは株のトレードとセットになっているので、
2chブラウザだけを取り出しての配布になると思います。
いろいろやる事があって、今すぐには配布できませんが、
配布するので、待ってくださいね。
>>241
サブルーチンです。
perlで書くと
my $d=&call(1,2);
print $d;#結果は3
sub call{
my($a,$b)=@_;
my $c=$a+$b;
return $c;
}
0243サイタマン ◆mYN3wsz7vE
2008/04/23(水) 10:20:13無駄だと思います。
my $c=1+2;
print $c;
で済むのですから。
こっちのほうが普通の人には分かりやすいと思います。
数多く、同じ関数を呼び出すのであれば、
関数化すればいいと思います。
それは、個人個人の判断になると思います。
一つ言えるのは、あまりに関数を作りすぎると、コーディングが面倒な事、スピードが遅くなる事、
この関数はどこにあるのか、何をしているのか訳が分からなくなる事です。管理上、不便だと思います。
0244デフォルトの名無しさん
2008/04/23(水) 10:33:090245サイタマン ◆mYN3wsz7vE
2008/04/23(水) 11:10:28そうだね。
一応、上に書いた呼び出し方は古いから
oopでの呼び出し方も書いておきます。
use Test;
my $obj = Test->new();
my $d=$obj->call(1,2);
print $d;#結果は3
package Test;
sub new {
my $pkg = shift;
bless {},$pkg;
}
sub call{
my $self = shift;
my($a,$b)=@_;
my $c=$a+$b;
return $c;
}
1;
0246デフォルトの名無しさん
2008/04/23(水) 11:24:13test(A,B,C) :- C is A+B.
非オブジェクト指向言語ですが、これで済むんだけどなぁ。
0247デフォルトの名無しさん
2008/04/23(水) 12:52:59>>245 があまりに厚化粧で、サイタマンさんが上の方で書いていた
ご自分の好みとは随分と離れたコードを書くことも多いのだろうな
と思ったから、敢えてシンプルなものを載せました。そこで質問
なのですが、Perl の使い手にとって、オブジェクト指向とはどう
いう位置付けのものなのですか。
0248デフォルトの名無しさん
2008/04/23(水) 13:01:24Pythonだと
if a == b:
print '1'
print '2'
Perlだと
if($a == $b){
print '1';
}
print '2';
この例じゃ、解りやすさに差があるようには思えん。
{}言語が好きか、 言語が好きか、好みの問題に過ぎないと思う。
0249デフォルトの名無しさん
2008/04/23(水) 13:15:130250サイタマン ◆mYN3wsz7vE
2008/04/23(水) 17:57:38OOPする時は、サブルーチンが重複するかもしれない、
大量のコードを利用する場合に使います。
変数の競合を防ぐには局所変数で対応できますが、
関数の競合を防ぐにはOOPでなければ出来ませんから。
サブルーチン競合を心配するようなプログラムになると、
自然と使うようになります。
>>248
perlの場合はコンパイルエラーを吐いてくれますが、
pythonの場合はインデントミスが生じた場合、
エラーを吐いてくれないので、どこでエラーが生じるのかの見極めが難しいのです。
0251サイタマン ◆mYN3wsz7vE
2008/04/23(水) 18:00:23プログラムが誤動作してしまい、バグ発見に時間が掛かります。
0252サイタマン ◆mYN3wsz7vE
2008/04/23(水) 18:21:15自分は利用できそうなサブルーチンをまとめてあります。
package名を付けて、
そこにサブルーチン名を貼り付けるだけで、
簡単に出来ますし、関数の競合の心配がなくなります。
■ このスレッドは過去ログ倉庫に格納されています