Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该先学习Perl或PHP进行开源web开发吗?_Php_Perl_Lamp - Fatal编程技术网

我应该先学习Perl或PHP进行开源web开发吗?

我应该先学习Perl或PHP进行开源web开发吗?,php,perl,lamp,Php,Perl,Lamp,我一直在与微软的堆栈,并希望获得一点经验与替代堆栈,如灯,在我的业余时间 LAMP中的p通常是“PHP”,但可以是Perl(或Python,但我认为Perl或PHP高于Python)。我倾向于Perl,因为它看起来在其他应用程序中很有用,而且Perl似乎比PHP“更聪明”和“更好” Perl的优点: 更好的声誉。PHP因其糟糕的设计决策和大量糟糕的程序而名声不佳 可用于非web程序 似乎有更多的人喜欢Perl,但即使是PHP社区也对PHP不冷不热 PHP的优点: 已经安装PHP的Web服务

我一直在与微软的堆栈,并希望获得一点经验与替代堆栈,如灯,在我的业余时间

LAMP中的p通常是“PHP”,但可以是Perl(或Python,但我认为Perl或PHP高于Python)。我倾向于Perl,因为它看起来在其他应用程序中很有用,而且Perl似乎比PHP“更聪明”和“更好”

Perl的优点:

  • 更好的声誉。PHP因其糟糕的设计决策和大量糟糕的程序而名声不佳
  • 可用于非web程序
  • 似乎有更多的人喜欢Perl,但即使是PHP社区也对PHP不冷不热
PHP的优点:

  • 已经安装PHP的Web服务器比安装Perl的Web服务器多
  • 因为一些与web有关的架构问题已经为您解决,所以入门更容易
  • PHP是一种流行的语言,目前在internet上的大多数站点都使用它
  • 了解PHP似乎更适合我的工作

因为这个社区似乎更关注微软和Java,这就是我的出发点。我对你的观点很感兴趣。

对于web开发,我想说清楚PHP,因为它与数据库的集成更好,而且是为web设计的。不要忘记,几乎所有webhosts都支持PHP,其他语言则不支持PHP


但是,如果有这个选项,那么考虑到现在所有可用的框架,Python可能是一个更好的选择,但是从托管的角度来看,PHP很容易找到,除非您是从自己的服务器托管的。

如果您想进入开源,为什么不继续在Microsoft堆栈上运行呢

试试这里:

正如在的评论中指出的,您甚至可以在继续使用Microsoft堆栈的同时尝试其他“开源”语言


Perl:


蟒蛇:


编辑: 由于您更改了问题,我将补充您也可以使用LAMC堆栈:


你为什么不看看你感兴趣的开源项目,并据此做出决定呢?我不认为用另一种方式做这件事特别聪明。

这是个人的决定,你为PHP所说的优点将促使我选择PHP而不是Perl。但那只是我。有些人真的很喜欢PHP,但我认为大部分情况下你是对的,他们对PHP不冷不热。但这并不意味着没有好的PHP网站。

PHP是一种非常流行的语言,有着可怕的声誉,因为许多设计决策诱使未经训练的人在代码中犯下计算机科学错误。PHP允许用户轻松地混合HTML和域逻辑,这显然是计算机科学的一大禁忌。这既是PHP易于使用的原因,也是它被认为如此糟糕的原因。如果您是一名优秀、训练有素的程序员,您可以使用PHP应用良好、干净的编程实践

Perl正在迅速衰落,在现代web应用程序中使用得不多。有很多Perl纯粹主义者,但我知道有太多人嘲笑Perl的语法,就像他们嘲笑PHP一样


PHP是一种特定于域的语言,Perl不是。PHP包含了许多很好的特性,您可以从.NET环境中使用这些特性,比如验证和清理输入,以及通过ORM轻松处理数据库。Perl在本机实现这一功能方面没有太多的优势,因此使用Perl处理框架或web编程库几乎总是比较容易的,这与使用其他常见CGI语言(如Python和Ruby)的情况大致相同。因此,如果您想进入web编程领域,如果您选择不从PHP开始,我可能会完全放弃Perl,而不是从另外两种语言中的一种开始。

如果您追求的是开源,那么请选择您想要的。
开源的自由之一是你可以用任何你喜欢的方式来做


哦,我会选择Ruby(On Rails)

这可能会让Perl程序员感到不安,但我会学习PHP。从经验来看,它的API对用户和新手友好得多,您可以更快地获得可见的结果

进入PHP几个月后,您就可以试用Perl了,它的大部分语义都很熟悉,不包括API和模块。Perl有许多快捷方式,例如“$\”可能需要一段时间才能找到

PHPAPI使用了许多C程序员熟悉的函数,您将掌握PHP5中的一些核心OO特性以及通过引用传递(您也将学习Perl中的OO编程,语法也没有太大的不同)

另外:PHP纪录片非常好。它对几乎所有的函数都有注释和注释,并且在.NET普及之前让MSDN蒙羞。它仍然让Javadoc(用于标准库)蒙羞


我的免责声明——我是以相反的方式学会的——Perl然后是PHP。Perl版本为5.x,PHP3.x到4.x。虽然我已经有5年没有使用这两种语言了,但我还是在使用的时候写了。另外,Perl 6在当时被誉为未来的救世主(看起来它还没有发布!)。

我首先要说的是PHP,因为它的传播范围更广,你会找到更多的帮助和更多的文档。部署更容易,因为99.99%的托管公司提供PHP支持


再一次,就像Itay Moav说的,我推荐Ruby on Rails。。。您将获得真正的替代/开源体验^^

为什么选择Perl或PHP?为什么不使用Python或Ruby呢?它们都有优秀的web框架,比Perl更容易学习,但比PHP设计得更好。

Perl有一系列库来处理web堆栈(包括ORM)。CPAN是你的朋友。使用Perl的最大驱动因素之一是
$args = func_get_args();
return $instance->objectMethod($args);
return $instance->objectMethod(func_get_args());
foreach (@x) {
    print $_, "\n";
}
foreach my $x (@x) {
    print $x, "\n";
}