찾다
백엔드 개발PHP 튜토리얼go语言以后会不会成为主流web开发语言?

据说go语言的并发处理很好?能不能和java php竞争?

回复内容:

撸主多虑了,没有竞争关系啦....
虽然 go 成为了世界上最并发的语言,
但是,
这并不妨碍 php 成为世界上最好的语言,
也不妨碍 java 成为世界上最有模式的语言,
更不会妨碍 c++ 成为 21 天就能学会了的语言... 语言真的那么重要吗?web后端应用大部分都是死在数据库上的,用php只要算法得当,一样也非常稳。况且现在的服务器都是白菜价了,实在性能受限就买服务器搞轮询咯。现在的互联网公司能顺利活过三年的都寥寥可数,要是被技术再一绑架,那就直接GameOver了 以后会有很多种主流web开发语言。
go也可能会是其中之一。 谢邀。没想到再次被邀请回答关于golang的问题,这个对于我这个平时写客户端C++用得比较多,写服务端用golang比较少的人真是感到又一次amazing。
我的回答如下:
在用golang这门语言的过程,关于这个关于针对某一门语言能否达到类是这种“xxx的某方面很好,能否跟aa,bb竞争”、“xxx能否成x方面的主流”甚至"xxx能否成为制霸某个领域的语言”之类的的话题,我觉得要回答这类问题。得先自己纵横下web里面诸多语言,基本主流的都用过一遍,对主流web语言背后的支持方有一定深入了解才能做出更加接近客观的答案。所幸,我以前干过这种事。也应用过到实际项目中。用C#的WCF结合ajax写过WebOS,用PHP写过网站和系统后台,用Flash写过网站,用Java写过B/S,早期的asp的VBScript也做过网站。一直到后面切换到游戏领域开发的C++和golang。
到现在的自己的总结就是:语言在某种领域显得比其它语言的强势与否,跟它背后的支持方、跟它自身的优缺点点、跟它的文档资料详细与否,跟语言诞生的时间早晚,成正比关系。拿几个主流的做对比,Java背后有被Oracle收购的Sun,PHP的整个组织和相关社区支持也很给力,怎么说Facebook也不会让人打php的脸的,Golang最开始算是谷歌搞出来(里面关系详细自行查找),但是现在也是自成体系。按照上面的刚刚说的成正比的几个关系依次对好入座。发现最终影响的主要因素就只剩下2个:自身优缺点和语言诞生时间早晚。其它的都是可以当作统一水平直接忽略不计。
拿语言自身优缺点来说,现在只要能成为主流的web开发语言之一,都彼此会有这样的或者那样的优点和缺点,会导致使用者有所倾斜,但是从生产环境来看,它们都是合格的。都是可以无视差异进行使用的。写个网站,golang可以写,Java也可以写。那么这个时候怎么选,从公司氛围来看是使用更牛逼更先进的吗?更牛逼更先进是怎么定义的?由于语言各自的差异导致的优缺点各自并存谁能界定哪个更牛逼更先进?我觉得这两个是凡人思考不了的问题。我是个凡人。但是又怎么样呢?(So what?)公司只会从项目实际情况去考虑,这么牛逼先进的玩意儿,谁懂?没人?懂的人数不多?一定要这个吗?不一定。其它不行吗?其它也行。那干嘛用这个?因为这个的xxx很xxxx。那xxx语言的xxx特点不是也很xxxx吗?是的,xxx语言的xxx特点也很xxx。那干嘛还要用这个?。。。。差点死循环。
没错,至关重要的最后因素:语言诞生的时间长短。抛开一些奇葩的情况不说(例如apple家的东西),通过排除法,语言诞生的时间更早,意味着这门语言的体系更贴合生产环境(没得挑,一路用到黑)、自身进化得更全面减少风险性、培养更多使用受众延续自身体系的推广和发展形成良性循环、更容易构建更多的早期的基建项目形成体系里面的应用方案的积累、与系统形成更深层的耦合关系导致不易被摒弃性、容易全面压缩同领域内后续语言发展的潜力空间增加凝滞性。。。。等等。一大堆东西。说那么多,就是告诉你大量公司都是用那么几种主流现成的,招聘上招的人也是来来回回用那么几种主流的,公司还要考虑各种成本、项目风险。用熟不用生。所以,我现在告诉你,就算是golang是种绝对牛逼无敌的web开发利器,也不会成为主流的web开发技术,因为其它的语言也很牛逼,而且他们人多,双拳难敌四手啊,更何况那么多手。特别一点是,go的优势不全在做web上!!!(这里就不深入了,不然又是长篇大论了。)
回答完毕,觉得回答还行的,有看到的童鞋麻烦你伸伸手指点个赞鼓励下,促进下知乎回答问题的氛围。(^_^) 选型都有类似的风险/成本评估过程的,这是技术,但主要不是技术,是成本:
  • 库成熟吗?我用PostgreSQL和Redis,还有几个第三方服务和多个支付网关,有库吗,这些库经过实际检验吗?
  • 社区大吗?行业里是不是有实实在在的应用,背后是不是有大量的技术人员在持续贡献,而不只是一小撮人在advocate,跟着一帮人后面嚷嚷,但没多少人实际在用。
  • 资料好找吗?80%的问题能一次Google解决吗?
  • 好学吗?junior的技术能比较快地学会并开始产出吗?从入门到成为懂最佳实践的开发者所需要的时间是不是和其他web语言相当。
  • 适合快速开发吗?Go开发对需求变更的响应能有多快?是不是需要每次变更他们都需要research新方案。
  • 有致命瓶颈吗?比如现有系统的核心功能严重依赖LAMP或LNMP底层的某个实现而Go没有。
  • 有关键优势吗?我的这组REST API用PHP,Python要200台服务器,用Go只需要20台。
  • 条件允许我用吗?现有系统不会因为引入Go而需要大幅改造,有也是在预算和允许时间内。
用Go写过两个小Web项目,Go是适合Web开发的,库是够成熟的,Go的性能对一般项目没意义,所以只是Nice to have,语言设计上的一些优势对WEB后台开发来说也谈不上Must have,况且强类型的语言毕竟没有PHP,Python这样的语言好学,或者说,强类型对大多数Web应用没有意义,业务逻辑需要的数据尤其别扭。

Web后台的性能不会依赖于单进程的并发实现,而是多进程下保证了服务稳定的前提下的流量平衡,性能问题主要是由架构解决的,而不是某种语言本身。

Go在Web开发领域不会成为主流。

做为一个用 Go 语言做过网站,并运行了几个月的人。我来说说我的看法。


其实有建站需要的人,很多对技术露出一丝惊诧后,很快就又回到了成本问题上。


像 PHP 各种毛病一大堆,即便是个老手,也很难摆脱对开发文档的依赖,为什么大多数网站还是用 PHP 呢?一个公司,除非是创业公司,不然很少会改变他们主要使用的语言。因为他们太熟悉原来的语言,投入了太多资源,他们没有动力在风险未知的情况下,因为某些诱人的卖点而切换一套新语言。


就像 Google 为什么选择 Java 作为主要的 Android的开发语言。选择什么语言,还涉及到一个生态问题。受教育人才的影响,受市场接收度的影响,受存在的解决方案的影响。即便 Google 那么多牛逼的 C/C++ 高手,它们还是选择了一种面对 Object-C,毫无性能优势的语言。


再回到 Go 语言的本身,它本身并不是用来做网页服务器的。它更注重的是分布式系统,比如广告和搜索,那种高并发的服务器。再者,虽然不太喜欢 Node.js ,也用它写过网站服务器,服务器代码和客户端共用,只是一个美好的梦想,但不得不承认,它更适合做网站服务器,除了成千上万的现成模块,在Node.js 里加载一个模块,把其他网站的内容抓过来,就能像客服端一样,用jQuery来分析和处理。而且,现在的 js压缩,scss,less,前台开发的工作流,已经越来越难摆脱 Node.js 了。


但 Go 语言在网站开发方面还远远不够,虽然常用的功能模块都陆续出现了,但它们没有时间沉淀,没有丰富的相关资料,还是需要同样的时间曲线去学习,去研究,去调试。



一种语言要打败老牌老大,除非能说服各个公司的 CEO,能现实的创造巨大的经济利益。否则,开发者的话语权其实很少。

基本很难,因为错过web应用发展高峰了。如果2000年左右出现还有戏 Erlang 还没说话呢其他语言出来凑什么热闹( 不会,不一定,不能 真闲
国外一个交友网站,plenty of fish, 一个人开发的,03年建站,当时用http://asp.net和SQL Server,这么多年过去了,每月google广告收入就有50多万美元,前不久把这个网站以5点几个亿美元卖了。

用啥语言都行,你擅长什么用什么,抓紧把你的idea实现吧。

用什么语言写服务,真的不是关键,关键是你要盈利!
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
带你搞懂Java结构化数据处理开源库SPL带你搞懂Java结构化数据处理开源库SPLMay 24, 2022 pm 01:34 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

Java集合框架之PriorityQueue优先级队列Java集合框架之PriorityQueue优先级队列Jun 09, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

完全掌握Java锁(图文解析)完全掌握Java锁(图文解析)Jun 14, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

一起聊聊Java多线程之线程安全问题一起聊聊Java多线程之线程安全问题Apr 21, 2022 pm 06:17 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

Java基础归纳之枚举Java基础归纳之枚举May 26, 2022 am 11:50 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

详细解析Java的this和super关键字详细解析Java的this和super关键字Apr 30, 2022 am 09:00 AM

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

Java数据结构之AVL树详解Java数据结构之AVL树详解Jun 01, 2022 am 11:39 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于平衡二叉树(AVL树)的相关知识,AVL树本质上是带了平衡功能的二叉查找树,下面一起来看一下,希望对大家有帮助。

一文掌握Java8新特性Stream流的概念和使用一文掌握Java8新特性Stream流的概念和使用Jun 23, 2022 pm 12:03 PM

本篇文章给大家带来了关于Java的相关知识,其中主要整理了Stream流的概念和使用的相关问题,包括了Stream流的概念、Stream流的获取、Stream流的常用方法等等内容,下面一起来看一下,希望对大家有帮助。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구