PHP之后的下一步:Perl还是Python?

PHP之后的下一步:Perl还是Python?,python,perl,Python,Perl,它似乎已经被问了很多次,但事实上并没有。我做了研究,现在我渴望听到别人的意见 我有使用PHP5的经验,包括函数式和面向对象的编程方法。我创建了一些功能极简的网站 专业人士可能同意PHP不是一种鼓励良好开发习惯的编程语言。(我认为这不是该工具的任务,但这并不重要。)此外,它的性能也有争议,通常被认为与竞争对手相比较差 在报告中,一位来自波兰的开发人员问他应该学习什么语言来提高自己的技能。Jeff和Joel建议他们中的每一个人都会有所帮助,尽管有一些具体的方法在某些方面更好。 尽管他们提出了一些很好

它似乎已经被问了很多次,但事实上并没有。我做了研究,现在我渴望听到别人的意见

我有使用PHP5的经验,包括函数式和面向对象的编程方法。我创建了一些功能极简的网站

专业人士可能同意PHP不是一种鼓励良好开发习惯的编程语言。(我认为这不是该工具的任务,但这并不重要。)此外,它的性能也有争议,通常被认为与竞争对手相比较差

在报告中,一位来自波兰的开发人员问他应该学习什么语言来提高自己的技能。Jeff和Joel建议他们中的每一个人都会有所帮助,尽管有一些具体的方法在某些方面更好。 尽管他们提出了一些很好的观点,但对我没有多大帮助

从初学者的角度来看,Perl和Python之间没有一个可能看不到(纠正建议)许多差异。我希望你们强调他们的长处和短处,并列举一些独特的服务

当然,这是不公平的,因为我还可以同时检查它们。所以这是我的愿望和要求,以帮助你帮助我

首先,我想遵循OOP结构,并从根本上使用它。我部分计划了使用MySQL和XML的多用户CMS,所以实现越大越好。由于其可预见性,字符串操作将被大量使用

如果没有太大的差异,比较应该首先提到语法和其他无关紧要的小细节

因此,我的问题是:我应该先尝试哪一种——Perl | Python


结论 Perl和Python都有自己的粉丝,这很好。我要说的是,我很感谢大家的参与——没有任何火焰战争的痕迹

我接受了最有价值的答案,尽管下面有很多很棒的小文章。正如人们经常建议的那样,我将首先使用Python。然后我稍后将尝试Perl。让我看看哪一个更适合我的想法

在我的特殊CMS的开发过程中,我将询问更多关于编程的疑问——因为开发人员现在可以相互依赖了!多谢各位

编辑:有人建议选择Ruby或Java。Java实际上让我失望了。也许它有很棒的功能,也许它没有。我不喜欢用它


此外,我被告知要使用Ruby。到目前为止,与我交流的大多数开发人员对Ruby的看法都很差。我将亲自查看,但这是我优先级列表中的最后一个元素。

我会选择Perl。在这里并不是每个人都同意我的观点,但它是一种非常适合系统管理工作的优秀语言,它会让您接触到更多的函数式编程结构。对于学习如何在给定任务中使用最少的代码来说,它也是一种很好的语言


但是对于您提到的使用场景,我认为PHP仍然是您最好的选择。Python确实有一些很棒的web框架,但是,如果你只是想尝试一种开发web应用程序的新语言,那么Python可能是你的赌注。

老实说,我的“大部分”编程都是用Perl和PHP编写的,我最近决定用Python编写我的最新项目,我必须承认,用Python编程非常好。我一直在犹豫不戴牙套,因为这是我一直在做的事情,但它真的很干净。不过,最终,您可以使用这三种语言制作出优秀的web应用程序,但如果您执意放弃PHP尝试新的东西,我建议您使用Python和Django框架

我没有Python方面的经验。我强烈保证要学习Perl,这不是出于消耗,而是因为在这个平台上有很多东西需要学习。Perl的关键概念是:照我说的做(),而且有多种方法可以做到()。这意味着,假设如果问题得到充分解决,通常不会有错误的方法来处理问题

从学习Perl的基础语言开始,然后扩展到学习关键的Perl模块,如IO::File、DBI、HTML::Template、XML::LibXML等,这些都是您的资源。将是你的向导。几乎所有有用的东西都可能会发布一个模块

请记住,Perl是一种动态的、松散结构的语言。Perl不是实施严格的OOP标准的平台,但有充分的理由。你会发现这种语言非常灵活


Perl在哪里使用?如前所述,系统管理员大量使用它。您仍然可以通过简单的CGI或MVC框架来制作出色的web应用程序。

作为一名Perl程序员,我通常会说Perl。但是来自PHP,我认为Perl太相似了,实际上你不会从中得到太多。(这并不是因为没有太多东西要学,而是您可能会使用与PHP编程相同的风格在Perl中编程。)

我建议使用完全不同的语言:Haskell(由Joel提出)、Lisp、Lua、JavaScript或C。这些语言中的任何一种都会让你以全新的方式看待世界,从而成为一名更好的程序员

但在此期间没有理由停止学习PHP


为了更好地了解这些语言的阴暗面,我衷心推荐:

我很少使用Python,但我可以告诉你为什么我在使用Perl时不喜欢它

  • OO支持感觉像是被钉住了。perl中的OO与我使用过的其他语言(包括PHP、Java和C#)中的OO支持非常不同
  • TMTOWTDI(有多种方法可以做到这一点)。理论上是个好主意,但实际上却是个糟糕的主意,因为它降低了代码的可读性
  • Perl使用了很多神奇的符号
  • Perl不支持命名函数
    sub mySub {
        #extremely common to see in Perl, as built-ins operators operate on the $_ scalar or @_ array implicitly
        my $arg1 = shift;
        my $arg2 = shift;
    }