在过去的三年里,我一直在用 python/django 和 c/c++ 编写代码,在我之前的公司中为各种基于 Web 和桌面的应用程序编写代码。在遵循一般学习曲线的同时,我开始研究像 Haskell/Erlang 这样的函数式编程语言。但是最近换了一家公司,使用的编程语言是php和Java。
切换到 python 确实改变了我以前的编码方式,主要是从好的意义上讲,然后学习 haskell 为思维过程增加了另一个维度。
我想知道是否:
学习 php 和 java(我也用 groovy/grails 做过一个项目)会像回到学习曲线上一样吗?
现在公司基本都是用smarty做模板引擎,也没有ORM,用过django有点郁闷,请问有什么办法可以把ORM之类的功能加进去吗?
假设我将在现在的公司待很长时间,继续学习 python/haskell 是否有意义?
此外,从 python 迁移到 php 的正确方法是什么?我知道这很奇怪,因为通常人们会反过来问(php 到 python)
请您参考如下方法:
如果您必须降级到 php,至少使用一个带有 ORM 的可用的良好 MVC 框架:
采纳使用该框架的好处:不要忘记在迁移到 php 时编写测试!
保持数据库/序列化对象简单明了 - 以便它们可以从其他编程语言并行访问或当您离开 php 世界时访问它们。即,不要使用 php 的
serialize(),而是使用 json、protobufs、thrift。尽量保持代码的 php 部分尽可能小,并仅限于 Web 前端 - 反对任何使用 php 创建新后端服务的尝试,它在内存管理、线程等方面不太好。如果你已经在使用 Java,您可以为此目的使用它(或引入 python...)
http://www.phpsh.org/是你的新 ipython,虽然没那么有用
如果可能,请尝试坚持使用具有命名空间和更好的内存管理的 php 5.3
