X



【勉強するのは】PHPとPerl【どっちが最初?】
0001nobodyさん
垢版 |
2006/07/13(木) 16:36:16ID:Rs7Ov+hW
この夏何かプログラミングの勉強をしてみたいと思ってる。
C++ だの VBだのみたいなプログラムより、
PHPやCGIのようなウェブアプリを書いてみたい。
そこで特にプログラミング経験のない香具師にとって
WEBプログラムの勉強をするのは
PerlとPHPどっちが最初のほうがいいと思う?
作りたいものとしてはまず自分で
掲示板とかカウンターとか作ってみたい。
0152nobodyさん
垢版 |
2006/10/02(月) 23:17:46ID:???
使い捨て、というのは、作業が終わったらそれっきりだから、使い捨て、なんですよ。
0153nobodyさん
垢版 |
2006/10/05(木) 12:37:49ID:YBetcER1
別にコンパイルしなくてもいいけど、
コンパイルすると速くなるスクリプトってできないの?
0154nobodyさん
垢版 |
2006/10/05(木) 13:27:11ID:???
perlはできるんじゃなかったっけ?
perlccだかそんな感じので。
普通にSpeedyCGI使った方が早いらしいけど。
0155nobodyさん
垢版 |
2006/10/06(金) 03:06:52ID:???
perlccはバイトコードに変換してるだけだよ。
JITが近いんじゃないかな。
0156nobodyさん
垢版 |
2006/10/06(金) 12:26:43ID:+gbKrCLN
Perlのサブルーチンへの引数の渡し方が、
サブルーチン内部でのshiftとかって、恥ずかしくないんですか!?
0157nobodyさん
垢版 |
2006/10/06(金) 15:55:40ID:???
$_[0]とか$_[4]とかを直接使うのはやだぞw
0158nobodyさん
垢版 |
2006/10/06(金) 16:01:10ID:???
そういう渡し方しかできないのが恥ずかしいんです!!
関数内部でわざわざ展開しなくちゃいけないなんて・・・
0159nobodyさん
垢版 |
2006/10/06(金) 18:26:38ID:???
ヒント:シェルスクリプト
0160nobodyさん
垢版 |
2006/10/06(金) 22:04:58ID:???
それは考え方次第では。
確かにメソッドのオーバーロードができたりすることにメリットもあるが。
俺はfunc_get_args()なんて使う方がよっぽどダサイと思うけど。
0162nobodyさん
垢版 |
2006/10/12(木) 21:32:24ID:kFC7akCL
最近、本屋のPHPのスペースが激減してるよ。
人気も廃れてきたようだ。
Perlはしぶとく残ってるけど。
ウチの近くの本屋はPerlが再逆転してPHPを抜かしてた。
あと、SQLのスペースがすごい勢いで増えてるね。
0163nobodyさん
垢版 |
2006/10/13(金) 13:09:37ID:???
近所にある駅前のデカイ本屋もPHPが少ない。売れてナインかな!?
(Perlも少ないかも)

Rubyは一通り最新刊本が揃ってましたw
0165nobodyさん
垢版 |
2006/10/31(火) 01:07:47ID:???
PerlとJavaScriptがわかるなら、
Rubyなんて、コマンド本があればすぐ使える罠
0166nobodyさん
垢版 |
2006/11/05(日) 17:05:12ID:???
結局みんなが薦めているのは自分が得意な言語な気がする。
0168nobodyさん
垢版 |
2007/09/07(金) 12:13:17ID:xNekYsAF
今となっては、PerlがPHPを逆転することはないだろう。
0169nobodyさん
垢版 |
2007/09/07(金) 18:05:01ID:???
Cから入れとか言ってるやつ何なの?
全くの未経験者にいきなりCやらせても専門行ったようなやつになるだけ

Python置いときますね
0170nobodyさん
垢版 |
2007/09/07(金) 23:28:18ID:???
最近よくRubyという言葉を目にするけど、
どこに優位性があるのか、よくわからん。
0171nobodyさん
垢版 |
2007/09/08(土) 01:01:35ID:???
RubyがPHPの10倍素晴らしい言語だとしてもシェアではPHPの10%も取れないだろうな
0172nobodyさん
垢版 |
2007/09/08(土) 01:05:51ID:???
RubyはRuby on Railsがでてやっと知名度があがったからな。
バージョン1.0が2005年12月だって。
まだ2年だもんなぁ。
PHPに比べて使えるサーバー少ない。
0173nobodyさん
垢版 |
2007/09/08(土) 01:49:34ID:???
そこら辺は関係ないよ。
初心者でも扱えかつ要件を満たせてmod_phpのような高速で動く方式がスタンダード
これらの要素が備わってないと。言語仕様は初心者取り込みと相反する部分があるから二の次。
敷居がPHP同等もしくはそれ以上低くて言語仕様もしっかりしているものがあったら逆転できるかもしれないけど。
意外とJavascriptがその位置に近い気がする。
0174nobodyさん
垢版 |
2007/09/08(土) 02:47:40ID:???
Javascriptはなにげにややこしい。クライアント環境に依存するし。
0175nobodyさん
垢版 |
2007/09/08(土) 08:58:35ID:???
しょっぱなからPHPとか難しくないですか?
CとかJavaで基本的なことできるようになってからのほうがよくない?
0177nobodyさん
垢版 |
2007/09/08(土) 10:04:57ID:???
>>175
何その遠回り…
素直にPHPから入った方が良いとおもうぞ。
カウンターや掲示板なんてPHPで簡単に作れるし、
PHP対応のレンタルサーバーもたくさんある。
0178nobodyさん
垢版 |
2007/09/08(土) 12:47:14ID:sxL4DOGK
WebProgとしては、phpからだけど、プログラマーとして長い目で見たら、C/C++から。
ただ、現状でC/C++の高度なエンジニアになるのは難しい。
俺はC/C++から入ったから、JAVAもPerlもPHPもRubyも楽勝だった。
0179nobodyさん
垢版 |
2007/09/08(土) 13:12:21ID:fXVTs4ZJ
じゃあPHP入門教室でPHPからやりまっす
0181nobodyさん
垢版 |
2007/09/08(土) 13:59:11ID:???
PHPはエラー行がブラウザで表示できるのでデバックしやすかったのですが
Perlのデバッグってどのように行うのですか?
0182nobodyさん
垢版 |
2007/09/08(土) 14:29:03ID:???
perlも変数をダンプしたりできるけど、mod_phpのインストールの簡単さも含めて、phpより手軽な言語、実行環境はない。
0183nobodyさん
垢版 |
2007/09/08(土) 17:24:47ID:???
エラー出力:use CGI::Carp qw(fatalsToBrowser);
変数ダンプ:use Data::Dumper; print Dumper $val;
コアモジュールだからインストールしないで使えるよ。

PHPで簡単に出来るのにアレ出来ね〜と思ったときに便利なモジュール
DB接続:DBI
画像生成:Image::Magick or GD
mbstring→Jcode or Encode
smarty→Template

初めに学ぶのならPHPから入ると当然だと思ってたことが通用せず
他の言語に対して拒否反応する奴が多いから私はPerl、出来ればCがいいと思うな。
PHPだとポインタやスコープ等の基本的なことも覚えられないし。
0184181
垢版 |
2007/09/08(土) 20:31:55ID:???
>>181-182
やはりPHPは他言語と較べても扱いやすいのですね。
実はPerlも書けるようになりたいと思っていたのですが、Internal Errorのみで
困っていたため、質問させて頂きました。

今後のPerl学習の参考にさせていただきます。

ありがとうございました。
0185nobodyさん
垢版 |
2007/09/09(日) 10:12:55ID:???
phpってエディタ何使えばいいですか?
0186nobodyさん
垢版 |
2007/09/09(日) 10:48:18ID:???
10日で覚えるPHP5入門教室の次は何やればいいですか?
0187nobodyさん
垢版 |
2007/09/09(日) 11:35:23ID:???
掲示板作ってください
0191nobodyさん
垢版 |
2007/09/10(月) 07:20:50ID:???
なんかいい本とかHPとかないですか掲示板つくるための
0193nobodyさん
垢版 |
2007/09/11(火) 16:48:48ID:STk5D3wI
>>183
ポインタは覚えられませんが、 スコープは覚えられます。
0194nobodyさん
垢版 |
2007/09/11(火) 17:14:48ID:???
Perlのリファレンスはポインタと同じようなもの。C学習者がポインタが分からず離脱するように、Perl学習者もリファレンスを理解できるかどうかが最初の壁。
0195nobodyさん
垢版 |
2007/09/11(火) 18:58:45ID:???
Perlでリファレンス(ポインタ)を使う場面は少ないと思うが?
0196nobodyさん
垢版 |
2007/09/11(火) 19:02:44ID:???
まさか。
Perlを知らないのかも知れないけど。
PHPのarray(1,2,array(3,4))は、Perlだと(1,2,[3,4])。(1,2,(3,4))とは別物だよ。
0197nobodyさん
垢版 |
2007/09/12(水) 01:49:37ID:???
Perlは関数の引数は配列しか受けれない変態仕様だしね。
でリファレンスといえば使い慣れてくると
$var = [
 {
  name => 'taro',
  age => 28,
  child => [
   {
    name => 'taroJr',
    age => 3,
   },
  ],
 },
 {
  ............
 },
];
こんな感じになってアロー演算子ばっかになる奴を何度か見た^^;
PHPは意識しなくても言語側が勝手に最適化してくれるから初心者に嬉しいね。
0198nobodyさん
垢版 |
2007/09/12(水) 02:28:28ID:???
配列しか受け取れないというか、すべて配列として評価されるってことな。
確かに他の言語とは違ってるので、奇妙な感じはする。
しかし、非固定数個の引数を渡すときはそっちの方がいいだろ。
JavaとかPHPで非固定数個の引数は扱いが不自然だ。
PHPの配列がLinkedHashMapしかないことは初心者向けとしてはいいが、その分速度を犠牲にしてるしな。
0199nobodyさん
垢版 |
2007/09/12(水) 09:20:48ID:???
>>196
あーそれもポインタっていうのか。
↓こっちのことかと思ってた。
$pointer = &$source;
int* p = *s;
//↑こんな書き方であってたっけ?もう10年ぐらいCは触って無いなぁ
0200nobodyさん
垢版 |
2007/09/12(水) 14:24:25ID:???
Cとは記号が違うだけでやってることは同じ。
@a = (1,2,[3,4]);
$p = \@a;
print @$p->[2]->[0],"\n";
0201nobodyさん
垢版 |
2007/09/13(木) 12:59:49ID:???
>>200みたいな、ソース見ると萎える...

perl使いな奴らって、判りにくいソース書いて『お前、こんな簡単なのも理解できね〜のかよ!』って感じで
見下した態度がムカつく。

せめて、変数名だけでももう少し判りやすくしてくれないの?
0202nobodyさん
垢版 |
2007/09/13(木) 14:08:46ID:???
変数名はどの言語でも同じだろ、
慣習とか無視してアホな変数名つけるやつはどこにでもいる。
それより引数の受け取りであまりにもいろんな書き方ができるのが萎える。
あとオブジェクトの導入部なんとかしてほすい

($proto, @args) = @_;
$class = ref $proto || $proto;
$parent = ref $proto && $proto;
$argref = ref $args[0] eq 'HASH' ? $args[0] : {@args};
$self = bless $argref, $class;

↑こんな回りくどいコード書かなきゃならない糞言語です、Perlは

0203nobodyさん
垢版 |
2007/09/13(木) 14:35:44ID:???
>>201
PHPでも同じ事が出来てコードもほとんど一緒だよ。
deep structure、参照渡し、デリファレンスを説明するのに簡潔で分かりやすい例だと思うけど。
0204nobodyさん
垢版 |
2007/09/13(木) 22:01:29ID:???
>>201
単なるサンプルコードにそんなこと言われても。一応arrayだから@a、pointerだから$pなんだが。
それにこのコードはPerlの多次元配列操作の基本で、これが理解できないということはPerlでプログラミングできないというのと等しいんだが。
0205nobodyさん
垢版 |
2007/09/13(木) 22:03:29ID:???
>>202
子飼のブログからコードをコピペしたんだろうけど、
それは「Perlは非常に豊富で柔軟な言語機能を持ち、わずか数行でこんな多機能なオブジェクトを作れます」という解説をするために書かれた物。
実際にはそんなコードを書くことはまずない。
0206nobodyさん
垢版 |
2007/09/13(木) 22:08:08ID:???
>>203
PHPでは出来ないよ。PHPで出来るのは参照渡しだけ。
もっともリファレンスは、Perlのリストがフラットにしかデータを格納できないというデメリットでもあるわけで、PerlとPHPどっちがいいかは分からない。
ただ、より低レベルな操作が出来る(強いられる)Perlの方が結果的に表現力が高いと思う。
0207203
垢版 |
2007/09/13(木) 22:27:59ID:???
>>206
$a = array(1, 2, array(3, 4));
$p = &$a;
print $p[2][0]."\n";

$p[2][0] = 1;
print $a[2][0];
---結果---
3
1
----------
これで出来てない?
0208nobodyさん
垢版 |
2007/09/14(金) 03:16:03ID:???
#!/usr/bin/perl

use Data::Dumper;

@arr = (1,2,3);
$ref = \@arr;
undef @arr;

print Dumper \@arr;
print "----------\n";
print Dumper \@{$ref};

これの実行結果が、

$VAR1 = [];
----------
$VAR1 = [];
0209nobodyさん
垢版 |
2007/09/14(金) 03:17:57ID:???
<?
$arr = array(1,2,3);
$ref = &$arr;
unset($arr);
var_dump($arr);
print "----------\n";
var_dump($ref);

これの実行結果が、

NULL
----------
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
0210nobodyさん
垢版 |
2007/09/14(金) 13:04:25ID:???
多次元配列とか、リファレンスとかは、PHPの方が判りやすいと思う(アタマ悪りぃ折れにとっては...)。

でも、メモリー効率(?:言葉合ってるか?)は、Perlの方がいいんだよね。

データベース絡みのプログラムすると実行パフォーマンス気になる。
0211nobodyさん
垢版 |
2007/09/14(金) 22:17:03ID:???
データベースがらみになると、パフォーマンスに関係する処理は、
ほとんどデータベース内で終わってしまうのであまり気にするまでもない。

phpで操作するのは画面に表示されるデータ(せいぜい100件程度でしょ?)ぐらいだから。
0212nobodyさん
垢版 |
2007/09/15(土) 01:41:09ID:???
ORマッパーとか使うと言語性能が問われるよ。
0213nobodyさん
垢版 |
2007/09/15(土) 01:51:45ID:???
何万件とやって数百m秒ぐらいの差にしかならんけどな。
0214nobodyさん
垢版 |
2007/09/15(土) 02:02:13ID:???
ORマッパーの機能による。
0215nobodyさん
垢版 |
2007/09/15(土) 03:48:43ID:???
時間かかる作業は結局SQLハードコーディングした方が早いし、
そうなるとSQLの作成センスが問われる。もう言語全然関係ねー
0216nobodyさん
垢版 |
2007/10/03(水) 20:51:37ID:L+I4Rl+L
最近、PHPを勉強し始めました。中3です。
もし、アドバイスしてくださる方が居れば、こちらへ宜しくお願いします。
http://php121.blog121.fc2.com/
0217nobodyさん
垢版 |
2007/10/05(金) 12:40:56ID:???
>>216

xampp使ってるなら、設定は殆どノータッチでOKだ。

できていないとかいうソース、文字コードどうなってる?

UTF-8でBOM付きなら、BOMを抜く。

または、成功したソースを持ってきて、そいつをベースにリネームしてPHPを書き直す。

とにかく頑張れ!
0218nobodyさん
垢版 |
2007/11/03(土) 01:03:28ID:2Hq0fwdi
ソフトウェア開発には、しばしば交わっているがたいていは分かれている、
5つの世界がある。

その5つとは:

1.パッケージ
2.インターナル
3.組み込み
4.ゲーム
5.使い捨て

スクリプト言語の得意分野は、5.
0219nobodyさん
垢版 |
2007/11/03(土) 12:45:49ID:???
インターナル ってなんだよw
素人が適当なこといってんじゃねーw
0220nobodyさん
垢版 |
2007/11/03(土) 12:46:44ID:???
ウェブサービスとサーバーいう重要な利用方法が抜けてるしな。
0221nobodyさん
垢版 |
2007/11/03(土) 18:34:38ID:4p7+M7CD
うん、この5つの分類は業界的にも意味不明だな。

スレの趣旨からすると、Perlはおすすめできんな。勉強するなら制約が
きつい言語からやったほうがいいと思う。PHPもメチャクチャ柔軟だからなぁ。
DelphiとかVBとかのほうがいいんじゃないの?
コンパイルするってやっぱ大事な気がする。
0222nobodyさん
垢版 |
2007/11/04(日) 02:31:28ID:???
>>221
それならpython
俺は萎えるけど
ぶっちゃけCでいいんじゃねーの?無難じゃね?
0223nobodyさん
垢版 |
2007/11/04(日) 11:34:21ID:???
C言語用のWebアプリ作成用フレームワークってあるの?
あるかもしれないが、ほとんどつかわれてないだろう?
そういうのは無難とは言わない。
0225nobodyさん
垢版 |
2007/11/06(火) 23:50:13ID:???
PHPはちょっとすればいろいろできるようになるから楽しい
Cは何かできるようになるまでのステップが多すぎる
Perlはソース他人に見せると嫌われる
Pythonは資料が悲しいぐらい少ない
Rubyは使えるサーバーが少ない

よってPHPが最強です^^
0226nobodyさん
垢版 |
2007/11/07(水) 15:46:20ID:???
名前空間もなく、変数がグローバルになりまくりのPHPのソースが綺麗なわけない。
0227nobodyさん
垢版 |
2007/11/07(水) 21:14:23ID:???
そりゃお前のスクリプトの書き方が汚いだけだよ
0228nobodyさん
垢版 |
2007/11/08(木) 00:09:51ID:???
> 変数がグローバルになりまくりの

わざとそうしない限り、ならないだろw
名前空間をなんか勘違いしているんじゃね?
0229nobodyさん
垢版 |
2007/11/08(木) 13:58:50ID:???
メジャーな言語でレキシカル変数じゃないのって、PHP以外だとJavaScriptくらいなもんだよなあ。
0230nobodyさん
垢版 |
2007/11/09(金) 01:57:02ID:???
phpはトップスクリプトがmainメソッドみたいなもんだろ
0232nobodyさん
垢版 |
2007/11/10(土) 11:30:19ID:???
ネットの公開領域で、ギークだの呼ばれて「天才」と持て囃されている
スクリプト言語連中の技術レベルはせいぜい自動車修理工レベル。

自動車を設計開発している連中はどこに隠れている?
0233nobodyさん
垢版 |
2007/11/11(日) 01:27:05ID:???
CとかでOSや言語作っている人だね
0234nobodyさん
垢版 |
2007/11/18(日) 16:41:40ID:???
OSを作ったところでお金にできるかどうかはまた別問題でFA
0235nobodyさん
垢版 |
2007/11/26(月) 03:49:34ID:???
そんな話してないな
0236nobodyさん
垢版 |
2007/12/01(土) 05:14:32ID:G65/6OzT
perlにしなさい。
初めてのperl オライリー

を読んでからだと、ほかのプログラム言語の本の解説のよくわからん部分や説明の間違ってるところが良くわかります。
0237nobodyさん
垢版 |
2007/12/01(土) 14:24:25ID:sHsJYYNz
>>232
やってることに大差はないよ
0238nobodyさん
垢版 |
2007/12/02(日) 03:37:09ID:8rkVEOQo
>>237
スクリプトと、プログラミング言語じゃ大分違う
0239nobodyさん
垢版 |
2007/12/02(日) 12:17:28ID:???
どう考えてもシステムにコアなプログラミングの方がレベル高いだろ。
ウェブ系PGじゃどんなに頑張っても月100万がいいとこ。
0240nobodyさん
垢版 |
2007/12/02(日) 13:04:14ID:???
perlのuseUTF8に超苦しめられた
こんな事は、PHPじゃ起きないんだろうな〜と思ったが
TMTOWTDIの暗黒面にどんどん堕ちて行くぜ
0241nobodyさん
垢版 |
2007/12/02(日) 14:06:20ID:???
そんなに苦しむような事あったっけ?
0242nobodyさん
垢版 |
2007/12/02(日) 15:08:47ID:???
Perlの継承とかAUTOLOADメカニズムのおかげで、
お呼びもしないメソッドがすっ飛んでくると、言語的な限界を感じる。
それを避けるようコーディングすると、第三者から何この汚いコード、とか思われる。
0243nobodyさん
垢版 |
2007/12/02(日) 15:10:33ID:???
>>239
人月でならJavaで100万は結構あるよ。
給料だとしたらそもそもPGで100越えは極少数でしょ。
0244nobodyさん
垢版 |
2007/12/02(日) 23:28:32ID:???
Linuxのドライバとか書けるレベルなら倍は軽く行く。
0245nobodyさん
垢版 |
2007/12/18(火) 18:00:21ID:???
ウェブ系PGって個人でやれば月100なんて簡単だけど
OSいじっても金にはならんよ。オープンソースOSの開発者のジリ貧を見れば分かる
0246nobodyさん
垢版 |
2007/12/18(火) 20:42:14ID:???
これがWebProgクオリティです
0247nobodyさん
垢版 |
2008/01/08(火) 21:27:11ID:8m9VlFVV
一通り読んでこのスレが一番良いかと。ageさせて頂きます。

特にターゲットや仕様は決まっていないのですが、業務として
掲示板やらSNSやらの様なWebのサービスを始めたいのです。
クライアント側は、JavaScriptを最近始め、prototype.jsを
組み合わせて、こちらはこれで何とかなるかなと。
サーバサイドでは、手始めにどの言語を習得すれば良いでしょうか?

C++でのソフトウェア開発は、業務として10年以上の経験アリです。
後はほとんど役に立ちませんが、アセンブラですね。
Perlは、さわり程度はやった事ありますが、難解な省略表記になじめず。
サクッと仕上げるなら、PHPが良い、との意見が多いようですが、
いずれは携帯のアプリなんかも手がけたいと思っていて、そうなるとJava?

すみませんが、ご意見お聞かせください。
0249nobodyさん
垢版 |
2008/01/09(水) 01:24:33ID:P4m5lmUy
>>247
マジレスすると、まず1番最初はPHPが無難だと思います。
PHPで飽き足らなくなったら他の言語も使い出すと思います。

私の場合は、C→Perl→Java→PHPと来ましたが、
自分の経験では、Webアプリ作成だと、利用頻度はPHP>>>Java、Perlでした。
0250247
垢版 |
2008/01/09(水) 12:26:41ID:9hmTtWFP
早速のお返事有難うございます。
やはり手始めにPHPですかね〜。
0251nobodyさん
垢版 |
2008/01/09(水) 12:37:46ID:???
C++に自信あるみたいだからJavaもPHPもすぐでしょ。
Web特有の知識を一年くらいで覚えれば
0252247
垢版 |
2008/01/09(水) 14:54:59ID:9hmTtWFP
有難うさんです。 > 251
そうですね〜プログラム自体より、Web特有の知識が大変そう(汗

それと、ちょっとスレ違いかもですが、C#ってどうなんでしょう??
レスを投稿する


ニューススポーツなんでも実況