为什么 PHPer 应当学习 Golang .

1 篇文章 0 订阅

熟悉我的朋友应当知道,近些年的大部分时间我的工作都会多少和 PHP 相关。随着 PHP 有着越来越深入的了解,以及遇到越来越多的不同业务时,使用 PHP 总会让我有一种莫名的无力感。当然,并不是我一个人在使用 PHP 的时候遇到了问题。事实上,每个略微有一些经验,接触过一些需求的人都会有同样的困惑。各种配合 LAMP(或者LNMP?)架构的后端技术也因此被发明或被发现,进而整合到 PHP 的开发的技术体系中。从简单的 Memcached作为数据中转,cron 后端定时处理;到 Gearman、RabbitMQ 这些队列神器;最近 Laruence 甚至封装了利用 libcurl 的异步特性实现并发 RPC 调用的 yar 扩展。几乎整个社区都在寻找 PHP 的摩西之路。
好吧,说了一大堆,回归主题。之前我写了一篇英文练笔《Why you PHP guys should learn Golang》,获得不少国际友人的关注。排除拼写和语法被他们诟病外,主要是有许多朋友觉得我没把事情说清楚。所以这里我用母语重新聊聊这个事情,只是这些国际友人什么时候能学会阅读中文呢?;)
Go 或者 Golang,是由 Google 支持的快速、一致、稳定的,有活跃的社区支持的开源编程语言。越来越多的应用选择使用 Golang 进行构建。虽然 Rob Pike 说“… 我们希望 C++ 程序员来了解 Go 并作为一个可选的语言 …”,不过我真得认为:PHPer 应当学习 Golang! 接下来我们就来谈谈原因。

容易学习
PHP 相当容易学习。Golang 也是!
在这点上,一群大老外对我的观点进行了猛烈的抨击。他们认为我羞辱了 PHPer,说得好像只有简单的东西 PHPer 才能学会一样。但是,这难道不是事实吗?或者换个说法:像我一样的喜欢 PHP 的人,或多或少都会更喜欢简单的东西。
PHP 的语法接近 C 族编程语言(C/C++/Java等等)。如果有这些语言的经验,在第一次遇到 PHP 的时候立刻就能开始上手编写代码。在我看来,编写 PHP 代码或许更加考验程序员的记忆力,而不是智力(当你面对各种不同风格的函数定义、各种扩展的特殊约定时,你一定会相当认同我的观点)。
Golang 同样是一个 C 族编程语言。呃,或者有一些不同吧。例如关键字 “for”,功能上和 PHP 的接近,但是没有括号。条件语句 “if” 同样无需括号。可以阅读 Effective Go 了解更多内容。
Golang 只有 3025 个关键字和 47 个操作符号、分隔符号或其他特殊标记。记住这些标记确实不需要什么特别的努力。精巧的类型系统相当容易使用。实用的,具有方法的结构体类型代替了笨重的对象系统。接口的设计是 Golang 中我最喜欢的部分。当完成了《Go 指南》的学习之后,利用 PHP 积累的经验,立刻就可以开始使用 Golang 处理一些简单的任务。
容易使用
PHP 脚本是由 SAPI 组件进行解析执行的,如 Web 服务器模块、PHP-FPM 或者 CLI。部署 PHP 所需要的全部东西就是一个 SAPI 环境。配置这个环境对于新手来说可能是学习 PHP 过程中最为困难的部分。
所有的 Golang 代码会编译和链接为本地码。所以除了编译环境,执行时无需再为其进行任何特别的部署。对比 PHP 环境的配置,这要简单很多。你真得认为配置 PHP 环境很复杂吗?我不觉得,真的!而配置 Golang 编译环境比那还要简单点。
我确信已经有大量的 Golang 相关的书籍、文章介绍过如何进行编译环境的配置了。为了更加清晰,我这里梳理一下思路。
有三个步骤需要处理:
下载 Golang 的源代码;
根据《[翻译]Go 环境设置》的提示设置环境变量;
运行源代码 src 目录中的 all.bash。
或者一步到位:使用二进制包进行安装。
然后就会得到一个叫做“go”的工具集合。使用“go”工具和使用 PHP 的 CLI 工具一样简单。《[翻译]go 工具》对此进行了详细的解释。
PHP 的迷思
如果一个编程语言容易学习和使用,我们是不是就应当学习它呢?有许多容易学习和使用的编程语言。难道要把它们都学一遍?答案是显然的:NO!
但是为什么 PHPer 应当学习 Golang 呢?只是因为它很酷!是的,我在开玩笑,但是这是真的。无论如何先从 PHP 自身谈起吧。
PHP “原本是为了开发动态的 Web 页面而设计的服务器端通用语言(Wikipedia)”。PHP 一个重要的特性就是可以嵌入到 HMTL 中。代码编写在“

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一个PHP开发人员,以下是一些你可以学习和提升自己的建议: 1. 深入学习PHP语言:不断深入学习PHP语言本身的特性和功能,包括掌握PHP的高级特性、面向对象编程、异常处理、命名空间等。阅读官方文档、参考书籍以及在线教程,可以帮助你更好地理解和应用PHP。 2. 掌握PHP框架:学习和熟练掌握流行的PHP框架,如Laravel、Symfony、CodeIgniter等。框架可以提供更高效和可维护的开发方式,并且具有许多常用功能和最佳实践。通过使用框架,你可以加快开发速度并构建更高质量的应用程序。 3. 学习前端技术:作为一个PHP开发人员,熟悉前端技术(如HTML、CSS、JavaScript)是非常有益的。这样你可以更全面地开发Web应用程序,实现更好的用户体验。学习流行的前端框架(如React、Vue.js)也是一个很好的选择。 4. 掌握数据库技术:数据库在Web开发中起着重要作用,所以掌握数据库技术对于一个PHP开发人员来说是必不可少的。学习SQL语言,了解关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的使用和优化技巧。 5. 参与开源项目和社区:积极参与开源项目和社区,与其他开发者交流和分享经验。通过参与开源项目,你可以学习到其他人的最佳实践,并有机会提升自己的编程能力。 6. 持续学习和自我提升:Web开发技术不断演进,持续学习是非常重要的。跟踪行业的最新趋势和技术,参加培训课程、研讨会和在线教育平台上的课程,保持对新技术的好奇心,并将其应用到实际项目中。 7. 开发项目经验:除了学习,实际项目经验也是提升自己的重要途径。尝试参与一些小型项目或者个人项目,通过实践中不断积累经验和解决问题,提高自己的编码能力和技术水平。 总之,持续学习、实践和参与社区是提升自己作为PHP开发人员的关键。不断提升自己的技术能力,关注行业发展趋势,扩展自己的技术广度和深度,将有助于你在PHP开发领域取得更好的成绩。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值