x经问题: Why choose Ruby or Python over PHP for web development?
昨天整了一天的环境,想学习下django or sinatra.
结果整到最后,我问自己为什么要这样做? php不也挺好的?
框架要开发效率, 我会laravel啊.
有人说laravel的代码很乱,搞了半天,愣是没弄懂它那个facade是啥回事... 在图书馆里看了一整年的j2ee的我,倒是觉得laravel很熟悉. 于是,我抛弃掉20多年历史的MVC, 借助namespace弄个package, 各种services, validators, repositories,events,etc,.全部分开来, 注册ServiceProvider,通过ioc注入实例,再搞搞phpunit. 看着自己的代码, 觉得好有成就感. 这才是高聚合低耦合! 就是操作起来比较麻烦, 要创建很多文件, 貌似这样就不算是效率了...
还有, laravel这东西本身就是一个个包组成的. 比如我用自己的前端替代wordpress前端时,就是只用他的router和database.
框架要性能, 我可以搞phalcon. 这个没用过就不扯了.
包管理,有composer. 多亏了FIG这个非官方小组, 出了psr标准! 我觉得composer算是php的一个里程碑吧. 只有一个问题, 国内的速度........
php本身很慢!! 前有hhvm, 后有hippyvm, 官方又要搞个PHPNG. 哦, 5.5还自带了个opcache.
需要non-blocking? reactphp
......
为什么startup,尤其国外, 会选择python或ruby作为开发语言呢? 我个人觉得就是因为php太流行, 程序员良莠不齐. php命名不规范,我反而觉得,不是个多大的问题.
你们的想法呢?
我左思右想, 如果给我一个理由放弃php, 而以python或ruby为生, 那就是php程序员工资低......
开放性问题,靠谱都会给赞.
回复内容:
昨天整了一天的环境,想学习下django or sinatra.
结果整到最后,我问自己为什么要这样做? php不也挺好的?
框架要开发效率, 我会laravel啊.
有人说laravel的代码很乱,搞了半天,愣是没弄懂它那个facade是啥回事... 在图书馆里看了一整年的j2ee的我,倒是觉得laravel很熟悉. 于是,我抛弃掉20多年历史的MVC, 借助namespace弄个package, 各种services, validators, repositories,events,etc,.全部分开来, 注册ServiceProvider,通过ioc注入实例,再搞搞phpunit. 看着自己的代码, 觉得好有成就感. 这才是高聚合低耦合! 就是操作起来比较麻烦, 要创建很多文件, 貌似这样就不算是效率了...
还有, laravel这东西本身就是一个个包组成的. 比如我用自己的前端替代wordpress前端时,就是只用他的router和database.
框架要性能, 我可以搞phalcon. 这个没用过就不扯了.
包管理,有composer. 多亏了FIG这个非官方小组, 出了psr标准! 我觉得composer算是php的一个里程碑吧. 只有一个问题, 国内的速度........
php本身很慢!! 前有hhvm, 后有hippyvm, 官方又要搞个PHPNG. 哦, 5.5还自带了个opcache.
需要non-blocking? reactphp
......
为什么startup,尤其国外, 会选择python或ruby作为开发语言呢? 我个人觉得就是因为php太流行, 程序员良莠不齐. php命名不规范,我反而觉得,不是个多大的问题.
你们的想法呢?
我左思右想, 如果给我一个理由放弃php, 而以python或ruby为生, 那就是php程序员工资低......
开放性问题,靠谱都会给赞.
初创公司需要快速做出可用的产品,ROR在速度上有绝对的优势。
仅此而已。
如果现在这个时间点来选,个人觉得Ruby和Python不是一个好选择。既不如PHP使用广泛,也不如GO/NodeJS革新。顺便说句,我们拍卖的PHP程序员工资可一点都不低……
如果搞web,继续php吧。从不觉得php性能是个问题,以后更不会。
写了两个月的laravel,发现很强大。。。入门比较高。。搞起来还是不错得。。
诚然php有好的代码,但是Rails更鼓励人们写好的代码,php不是。拍黄片这个名字不是白叫。
首先:
任何一个做web开发3年以上的人员,都可以轻松将php替换为如下:python,ruby,go,node...
其次:
如果学习过其它语言,会发现php这门语言很混乱,不光是表面的函数调用,而且内部机制没有一个明显的对象模型,无法给人一种:"我只要了解了这个语言的对象模型,任何代码都能看得懂",这种自信的感觉,没错,我说的就是js或者ruby的对象模型...
最后:
写php真的不会想写出好代码,而ror的DRY原则,则是最基本的提醒,有总比没有好,更不用说写单元测试了
喜欢python不喜欢ruby,学了挺长时间的python 3,后来学了一点框架,webpy,django,tornado都入门了,然后后来发现国内好多公司用的都是python 2.× ,但是我想写2.x的代码,所以后来决定学了nodejs。。。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Alternative Verwendung von Python -Parameteranmerkungen in der Python -Programmierung, Parameteranmerkungen sind eine sehr nützliche Funktion, die den Entwicklern helfen kann, Funktionen besser zu verstehen und zu verwenden ...

Wie lösten Python -Skripte an einem bestimmten Ort die Ausgabe in Cursorposition? Beim Schreiben von Python -Skripten ist es üblich, die vorherige Ausgabe an die Cursorposition zu löschen ...

Auswahl der Python-plattformübergreifenden Desktop-Anwendungsentwicklungsbibliothek Viele Python-Entwickler möchten Desktop-Anwendungen entwickeln, die sowohl auf Windows- als auch auf Linux-Systemen ausgeführt werden können ...

Erste Schritte mit Python: Hourglas -Grafikzeichnung und Eingabeüberprüfung In diesem Artikel wird das Problem der Variablendefinition gelöst, das von einem Python -Anfänger im Hourglass -Grafikzeichnungsprogramm auftritt. Code...

Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Bei der Programmierung stoßen wir häufig auf das Problem der Rückgabe von Nullwerten, wenn API aufruft, was nicht nur verwirrend ist ...

Die Untersuchung von Rissverifizierungscodes unter Verwendung von Python in täglichen Netzwerkinteraktionen sind ein häufiger Sicherheitsmechanismus, um eine schädliche Manipulation automatisierter Programme zu verhindern ...
