現在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++とどう違うんだ。
と、、言う具合にさっぱりです。
なにを勉強したらいいでしょうか?お勧めやお考えなどを
高い本の解説でもよく分からないものですし、何となくは昔VB触ったときに分かっているので、
Perlだと目に見えない所がオブジェクトになるので分かりにくいだけなのだと思います。(私が)
URLありがとうございます。
http://www.rwds.net/kuroita/program/Perl_oo.html
http://www.rfs.jp/sb/perl/04/02.html
実は、私も勉強中の身なので、説明するのが難しいのですが(笑
上のページに解説があります。
オブジェクト指向は特定の部分を表すのではなく、プログラム全体のつくりを表す言葉(設計方法みたいなの)なんです。
へんなことを言えば、複雑なフローチャートみたいなものかもしれません。
その特徴のため、言語が違っても設計段階ではだいたい共通のものになります。
と、説明すればするほど混乱してきそうですね^^;
まずは、クラスってやつを作ってみて、その動きを知ると、後々の組み方(デザインパターン)が理解できるようになります。
(まずはクラスってのがダメって言う人もいますが)
文章のほうが理解できるかもって場合は、用語から先に勉強するのもひとつです。
どちらにしろ、プログラムを設計するときに両方必要になってくるので、逃れられません(苦笑
うーむ、わかりづらい文章ですみません・・・
Rubyをお薦めします。私はC言語しか知らない状態でRubyを始めましたが、違和感なく学習することができました。
日本語の資料がWeb上にたくさんあるという点もお薦めする理由のひとつです。また、どうしても分からないことがある場合には、ruby-listという日本語のメーリングリストに聞くという手もあります。
> Perlが理解できる人とノウハウの交換をするためにPerlを覚えるのですか?ちがいますよね?Perlを覚えるのは、Perlを使って何か道具を作り、その道具を動かして何かを実現したいからですよね?
そうですね。例えが分からない私です…。
> その「何か」が今わからないから、どうしたらよいかがわからないのであれば
これはまさにおっしゃるとおりです。分からないのです。
掲示板を設置して使ってたら足りない機能があるから勉強して改造して満足。
自分の理想の、都合の良い掲示板スクリプトがなかったからコピペしつつ書いてみる。
掲示板以外も色々書いてみる。このレベルでなら作りたい物ができた。
もっと高度なソフトが作りたくなったが一気に難しい…壁を感じる
そもそもこのままPerlを勉強すればいいのか? 他の言語か? 趣味ならこのへんでやめるべきか?
というような流れです。
> コンピュータの一般的な知識から
これは考えていませんでした。
まさに私の苦手とするやり方ですが、やれば一番効果的だろうとも思います。
プログラムを覚えるは確かに変ですね…。
まず日本語から勉強した方が良いのは分かっているのですが。
こ、これは、眠れないときに読むといい種類になってしまいそう(汗)
ちょっと辛すぎるか…
Haskellの事をもう少し知りたくなってきましたので色々見てみます。
いきなり買うにはその値段はつらいっす(^^;
Webに情報いっぱいだといいですよね、新しいものは仕方ないですが。
でも新しいもの好きだからか気にはなる…。
紹介していただいた本で立ち読みすらした本はありませんでした(汗)
何もしないのは、そうですね。
どちらにしろ、色々皆様の回答で興味がわいてきたりしているので色々してみます。
ちょっと難解(私には)ですが、大黒学さんのRuby実習http://tutorial.jp/prog/ruby/rubyman.pdfというのがあります。Rubyは手続き的にも書くことは可能ですが、オブジェクト指向にどっぷり浸かって書くのが醍醐味かと。
関数型言語は数学が出来る人以外立ち入り禁止みたいなイメージがありますね。
でも、去年あたりから徐々にそのしきいが下がってきているようで、
その最たるものとして、ご紹介させていただいたHaskell本があるようです。
著者も文系プログラマで、私も文系プログラマです。
関数型言語がどういうものかは以下の書籍に詳しいです。
この本は、ハッカーの視点に軸足を置きながら、起業、デザイン、歴史からいじめ問題まで、
多岐にわたるトピックを扱っており読み物として大変楽しめます。
ただ、そうは言っても、関数型言語を学んでいるときの手ごたえは独特すぎて、
自分が隠者にでもなったような孤独感も多少あるかと思うので、
このあたりで適当に遊んで現世利益も享受しつつ少しずつ学んでいくといいかもです。
あ、JavaScriptもすごく立派な言語だと思います。
紹介した本が既読でしたらすいません。。
やれるところまでやってみて、いやになったらすっぱり止めてしまえばよいかと。
今でも掲示板CGIがいる、と思うと、PerlかPHPが多い気がします。
向き不向きというやつでしょうか。
その通り、向き不向き。
レンタルサーバーを探してみれば分かるけど、Perl/PHP 以外が動くと書いてあるところは非常に少ない。
せっかく興味を持ったのだから、色々やってみるのもいいとおもう。
幸いここ「はてな」はプログラミング系の質問なら解決方法に事欠かないし。
>同じ言語を話す人とコミュニケーションを取るため、というのは、つまりPerlが理解できる人とソースやノウハウが交換できる? コンパイラ、インタプリタの事でしょうか?
言葉は目的を達成するために使う道具です。ただの道具です。
Perlが理解できる人とノウハウの交換をするためにPerlを覚えるのですか?ちがいますよね?Perlを覚えるのは、Perlを使って何か道具を作り、その道具を動かして何かを実現したいからですよね?
その実現したい「何か」が何なのかによって、ご自身が進む方向…この場合は、Perlを極めるか、別の言語も学習するかが決まると思うのですよ。
その「何か」が今わからないから、どうしたらよいかがわからないのであれば、他の方々も仰られているようPerlを極めたり他の方々の薦められている言語をやるのもよいし、
> ・「プログラムを覚える」という言葉遣い
> ・APIが何かわからない
> ・「Ajax」をプログラミング言語だと思っているかのような文章
これらに関して理解できるまで、言語のことだけではなく、コンピュータの一般的な知識から身をつけられるのも一つの手だと思います。(基礎力をあげる事で、プログラミング能力は飛躍的に上がりますから)
ちなみに「プログラムを覚える」という言葉から得られる私の印象は、英語を知っている状況で「○代大統領の就任演説を覚える」だとか、日本語を知っている状態で「源氏物語を覚える」のような感覚でしょうか。
そんな都合の良い中途半端な質問をしてみたわけです。
C(++?)言語を初歩から勉強しましょう。とほとんど言われるだけかと思っていたのですが…。
もちろん勉強用に参考にしたわけではないですよ。
使っていて困ったこと(たしかURLを2つ書けるようにしたかった)があって、改造して…という感じです。
汚いとか綺麗とか、当時は知らなかったですねー。
あの所は掲示板といえば定番だったからなぁ。懐かしい。
もしC言語とかで綺麗なソースの掲示板が定番で最初使っていたらそれを覚えようとしたでしょう。
運が悪かったのか、、でも、今でも掲示板CGIがいる、と思うと、PerlかPHPが多い気がします。
向き不向きというやつでしょうか。
> ちょっと触るだけでいいのか、もっと奥に進みたいのかはわかりませんが、
ある意味それも含めた質問です。直接その回答が欲しいわけではありませんが、最後考えてみて、こりゃ難しすぎるな。となるのも1つの質問した成果だと。
ここに色々書いてあるくらいの努力/根性でこれ以上スキルアップなんて都合が良すぎる。仕事するんじゃないのならやめておけ。
という事かもしれませんね。(ちょっと分かりにくいですね…。つまり趣味の範囲を飛び出して非常に努力して覚える必要があることまではしようとは思わない、というような感じ)
仕事ならやめておく訳にはいきませんが、趣味ですから。
ただ、やってみたいことは確かにあるので、そこに近づく事を色々と考えてみるわけです。
大抵のフリーソフトウェアのプログラマなんてそれだけを理由に活動しているのだから。
ただ、一般的に
Web裏技やKENT WEB のような配布系
こういうところのスクリプトはあらゆる環境で動かす為にコード自体は酷い傾向がある。
もちろんそれによるメリットも否定しないが、勉強用に参考にするには向いていない。
ちょっと触るだけでいいのか、もっと奥に進みたいのかはわかりませんが、
深遠な世界を見てみたいのなら、 Perl に置ける use strict; は必須。
他にも色々必要だけどそれは前述の本に書いてあるのでそっちを読んでください。
たしかに似たようなものを勉強しても、あれですかね。
Wikiか、、すごいな。
すごい挫折しそうな香りがしてきます(汗)
難しいです…。
http://ja.wikipedia.org/wiki/%E9%96%A2%E6%95%B0%E5%9E%8B%E8%A8%8...
Lipsしか名前を知らないし分からない…、、うう。
関数型言語って何だろうか。
今後はCPUのコアが増えそうと言うのは、そうだろうと思っております。まぁ実際増えていますし。
学生みたいな者なのかもしれません。
集団でプログラムは経験ないですね、あくまでも趣味の範囲なので。
もちろん集団でくめるようになれば人生の役に立ちそうですが。
やるならしっかりやれるところまで、、みたいな…
うーん。
なんだかJavaに似た重さを感じますが、それを使ったフリーソフトで手放せない物もあるので…。
.NET FrameworkとやらでPerlは使えない、ですよね。(^^;
(そりゃ、色々大切なこと無視して凄い方法使えば出来そうな気はしますが、それは除いて)
.NET Frameworkというプログラム言語じゃないですよね。そうだよな。(汗)
無料ですか? それは知りませんでした。弄ってみようかな…。
別にMicrosoft嫌いではないので。好きではないですが、まぁ実際青い画面をたまーに見つつWindows使ってますし。
マスターするというより、
違う考え方に触れるといった意味でオススメさせていただきました。
語弊があるかもしれませんが、Perlと重複の多いPythonやRubyよりも、有意義なのではないかと。
リンク先の書籍は実際にモノをつくりながら言語の考え方をなぞることが出来るので、
(WebでしたらHaskell本のほうはかんたんなWikiを実装します)退屈しないと思います。
将来への投資という意味では、x2popさんのおっしゃる間接的な効果はもちろん、
直接的なご利益もあるかもしれません。↓
参考になります。
http://www.bayashi.net/archives/entry/2006/000255.html
見て思い出しました。
> 3.Web裏技やKENT WEB のような配布系で use strict; しているところが少ない。
Web裏技のCGIを最初改造したところがすべての始まりだったのです。
上級者になるべきだ(ちょっと意味が違うか)という気がしてきました。
私がこの話題はと笑われそうですが、Freenetみたいなのをもっとシンプルにしたようなのが作りたいなぁとよく思うことがあります。P2Pは有効に使うと凄いよなぁ。
まぁ、どうすればいいのか見当もつかないのでムリですが。
(これはもし作れてもなんか怖い思いをしそうなので作らないでしょうけど)
マスターするというより、
違う考え方に触れるといった意味でオススメさせていただきました。
語弊があるかもしれませんが、Perlと重複の多いPythonやRubyよりも、有意義なのではないかと。
リンク先の書籍は実際にモノをつくりながら言語の考え方をなぞることが出来るので、
(WebでしたらHaskell本のほうはかんたんなWikiを実装します)退屈しないと思います。
将来への投資という意味では、x2popさんのおっしゃる間接的な効果はもちろん、
直接的なご利益もあるかもしれません。↓
http://itpro.nikkeibp.co.jp/a/it/alacarte/iv1221/matsumoto_4.sht...開発者曰く、「関数型言語がくるかも」
]