技术解析

golang 是不是云时代的 PHP ?
0
2021-06-07 11:26:44
idczone

golang 是不是云时代的 php?

傻瓜、易懂,跟着入门教程:国外服务器 https://tour.golang.org/welcome/1, 几下就能上手了。 php 人员转 golang,java 人员转 golang,c++人员转 golang,就连和互联网不搭边的 c#的工程师,也觉得用 golang 写 server 方便。


万物皆转 php
还有"和互联网不搭边的 c#的工程师"有被冒犯到

就是云时代的 php,还特喵的 zero abstract,写起来贼蛋疼

抱歉,没有诋毁的意思。我也写过 cc#,传统行业居多。

已经全员转 go ,配合 watch 文件自动编译。写起来像脚本,

php 是站长部署容易,WordPress 的占有率在那摆着

golang 是工程语言,本来就是面向工程编程。所以写起来很舒服,而且编译就是个二进制,基本上就不用像 java 那成本高,也不像 php 那么微妙。但是论生态肯定是 java 首选,论成本选 golang 确实很适合,很多人觉得 golang 垃圾,但是 js 那么多人为限制还不是前端打语言。
虽然简单,不过下限很低的写出来的代码足以跑得很快,但是 c++转 golang 就觉得大可不必,主要 golang 是 GC 语言本来对于内存调度那块就很微妙,我是觉得 rust 才是 c++工程师的首选。
而且对于 golang 学习成本低,但是想搞好,也不是那么简单就是了

足够简单,足够好用,大厂背书,有成功的超大项目,贴合开源社区。什么叫“世界上最好的语言”啊( x )

上手简单 想写出好的 go 代码还是不容易的

楼主很有觉悟

Go 还能和 zero abstract 扯上关系?


当前 rust 没有市场,c++工作本来就难找,转 rust 就更找不到了。
另外 c++转 golang 也不是不可,毕竟许多 c++应用不需要什么高性能,低成本,比如腾讯、百度那些拿 c++写业务的场景,转 golang,更能短平快的把业务写出来,老板更开心。
另外 c++人员,也会被市场推着远离 c++这条道路。原因是许多搞 golang 的公司,都喜欢 c++人员转 golang 。另外公司内部如果有 c++项目,也会在思考着把性能无关的项目转向 golang 开发。

谈谈您理解的零抽象?

遇到不在意 GC 的情况当然 Golang 首选,在乎 GC 的当然选择 rust 。我的本意就是这样

写业务还是得 php,
go 写业务太啰嗦了



我觉得 说云时代的 php 那也太贬低 golang 了吧.
部署 php 程序感觉好难受.
曾经搭过 Laravel 框架写的 onedrive 目录,
先配置 php 环境,看程序要求哪个 php 版本写的,编译安装用 lnmp,编译配置环境还要看需要什么 php 扩展,
安装 Composer,下载源码,编译(应该是编译吧,没怎么写过 Laravel 框架的),
最后写 nginx 配置,结果还是没成功跑起来.
不知道是我太菜了还是 php 部署太难.
(大佬勿喷,请放过小白)
golang 这边编译速度快,单文件直接跑,不需要什么环境依赖,简直不要太舒服.

laravel 不能代表 php,最开始 php 就是简单粗暴直接写上 echo 就行了,laravel 说实在就是抛弃 php 这种简单易用特点直接去复杂化

莱,一起数一数 lz 一次黑了几种语言?

首先说结果 ... php 和 go 显然是两个方向 ... 应用场景和功能定位都完全不同 ...
中型以上的 Web 项目对我来说使用 php 还是首选 ... 小型项目里 Go 的二进制包即传即用实在是深得我心 ...
真的 ... 语言间没有说谁是替代谁的一说 ... 各有各用 ... 多会一门语言多一条路罢了 ...
题外话 ... 我有台 32MB 内存的 VPS ... 跑了个自制的 Linux ... 只有 kernel + rootfs + Go binary ...
整个系统里没有任何我用不到的文件 ... 整洁精致 ... 而且服务跑起来内存占用稳定在 8M 上下 ...
就这个效果 ... 换其他语言 ... C 系列不论 ... 不管是 P 开头 R 开头还是 J 开头的都实现不了 ...
这时候我用 Go 写是因为我不得不用 ... 总比折腾内存强 ... 其他场景自然有其他的需求 ... 再按需选语言就好 ...

Golang 和 PHP 都是上手容易写好难,Golang 乍一看容易,PHP 是真的容易; Golang 写好难,PHP 是乱写都能跑以至于根本用不着写好。现在 PHP 黑的透透了,开始轮到 Golang 了。


部署这个看系统,linux 部署很简单,
环境只是一条 apt install 就装需要的 php 环境与拓展,不用你自己手动编译,
composer 下载 php 三方代码依赖库或者二进制 excutable,是开发时才用到,你部署时 composer 下载的东西当然已经和你的 php 代码在一个项目里,所以 composer 对于部署没影响,
至于 nginx 问题,你也可以不用 nginx,就像你可以选择不用 mysql 数据库一样,你就可以不用配置 mysql,如果你不用 nginx 你就可以不用配置 nginx,
比如正好有个 go 写的代替 nginx 的高性能 php server 叫做 roadrunner,直接用 composer 装相关的集成就能用,都不用修改默认配置
与 laravel 集成 https://github.com/spiral/roadrunner-laravel
与 symfony 集成
https://github.com/baldinof/roadrunner-bundle


现代 PHP 应用都要走这几步了,composer 拿来装第三方包和自动加载,连接数据库之类的需要装扩展,nginx 和 FPM 联动转发请求,部署很麻烦。



非常感谢回复

学校老师教的就是直接 echo,但是感觉没有工程化或者模块化,东一扯西一坨,现在没有多少 新的 企业项目这样写了吧

谢大佬不吝赐教
部署起来感觉每一步都不难,但是把他们加起来稍微麻烦.

是这样的,这也是当年 php 站长采用的原因,很多都不需要什么高深编程经验直接上手一把梭,才能直接流行出来;其实只要简单易用,那么他就有火起来的资格,python 和 php 就是这样

golang 是云时代的 c 语言

这是 go 在 v 站黑的最惨的一次


"php 好部署"和"php 是热重启"的一样, 属于经典谣言
"php 好部署"这个出现是 asp->php 转型期, 都是跑在虚拟主机下这个大背景下的
asp 当时做虚拟主机的搞基础免黑防通用的 webshell 都会把 FSO 改名, 程序要正常跑, 需要同样改掉 FSO, 碰到混淆过的就抓瞎了, 有些像动易之类的还会把功能做成要 dll, 需要主机注册的, 非注明程序谁肯注册啊
php 早期只要装了 zend optimizer 问题就不大了
但是 php 真的容易部署么?
禁用函数、禁用扩展导致需要找原生替代方案的事少见么? 到了虚拟主机时代的中后期像 DH 、BH 甚至被迫允许用户 SSH 上去编译一个 php, 把自己的程序跑在 fcgi 模式下
还有些虚拟主机限制 FTP 单位时间的连接数的, 传超文件会屏蔽掉几分钟, 我印象里 35 或者时代的就是, 我甚至因为这个原因还干过把项目切成 n 个包, 然后用 webshell 上去一个个解压的事
至于现在 VPS 时代, go 部署的心智甚至还更低一点
对于原生 php 、slim 、silex 之类的用户, go 事实上正在替代啊


站长圈选 php 是因为 asp 凉了后在虚拟主机时代没其他的可以选, 并不是说 php 优势有多高
事实上站长圈更乐意选 html, 手动狗头

真有用 golang 做业务的?不会吧 不会吧

如果 Go 泛型完成,并且有好用的科学计算库,我连 python 代码都想迁过去了
python 作为脚本语言挺舒服的,但是官方委员会没啥作为,ruby 都有 jit 了,python 还在加可有可无的语法

PHP 简单了有人说太简单做不了大项目,各种工具都齐全了又有人说难部署,很明显就是要搞死 PHP

除了 java 都是 php,java 牛逼!

忽略上条,被 java 搞的有点烦

go 可没有宣传 zero abstract,而且它也做不到。单凭一个 GC 在 runtime,它就永远没法做到 zero abstract

Golang 不行的性能和生态都比不上 Java

go 在 web 开发方面和 java 比,还处在刀耕火种的时代。php 听说很烂,没用过不做评论。

您是不是把 zero cost abstract 和 zero abstract 搞错了呢?

我的确理解成 zero cost abstract,如有不对,愿闻其详

我说的零抽象就是这个语言没有泛型,元编程,模板类之类的高级抽象的特性,写业务有点累,就这么简单
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服