【勉強するのは】PHPとPerl【どっちが最初?】
この夏何かプログラミングの勉強をしてみたいと思ってる。
C++ だの VBだのみたいなプログラムより、
PHPやCGIのようなウェブアプリを書いてみたい。
そこで特にプログラミング経験のない香具師にとって
WEBプログラムの勉強をするのは
PerlとPHPどっちが最初のほうがいいと思う?
作りたいものとしてはまず自分で
掲示板とかカウンターとか作ってみたい。
>>252
Microsoft版のjavaだよ。
ASP.NETで組むWebアプリもあるから、そっちでもいいと思うよ。
だけど、バージョンが頻繁にあがっているとか、安定していない
ところもあったりする。あと、ネット上での情報は少ないとか。
なので、私は個人的には、Microsoft製の言語は便利ではあるけれど、
最初にはしない方がいいと思っている。
言語が変わろうとも基本概念は同じなので。 俺はC++をやってからPerlをやったけれど、
表記の違いなどは違和感があったけれど、
すんなりいけたよ。
ただ、オブジェクト指向は、工夫をしてオブジェクト指向を
実現しているだけにすぎなくて、違和感を感じるから、
packageあたりはいきなりやらない方がいいと思う。
あと、ハッシュ(連想配列)はすぐに分かると思うけど、
難解な省略記号というのは正規表現のことかな?
あれは使い慣れたらすごく便利だから覚えた方が良いよ。
極論を言うと、以下の表記方法だけ知ってるだけでも十分だw
$s =~ s/[変換前の文字列]/[変換後の文字列]/g; >>253
お返事有難うございます。
ネット上の情報は確かに少ないですね〜。 > C#
IDEとして、使い慣れたVisualStudioが使えるのが魅力なんですよね。
>>254
お返事有難うございます。
さらっとしかやってないので良く理解出来てないのかもしれないです。
ハッシュはすぐに理解出来ました。
省略というか、Cと違って、かなり短い表記で色んな事が行われるので、
可読性が悪いというか、まぁ慣れの問題なんでしょうけど、難解なんですよ(^^;
例えば、
while (<IN>) とかが、while ($_ = <IN>) と等価だったり。
ここに書いておいて、既に、$_って何だっけみたいな..。
正規表現とか使えるのは確かに便利なんですよね〜。
知っていて損は無いので、時間が許せば挑戦したいなぁ。 <>演算子は別に難解じゃないだろ。そういうものだと思うしかないじゃん。
Perlで難しいのは、中間変数を作らずにリファレンスデリファレンスして、それをmapでループ処理したりするやつだろ。
なんでそういう書き方するかというと、十分Perlを分かってる人間にとってはそれが可読性の高いコードだから。
ifの後置なんかもそう。前置なら{}を合わせて3-4行かかるのを後置なら1行で書ける。
もちろん1行が100文字超になるようなら前置を使った方がいいと思うけど、それは経験やセンスだな。
別に中間変数を使いまくって、mapは一切使わずwhileやforで書いてもいいんだけど、長いコードは読みにくいからな。
JavaとかC#とかみたいに優秀なIDEがあれば別だけど。 >>247
コンパイルなしのスクリプト言語で、Webアプリなら
・Perl
・PHP
・Python
・Ruby
の4択ですね。
それぞれの特徴をリサーチして、順番を決めれば良いと思います。
もし全部を押えておきたい場合、今の自分が昔の自分にアドバイスするなら、
PHP → Python → Ruby → Perl
の順番がいいよと言うかも。
PHP=簡単で学習コストが少ない。情報も豊富。即戦力で使える。レンタルサーバ選びも困らない。
Python=誰が書いてもコードの可読性が高い、読みやすい。IronPythonなどもあって応用範囲が広い。
Ruby=Ruby on Railsを使ったWebアプリ作成のやり方を知っておくためだけ。
Perl=とりあえず過去の資産は豊富なので、一応知っておく程度でOK。WEBアプリ界のCOBOL?
本業の片手間に、それぞれ1ヶ月程度の期間をさけば、広く浅く学ぶには十分でしょうか?
気に入ったやつを深く追求すればOK 俺もその意見には同意だな。
どっちが最初かなんて考えてる暇があれば、それだけ手を動かしたらどうかなとw
例えば運動なんかでもそうだろ?あれこれ考えるよりも練習をした方が
上達するわけだ。プログラミングなんて実技的なものなのだから。
しかし、Microsoftのを最初にやると苦労するな。言語以外の概念的なものは
公式の書籍などではほとんど触れられていないから。(ま、これが当たり前と
いってしまえばそうなんだけれど)
Perlとかだと、概念も知らない人向けの解説があったりする。 > Perlとかだと、概念も知らない人向けの解説があったりする。
それくれ。どこにあるんだ? >>260
ヒント:perl 超初心者 入門 でググる。 VPSサーバーの値段が落ちてきてるし、C言語が普及する予感。
VerUPで動かなくなるPerlやPHPなんてサッサと卒業すべきだわ Cは文法自体単純だけど、
APIやフレームワークになるとそれぞれ方言みたいな使い方になって、
とたんに複雑になる。 >>259
たしかにね、初めてパソコンやってそのうちインターネット使い始めて
HTMLさわった時なんて何もわかんなかったけど、
弄くれるまでになるのは、勉強よりなにより実践でさんざん弄ってからだもんね CのCGIよりmod_phpの方が早い現実
perlにもmod_perlがあるけど使える鯖があまりない 私はJavaから入った。
もうJava勉強してるときは何がなんだかわからなかったけど、
Javaやった後perlやphpやったら簡単すぎてびっくりした。
時間あるならデータ型とかきちんと学べてオブジェクト指向とかも学べるから
Javaからやってみそー PHPからPerlに入ると、PHPの簡潔さのよさに気づく。
Perlはリファレンスとか無名ハッシュとか、変にややこしい。
初心者はPHPに転んで当然だ。そりゃPHPの方が普及する。
Perlは最初から多次元配列が可能であれば、
もっと受け入れられやすいものになってたのに。 所詮どちらもスクリプト言語だ。
どっちをやってもCやJavaを勉強するときは糞の役にも立たない。 大人びた女の子・・・つまり大人ではない。のにサバを読む?
わけわかんねwwww よっぽどつらいことがあったんだなw >>270は普通に馬鹿だと思う
perl→Cとその逆方向の弊害の話とか知らないんだろうな >>268
畑違いのネットワーク系住人だけど、そう思った。
俺もJAVA、C→phpの順ではじめた。
でも文法は似てるからまるごとやってても損はない感じ。 うちの中学のPC部が
HSPとかいう言語とAn Httpdつかって
ゲーム作ってた。
ほとんど 本とかに載ってるサンプルの改造版だと思うが。。 実際的に中・大手レンタルサーバー使用の場合jsp,asp等の使用は不可でしょう、
私の場合は出来る事はjava.script、カウンター・簡単な掲示板などはPHP、複雑なのはperlで処理しています、
ただperlにjava.scriptを書き込む場合のエスケープ等に関しての書籍がないので苦労した覚えがあります、
PHPも使用出来ないレンタルサーバーも多いですよ!
よくわからぬままに、PHPでOOPしようとしたんだけど無駄にファイルが増えて複雑になるだけで凹んだ。
で、オブジェクト指向がなんたるかを学ぶのにJavaをやってみようと思うんだけど、PHP → Java っていうのは如何なものだろう? >>282
ファイルが増えるのはどの言語でも同じ。
っていうか、一つのファイルに複数のクラス書けばいいんじゃね? 自分は趣味でCでコードを書いていたくらいで、Web業界入ったけど
PHPもPerlも何の勉強無しでも読めたし、普通に修正するくらいは
できた。
ただ、リャマ本を買って少し勉強しようと思ったらPerlはすぐに嫌
になった。PHPは途中まで読んで放置。
正直Cさえやってれば問題ないと思った。 たしかに、PerlやPHPの文法なんか、
ある程度読めれば後はサイトで検索できるから、
やっぱ、Cとか覚えた方が良い様な気がする。
それより、プロトコルの仕様やXMLとかの勉強の方が大切ではないのかなぁ でも実際に使うとなると、
バイナリアン的知識や、手品チックなマクロの生成、解読術とか、
makeからctags,binutils,デバッガなどなどのツールの使いこなしなんかで
なかなか簡単にはいかないのが切ないところ。
覚えることは少ないけど、それを理解できるかの問題。
ポインタなんて覚えることは、数個だけどそれが理解できない人がいるんだから ポインタを覚えてそこで終わるか、ポインタを経て、
クラス、インターフェース、参照、継承、多態性、MIX-IN
などなど、理解できるかも問題。
これらはポインタを使うことで”無理して”作ることが出来る。
そのせいで、ポインタを理解しただけで、なんでもポインタを駆使して
やってしまい、それで満足して終わる奴もいる。
ポインタを理解出来ない人がいることは事実だが、
ポインタなんて初歩の知識にすぎんよ。
UNIX使ってるとCの知識は絶対的に要求されるんだよな。 折れは、リンクリストで挫折...
ポインタわかんね とりあえずPHP、Perl、Python、Rubyに関して言えば、ウェブプログラミング目的に限定するならばだけど、
この中から選べば、どれでもいいからやりだした者勝ちな気がする。
利点欠点を言われたって、その意味がないんじゃ言ってる意味が分からなくて自分に合う言語なんて見つけられるわけないじゃん。
どれか1つを覚えると、例えウェブプログラムという狭い分野の1言語の入門者でも、文法だけなら他の言語もすっと入ってくる。
少なくとも、最初の言語を覚えた時よりはずいぶん楽になってるはず。
そりゃそれなりの投資は必要だよ。
入門書も安くないし、それまでに書き溜めるプログラムは全部その言語で書くわけだから。
でも、2つ目の言語を学ぶ時って、さらっとした本を1,2冊買えばとりあえずは十分なんじゃないだろうか。
例えばPerlから初めて、「すぐわかるPerl」「初めてのPerl」「CGIプログラミング入門」「CGI基礎講座」「プログラミングPerl分冊」計6冊の本を読み漁ったとする。
それで一応そこそこ使えるようになり、PHPに手を広げてみようと思うとき、もう6冊は必要ないはず。PHPの本を1,2冊買えば十分。
逆にPHPから入って同じ事をやったとしても、Perlは「プログラミングPerl」で十分なはず。せいぜい「初めての〜」を買い足すだけでいい。
要するに、順番が違っても投資額は大して違わない。
1番目の言語で書いたものだって、2番目の言語の練習と思って移植すればいいだろう。
悩むよりどれか一つ感覚で選んで取得しちまうのが正解だよ。 デザイナー上がりでActionScriptをそこそこ使えるレベル。
Flashと連携できるプログラムがいいんだけど何勉強したらよい?
先細りしないやつで。 >>296
PHP勧めとく。
Perl,Ruby,Python.PHPの中では世界的に一番使われてるらしい。
HTMLに直接埋め込めるし、ツールとして扱う分には一番楽。
がっつりプログラミングの勉強するんだったら、他の三つから選べばいい。 Windows使いのバリバリの初心者なら、C言語はいくら本の通り文法を覚えても
プログラムがわかったという気になれない。なぜなら、コマンドライン上でつくる
ソフトウェアなどいまさら皆無だから、なにかつくれたという期になることは絶対無い。
あと、PHPかPerlならPerlを絶対お勧めする。文法的にもPerlの方が優れてるし
PHPはやっつけ仕事にしか向かない。Perlはいま開発が停滞してるけど、必ず一線に復活する。 Plerは復活してから勉強するよw こういうのはこのまましにそうだし。 C言語を語る上でGUI、CUIは関係無いだろ。
Perlの文法は一長一短だと思うな。PerlがPHPのシェア食うことは
今後も無いと思うよ。そういったのはPHPよりも簡単かつ実用的な言語が出てくるかどうか。
Perl6ではstrictがデフォになるし初心者には更に辛い言語になるだろうね。
供給量が膨大で基本的にテキストしか扱わないWeb用途で使う言語でシェアを取るために大事な要素は
簡単でお手軽に速度が出て幅広い層にリーチ出来るかどうか。 >302
ワンライナー
もしくは高級シェルスクリプト
>>302
テキスト処理するためのマクロ書くときにたまーに使うけど・・・
これからWeb系やるのに勉強しておく必要はまずない
仕事も新規でPerlはまずありえないし
既存のPerlのものを弄れる人が少ないから需要はあるが
Perlを使えてもそれだけで仕事探すのは難しい
いわゆるCOBOLerみたいな存在になっていく(もうなってる気もするが)と思われ
ただ、PHPをやるならそれよりJavaでもやっといたほうが需要はあるなw
「Perl、PHP、経験あります!」「そんなのどうでもいいからJavaはできる?」ばっかだしな
まー仕事じゃなく趣味でやるならPHPくらいでいいと思うけどなー 両方やれるようにするのが一番ですが。 両方できることでのデメリットでもあるのでしょうか?
この板で勢いのあるスレが人気あるということだ
Javaとかもう消えそうだな Perlの開発者コミュニティは最強だけどな。ま、ユーザはPHPが一番多いけど、そのほとんどはPHPしか使えない雑魚ユーザだから。 オープンソースウェブアプリならPHP
Javaとか使われていない。 XOOPSとかああいうのは、暇さえあればどんな底辺PGでも作れるもんだから。 JavaはPHPに比べて難しくレンタルサーバー等では使えないことが多いので
一般の人の目に触れることは少ないけどWeb系の仕事ではPHPに肩を並べる2強の一つだよ。
待遇はJavaが圧倒的で、面白いように企業が釣れます。
就職エージェントに頼るようなケースではPHPが出来るということはほとんど評価されません。 元レスから遠くなったが、Java/C#は、デザイナーが腰掛でやるもんじゃない。
CMSの設置や、ちょっとした掲示板程度ならPHPで十分。
がっつりやるなら、以下略。 >>311
それってJava servletとか、tomcatとか? 従って、ウェブアプリ専用言語なPHPは底辺確定と言える。 いままさに転職で就活してるが、PerlとかPHPとかできますって言っても
「PHP()笑ですか。Javaとかできますか?」って言われるわww
ちなみにPerlの話題なんて微塵もでません。言っても「へぇ…」程度
あんまりJavaJava言われるから、Javaのコードすら書いたことないのに
いま勉強中です!資格取得めざしてます!!なんて言うようにしてみたら
Javaでちょっとコード書いてきて見せてとか言われてしまって、
そこで初めてJava触ったけど
MVCアーキテクチャとかっていうやつだっけか。たしかにこれは面倒だなw
仕事でいろいろ分業するのにはこういう作りはすごくよさそうだけど
個人で趣味でやるならPHPで十分目的は達成できるしPHPでいいだろうな OSとか開発言語なんかがもっともスキル要求さるるだろ。
後はデバイスドライバとか。
はてなの伊藤直也も雑誌やブログで取り上げるのはシステムプログラミングばかりになったけど、ウェブはすぐ飽きるというか、することなくなる。
ウェブは文字列加工するだけだからアルゴリズムとか関係ないから。
Windows + Apache + PHP + MySQL
でまずWEBアプリを作ってみるのが良いのでは?
ネット情報は断片的だから本を買って読もう
「組み合わせで作って覚える本」→「それぞれのソフトの解説書」→「それぞれのソフトの辞典」
て順番かな?
ウェブでダウンロードできるPDFの書籍なんかで良いの有ったかな? >Windows + Apache + PHP + MySQL
たぶん環境作るところでかなりの人がつまずく >>321
ApacheはともかくPHPの設定ってめんどいからね〜
って、そんなところを言ってる訳じゃない?? WinをLinuxに変えたほうが簡単になる気がしてならない
Linux環境のほうが情報も多いし WAMPでいいじゃん。普通に入れても5分で終わるぞ。 EeePC901に
Apache + MySQL + PHP
をインストールし終わった・・・
これで外でも製作が出来る >>321 → パンピーのレベルがいかに低いか悟っている奴
>>322 → 頭が悪いので何を意図しているのか分からずKYな奴
>>323 → わかっていつつ皮肉を言ってしまうやんちゃな奴
>>324 → 頭が良いが周りの配慮に欠ける技術者タイプ
>>325 → お人好しタイプ。人から慕われるが技術力は低い
>>326 → 可もなく不可もなし どこにでもいるタイプ
>>327 → 寡黙、変態 サシで飲むと意外に良い奴だと思わせる
>>328 → カス
>>329 → 今の政治に絶望している より便利な新しい条件分岐やループの文って何かないかな プログラミング言語の根本を変えたいとおっしゃるかw どの言語やっても分岐とループはほぼ変わらないからなw
それ以上いいものを発明し世に出せれば革命がおこせるんじゃねww 色々考えてみたけど既存の構文や概念の焼き直しにしかならない
意外と難しいな PHPの動作確認のページが
Not Found
The requested URL /phpinfo.php was not found on this server.
Apache/2.0.63 (Win32) PHP/5.2.6 Server at localhost Port 80
と出てしまいます。どなたか教えていただけませんか? 仕事でも趣味でも使えるがいつまでたってもいい加減な部分がのこってるPHP
覚えておいて損はしないが仕事では早々使うことがない旧時代の産物Perl
まー趣味でWebprogやる程度ならPHP一択 なぁ?PHP5.3からnamespaceが使えるようになるらしいけど、
そうなるとPEARのコーディング規約って変わるかね?
(クラス名は継承しているクラスをアンスコで繋げる奴)
どうでもいいけどアンスコという略し方は初めて聞いた PHP:センター
Perl:ライト
Ruby:レフト
Java:ショート
C/C++:キャッチャー
VB:ファースト
C#:サード
野球の守備位置にたとえるとこんな感じだ。 訂正
PHP:センター
Perl:ライト
Ruby:レフト
Java:ショート
C#:セカンド
C/C++:キャッチャー
VB:ファースト
Python:サード
ちなみに野球では守備位置の重要度は
キャッチャー>ショート>=セカンド>>サード>センター>=ライト>ファースト>レフト
みたいな感じ