务实至上:“PHP之父”Rasmus Lerdorf访谈录
“PHP之父”Rasmus Lerdorf性格直接坦荡,措辞简练精辟,字里行间透着一股“务实至上”的精神气。在参加“PHP全球开发者大会”前夕,这位“实干家”接受了《程序员》采访,分享了自己的编程感悟。
工作重心
我参与的项目总与用户直接相关。我曾多年担任雅虎工程师,负责连接数亿终端用户的基础设施,这些基础设置仍在服役。而如今,我在Etsy也是负责连接百万用户的后端基础设施。技术其实只是解决问题的工具,是抽象的锤头、锯子,并没什么了不起,而真正振奋人心的是用技术提升了百万人的生活品质。
“问题”为指引
比起“计算机科学家”,“工程师”的称谓更得我心。论这两者的区别,我认为后者更专注于解决眼前的问题。之所以开发PHP,并非因为我喜爱编程或语言设计,反倒是因为不喜欢。1993年的那套编程把式,让我没法轻松迅捷地解决Web问题。于我而言,只有当遇到困难,才会翻翻书,查查资料来充实自己,技能不是为了提高而提高,我的每一个决定都是以解决问题为中心的。
经验和教训
我犯了很多错,有些事后才意识到;但也取得过好于预期的成果。最重要的经验是:解决Web问题的确应该从一开始就专注相关的整个生态系统。20年来,针对Web问题的解决方案层出不穷,而质量却参差不齐,没几个能构建起完整的生态圈,并为普通人所用。
PHP 7何处费思量?
开发PHP 7那最后10%最费时,也最无趣。不过强大的新功能和性能突飞猛进,还是让积极心态占了上风,也激励了整个团队,帮我们很快熬了过去。不过,每次更新都有做不完的测试、解决不完的平台问题,调查不完的诡异边缘情况,看不完的漏洞报告,没个尽头。
吸纳新人
我知道前不久Emacs的版本控制系统从BZR换成了Git,不过对于吸纳新贡献者,我觉得它们其实平分秋色。Git近来更受欢迎,方便蜻蜓点水式的添砖加瓦。不过对于长期的忠实贡献者,版本控制系统无关紧要。良好的文档和方便新贡献的流程才重要呢。
假如能重新设计PHP
假如时光能倒流,肯定有我希望能改进的地方,比如区分Keyword大小写。刚开始PHP不过是种HTML模板语言。九十年代初,人们争论HTML标签是该大写、小写还是大小写混合。我不想争来争去的,就把PHP的模版标签做成不区分大小写的,这个做法至今还在沿用。
JavaScript在吞噬其他语言吗?
PHP和JavaScript的演进几乎同步。我与Brendan Eich(JavaScript设计者)是同一时期开始的,他的重心显而易见是客户端,而我则是服务器。如果你写客户端应用,除了JavaScript,别无选择——浏览器支持哪种语言就得用哪种;但如果重心是服务器就很不一样了。
写客户端代码者众,所以会JavaScript的人多,而如今它在服务器这厢也开花结果了。但JavaScript跟PHP一样只是解决方案之一,而非唯一,这样挺好。就像我刚说的,语言只是解决问题的工具,不是受人膜拜的宗教。如果眼前有问题,而你更倾向于JavaScript,那么它就是最佳选择。
编程原则
只要有效、安全、够快,就发布,然后解决下个问题。三者缺一不可,否则就要回头检查代码,好抓紧时间解决下一个问题。
未来展望
关于编程语言,我还真没想过这些工具未来会经历什么,我更关心的是它们能否解决当下的问题。拿Etsy举例,作为手工工艺品网站,它能在富有的买家和穷苦艺术家之间牵线搭桥,让他们摆脱贫穷的窘境吗?我们的基础设施能帮助其他公司去应对同等重大的问题吗?我们的解决方案是否强大到一转眼客户的问题就去无踪了呢?这些才是我关心的。
过去,我不喜欢编程,现在还是不咋喜欢。我只喜欢以解决问题为中心,这点永远不变。
记者:卢鸫翔,张新慧
本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2016年程序员: http://dingyue.programmer.com.cn/

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Les longues URL, souvent encombrées de mots clés et de paramètres de suivi, peuvent dissuader les visiteurs. Un script de raccourcissement d'URL offre une solution, créant des liens concis idéaux pour les médias sociaux et d'autres plateformes. Ces scripts sont utiles pour les sites Web individuels

Laravel simplifie la gestion des données de session temporaires à l'aide de ses méthodes de flash intuitives. Ceci est parfait pour afficher de brefs messages, alertes ou notifications dans votre application. Les données ne persistent que pour la demande ultérieure par défaut: $ demande-

Il s'agit de la deuxième et dernière partie de la série sur la construction d'une application React avec un back-end Laravel. Dans la première partie de la série, nous avons créé une API RESTful utilisant Laravel pour une application de liste de base sur le produit. Dans ce tutoriel, nous serons Dev

Laravel fournit une syntaxe de simulation de réponse HTTP concise, simplifiant les tests d'interaction HTTP. Cette approche réduit considérablement la redondance du code tout en rendant votre simulation de test plus intuitive. L'implémentation de base fournit une variété de raccourcis de type de réponse: Utiliser illuminate \ support \ faades \ http; Http :: faux ([[ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

L'extension PHP Client URL (CURL) est un outil puissant pour les développeurs, permettant une interaction transparente avec des serveurs distants et des API REST. En tirant parti de Libcurl, une bibliothèque de transfert de fichiers multi-protocol très respectée, PHP Curl facilite Efficient Execu

Voulez-vous fournir des solutions instantanées en temps réel aux problèmes les plus pressants de vos clients? Le chat en direct vous permet d'avoir des conversations en temps réel avec les clients et de résoudre leurs problèmes instantanément. Il vous permet de fournir un service plus rapide à votre personnalité

L'enquête sur le paysage PHP 2025 étudie les tendances actuelles de développement du PHP. Il explore l'utilisation du cadre, les méthodes de déploiement et les défis, visant à fournir des informations aux développeurs et aux entreprises. L'enquête prévoit la croissance de la PHP moderne versio

Dans cet article, nous allons explorer le système de notification dans le framework Web Laravel. Le système de notification de Laravel vous permet d'envoyer des notifications aux utilisateurs sur différents canaux. Aujourd'hui, nous discuterons de la façon dont vous pouvez envoyer des notifications OV
