私はどのプログラムを覚えるべきでしょうか。


現在Perlを使ったCGIで掲示板くらいは作れます。HTML/XHTMLはある程度正確に書けると思います。JavaScriptは簡単な物なら…。Ajaxは謎です。
しかしAPIはよく分かりません。(モジュール? 関数? Sendmailみたいなもの?)

しかし最近PHPが増えてきたしAjaxとセットで使われることも多い、と思っていたらRubyも楽しそうだけど、Pythonって海外のサイトでよく見かけるような…。

Windowsで動くインターネット関係のソフトを作ってみたいなんて気もありますが、どこから手を付けたら(勉強したら)いいのやら。

基本的にPerlを最初に覚えたので、C言語のように変数をいちいち宣言しないと使えない!? とか思ってしまいます。

しかし、PerlでWindowsプログラム…となると、Tk?? The GUI Loftとはどういう物だろう。Perl と HTMLの関係でしょうか。そもそもPerlって.exeにできるのか?

.Net というのもよく聞くけど関係有るのか、C#とかがいいのか?C++とどう違うんだ。
と、、言う具合にさっぱりです。
なにを勉強したらいいでしょうか?お勧めやお考えなどを

回答の条件
  • 1人20回まで
  • 200 ptで終了
  • 登録:2007/01/04 23:20:46
  • 終了:2007/01/07 20:29:06

回答(45件)

ただいまのポイント : ポイント68 pt / 200 pt ツリー表示 | 新着順

ポインタは謎すぎる x2pop2007/01/05 21:30:31

最初にPerl覚えるなんて馬鹿だよ。とよく言われます。そうなんでしょうね、でも過去のことは…。

最初は行儀の良いプログラムにしなさい。と。。

職業プログラマでないにしてもちょっとは行儀良くする事を考えないとダメですね…。

せいぜいインデントくらいは付けるとか、その程度…。

で、長くなるとよく分からなくなってくるので、3行に1行はなにをしているのか最初に書いたときにコメントが書いてあります(汗)

もちろん後でどんどん書き足します。

コメント消したらあの処理どこだよ、これ何してるの、ってなるだろうなぁ。

コメント多すぎると怒られたり、コメントが多くて分かりやすいと言われたり…。

Perlの場合きれいに書くというか、どんどん省略、うまい人ほど同じ処理なのに短い。

という感じがあるので、そういうのを見ると感動しますね。

1KB以下の掲示板とか…

やっぱりもう少し Perl を続けた方がいいのでは? b-wind2007/01/05 21:26:53

他の言語じゃダメなわけではないけど。

どれでもいいから一つの言語をそれなりのアプリケーションを一人で作れるぐらいには極める。

その間に修得した技能は他の言語でも使いまわせるから損にはならない。

(文法ではなく考え方の部分で)


目的がなければコードが書きにくいのは自分と同じパターン。

解決法は一つ。自分で目的を作る。

学生か社会人かは知りませんが仲間内であったら便利そうなアプリケーションを自分から提案する。

プログラムは使われて初めて欠点が見えてくる。それに対応していく事で技術は初めて身についてくる。

使われる状況を自分で作るのが手っ取り早い。

このあたりの本をオススメして置きます。

厳しい x2pop2007/01/05 21:11:01

MMORPGとなると、すごいプログラムになるということは分かります(^^;

そうなるとやはりC++なのですね。

いきなりは難しいからJavaか、、うーん、

このままもしPerlを極めたと仮定しても、MMORPGは、作れなさそう、、いや、作れるか。

サーバーが早ければいけそうな気もしてきましたが、まぁそこまで極められるとは思っておりませんが。

use strict; を使う意義というのは、さらに高度なプログラムをPerlで組むためには…

という意味で、今後Perlの勉強を進めるなら必須のようだなぁ、と思っております。

use base qw(hogehoge); ……

すいません、検索したらヒットした

http://www.rwds.net/kuroita/program/Perl_oo.html

が興味深くてよく分かりませんでした(^^; 今度調べよう。

レスが止まるところだった、いかん。

広く浅く x2pop2007/01/05 21:01:30

そして自分のベストな言語を発見する。ということですか。

なんだか時間がすごくかかりそうで不安ですね。

私の実際に意味が少しくらいはあるプログラムが書けないとやる気がなくなる勉強嫌いからしても、なかなか難しいかもしれません。

しかし、色々なプログラム言語(で)が書いてある雑誌は見たことがないので、一度見てみますね。面白そうです。

オブジェクト指向… x2pop2007/01/05 20:58:52

オブジェクト指向な書き方をしているCGI (Perl)のソースとかないでしょうか。特定の部分がそうなら、何行目がそうだっ! と(^^;

オブジェクト指向という言葉の意味は、Web2.0のような曖昧さでしか理解できておりません。

http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A...

読めば、まぁそうなのか、とは思いますが、まったく実になってないというか…。

なんかすごい x2pop2007/01/05 20:55:13

これを勉強して頭良くなったらすごくためになるよ!!

的なもののようにお見受けしました。違ったらすいません…。

こういうのがどうにも苦手で、いやはや。

具体的になにか作りたい物が作れないと、まったく進まない…三日坊主。

ハローワードと表示したり、その他定番の勉強法は大変苦手です。

型にはめて基礎からやらないと、凡人はプログラムで食べていけないよ、あるいはすっごい苦労するよ。というような話はそうなんだ。と思いますが、私は仕事とはほとんど無関係ですから…。

できることなら、きっとマスターしたら凄い将来への投資?のようなものなのでしょうが。

なるほど x2pop2007/01/05 20:50:47

Rubyは簡潔なのですか。ちょっといじってみたくなりました。

質問閉じたら、入門サイト見てみようかな。

んんん? x2pop2007/01/05 20:49:47

よく分かりません。

何か、はまってないと思われますが、どこがどう問題なのかよく分かりません(汗) すいません。

Perl=英語だとすると、

英語が少し話せます。

英語をマスターすべきか、あるいはスペイン語を、あるいはフランス語を覚えたりした方が良いのでしょうか。

というような質問になります。

同じ言語を話す人とコミュニケーションを取るため、というのは、つまりPerlが理解できる人とソースやノウハウが交換できる? コンパイラ、インタプリタの事でしょうか?

何をしたいかで言語が決まる。それは分かります。

しかし、何をしたくなるのか、何をしなくてはならなくなるか、何をしたいかがよく分からない今だけど、どれか(全部はムリですから)覚えておきたい、だったらどれがいい? あるいは現在多少分かるPerlをさらに覚えるべきか…。

という感じでしょうか、ややこしいですね…。

> ・「プログラムを覚える」という言葉遣い

インターネットをする、みたいな感じですか。趣旨をなんとなーく伝えたかったので。

どの言語がいいですか!? という質問ならいわしは使わないかな。

広く色々聞きたかったので。

> ・APIが何かわからない

現状そんなところということです。Windowsで動くプログラムを最初に作っていたらあり得ないのだろうか。

ちょっと前に辞書サイトか何かを見ましたが、忘れました。見たら思い出すと思います…。

> ・「Ajax」をプログラミング言語だと思っているかのような文章

JavaScriptでこっそり通信するから、ページをひたすらリロードしなくてもいいよー、みたいな風に思っていますが、

ニュアンス的に理解度が伝わればと思いまして。

でもチャットCGIでひたすらリロードしていた私には1つの言語が誕生したかのようでしたが。

OSとお話しするための言葉というと 機械語 と思ってしまいました(汗)

アセンブリとかは、いろいろ極限のチューンナップとかすごそうですね、遠い世界だ。

変数… x2pop2007/01/05 20:34:15

満足に使えるがどのレベルかは分からないですが、使いこなせてなんて全く居ません。

書いてますが、掲示板プログラム作れる程度です。

とりあえず use strict; を勉強してみます。

きれいに書かないとエラーになるやつですかね。

今までの規模だときれいに書かなくてもできちゃったから使ってませんねぇ…。

超えられない x2pop2007/01/05 20:30:46

簡単ですから、最初の山の手前でやりたいことが出来ちゃって、満足しているような感じですね…。

極めたいですね、極めたいけど…まずはどういう事をすれば(始めれば)いいのだろう。

上級者向けのPerlの本を買って勉強…。

どうも勉強が苦手なんですよね。だれでもそう??

掲示板なら、掲示板プログラム作る! ということでそれに向かって覚えていくのは全く苦にならないのですが、

これ覚えて何に使えるんだろう…。という基礎から覚える~ という覚え方が苦手な私です。

これがだめなポイントかな(汗)

Javaは人気ですね、良いのか…。

利点はたしかにたくさんありますよね。

1つに x2pop2007/01/05 20:26:50

Perlマトモに使えてるとは思えません。

これはもっと凄い物だと思います。

もっとPerlを勉強したら、分かってくるんでしょうね。

他は気にしないと。


仕事だとC++か.NETが付くやつじゃないとダメ?という先入観がありますが。

仕事ではないですよ x2pop2007/01/05 20:25:08

もちろんなにか仕事に役に立てばそれに越したことはないですが、趣味の範囲です。

Javaですか、JavaVM(だったかな?)をSUNから落とすのが面倒、セキュリティーホールが…とかで何度も繰り返しになると…。

速度もなぜか出ません。うちの回線が悪いのだろうか。

あとは、起動や動作が遅い気がする。

そんな理由で好きになれないのです…。システム的に仕方ないのかなぁ。

Javaは書きやすさ的には、楽なんでしょうか。

書きやすさにも色々あるから一概には言えないですが。

(質問文から読み取っていただければ)

JavaかC#はどうですか? yna19622007/01/05 14:44:10

 文面からすると、恐らくは学生さんで、集団でプログラムを書いた経験はないように思います。

 これから、Webにしても、アプリケーションの世界にしても、ソフトウェアを生業にするお仕事に就くのであれば、一度集団で作成することを念頭に、Java、C#のような、ガチガチの仕様の言語を勉強してみてはどうでしょうか?

 私は長年の経験から、変数宣言やプロトタイプ宣言をしない言語が危なかしくて、好きにはなれません。(Perlは必ず、use strictをしております。)

 

Visual Basic.netやC# takuchan_no22007/01/05 11:47:24

.NET Frameworkで動くプログラミング言語なんてどうでしょう。

上に上げた以外にもJ#やC++、Python、JScript.netなどもあります。

.NET Frameworkは大量のクラスライブラリを持っていて、インターネットを扱うものから文字列処理まで様々な処理を手軽に行うことが出来ます。

Express Editionなら無料で始められますし、かなり出来の良いIDEも付属しているので、簡単に始められます。

Java Yuhto2007/01/05 11:14:35

オススメです。

C言語のように、「ポインタ」という壁もありませんし。

Javaのオブジェクトはポインタですが、あまり深い部分については意識することなく、第一歩を踏めて、スムーズに習得が進められる気がします。

いわゆる「オブジェクト指向」、「アスペクト指向」などのキーワードに深くかかわりつつ、さほど難易度の高くない言語としては

Javaが真っ先に思いつきます。

Java5の方向性は可読性が低く、敷居が高くなりつつあるので、

Java2(J2SE1.4系)から始めることをお勧めします。

Windowsで動くインターネット関係のソフトを作ってみたいなんて気もありますが

Javaに限りませんが、マルチプラットフォームは魅力のひとつかと。

Windowsでも動くし、Unixでも動くし、、、VMさえ積めばどこでも動く、という"Write once, run anywhere."が売りですし。

基本的にPerlを最初に覚えたので、C言語のように変数をいちいち宣言しないと使えない!? とか思ってしまいます。

プログラマとして食べて行きたいのであれば、

  • 変数をいちいち宣言する

というお作法は、すくなくとも「体験」だけはされたほうがよいかと。

品質の高いモノを作るのには妥協を許さない

というのが私の思うところです。

Perlは触っていませんが、

VBやJavaScriptなど宣言が任意の言語でも変数宣言をし、

各変数の型を意識した、読みやすくわかり易いコードを書くように心がけています。

MMORPGを作るときに行き着くのが C++とOpenGL(or DirectX) という気がする karasimiso2007/01/05 11:12:11

しかしいきなりは難しいので、まずJavaなどを勉強してオブジェクト指向や、グラフィックコンテキスト等の概念、それらに伴うAPIの利用などをやっておくとWindowsプログラミングでも役に立つでしょう。

で、JavaやC言語のたぐいを使っていると、あらためてPerlでプログラミングをする際に use strict; や use base qw(hogehoge);を使う意義が見えてきますよ。

1つに決めなくても良いと思います。 himawari19552007/01/05 09:54:38

いろいろな言語に興味が出ている頃だと思いますので、無理に1つに絞らなくても良いのではないでしょうか。

今の質問者さんのレベルであれば、本屋でプログラミング関係の雑誌や書籍をめくってみると、「ふんふん、こうやればできるんだな」というところまでは理解できていると思いますので、本の内容でおもしろそうなものを買ってみて、試してみると良いと思います。

日経ソフトウェアやソフトウェアデザインなどの雑誌なら数種類の言語を扱っていることがあるので、飽きても別の特集を読めば元は取れると思います。それから、今よりもっと具体的に何か言語を習得したいと思えば、その時から勉強しても遅くはないと思います。

Perlを極めれば・・・ amichang2007/01/05 04:17:26

もしPerlでオブジェクト指向な書き方をやったことがないのであれば、それをやってみてはいかがでしょう。

それができればJavaや、Rubyに移ることが思考的に容易になってきます。

Windowsアプリケーションをつくりたいとのことですが、.NetやC#、C++などもオブジェクト指向言語なので言語のクセを覚えるだけである程度は使えるようになるでしょう。

また、オブジェクト指向を覚えてからデザインパターンも覚えるとよいでしょう。

なにげにPerlだけで学べることはまだまだあります。

ただ、やっぱりC言語は(最近つかわれてる)いろんな言語を覚えるときに役に立つので知っておくとよいかもしれません。

ちなみに、PHPはPerlと同じように変数宣言はいりません。

C言語に近い書き方なので、ちょっとしたオブジェクト指向やC言語に似た言語を覚えるのには役に立つかもしれません。

あと、Perlはexe化できます。

たしか、GTKがつかえるはずなのでGIMP風なアプリケーションを作成できるでしょう。

中途半端なものをやるより hu22007/01/05 01:16:28

SqueakHaskellをやってみてはどうでしょうか。

その後Perlに戻るとしたら得るものは大きいかと思います。

Ruby tobeoscontinue2007/01/05 01:09:14

私はRubyを推めます。簡潔に書ける点が気にいってますが、手続き型の言語で慣れていると、考え方を変えて記述するのがちょっと大変です。

まぁそれはそれで楽しいのですが。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません