Python/Django到PHP的转换?错误的学习曲线?

Python/Django到PHP的转换?错误的学习曲线?,php,python,django,programming-languages,Php,Python,Django,Programming Languages,在过去的三年中,我一直在用python/django和c/c++编写各种基于web和桌面的应用程序。在遵循一般学习曲线的同时,我开始研究Haskell/Erlang等函数式编程语言。但最近我转到了一家公司,那里使用的编程语言是php和Java 切换到python确实改变了我过去的编码方式,主要是在良好的意义上,然后学习haskell为思维过程增加了另一个维度 我想知道: 学习php和java(我也在groovy/grails中做过一个项目)就像回到学习曲线上一样 目前的公司基本上使用smart

在过去的三年中,我一直在用python/django和c/c++编写各种基于web和桌面的应用程序。在遵循一般学习曲线的同时,我开始研究Haskell/Erlang等函数式编程语言。但最近我转到了一家公司,那里使用的编程语言是php和Java

切换到python确实改变了我过去的编码方式,主要是在良好的意义上,然后学习haskell为思维过程增加了另一个维度

我想知道:

  • 学习php和java(我也在groovy/grails中做过一个项目)就像回到学习曲线上一样

  • 目前的公司基本上使用smarty作为模板引擎,而且没有在django工作后令人沮丧的ORM,有没有办法将ORM和其他此类功能包括在内

  • 假设我将在现在的公司呆很长时间,继续学习python/haskell有意义吗

  • 另外,从python到php的正确方式是什么?我知道这很奇怪,因为人们通常会问另一个问题(php到python)

      • 如果您必须跳转到php,请至少使用一个好的可用MVC框架和ORM:

        • 更多:
      • 采纳使用框架的好部分:不要忘记在迁移到php时编写测试

      • 保持数据库/序列化对象的简单和清晰-以便可以从其他编程语言并行访问它们,或者在您离开php世界时访问它们。也就是说,不要使用php的
        serialize()
        ,而是使用json、protobufs和thrift

      • 尽量将代码中的php部分保持在尽可能小的范围内,并将其限制在web前端-抵制任何使用php创建新后端服务的尝试,因为php在内存管理、线程等方面不太好。如果您已经使用Java,您可以将其用于此目的(或intrduce python…)

      • 是你的新ipython,虽然没有那么有用

      • 如果可能,尝试使用PHP5.3,使用名称空间和更好的内存管理


      从Python到PHP的正确方式是以每小时120英里的速度直线下降。是的,我理解这一点,但将整个代码从PHP移植到Python将花费很长时间,而且对公司来说在商业上不可行,因此无论如何我都应该学习它,虽然我讨厌这种经历。不幸的是,我只能建议你找到你能找到的最大的一瓶萘普生。谢谢你。Zend已经被使用了,尽管我仍然看到人们在代码中进行原始db查询,这没有多大意义。此外,没有名称空间被认为是php的一个优点,不是吗?@Bilkubecar:名称空间很多时候是个人喜好的问题。通常python程序员喜欢它们,而php程序员不喜欢:很难驯服现有代码来使用名称空间,而且在许多php上下文中没有意义。然而,PHP5.3还有其他优点,比如匿名函数。