文章目录
- 1 2022 编程语言排名
- 1.1 IEEE Spectrum 2021年度
- 1.2 TIOBE指数 2022.05
- 2 后端开发语言选型
- 2.1 特点概览
- 2.2 「PHP 是世界上最好的语言」
- 2.3 「Java:从入门到入土」
- 2.4 「node.js:走向大前端」
- 2.5 「人生苦短,我用Python」
- 2.6 「学了Go能往哪润」
1 2022 编程语言排名
1.1 IEEE Spectrum 2021年度
IEEE Spectrum 发布了 2021 年度编程语言排行榜
https://www.eet-china.com/mp/a102246.html
1.2 TIOBE指数 2022.05
TIOBE编程社区指数是一种衡量编程语言流行度的标准,由成立于2000年10月的TIOBE Software BV创建和维护。 该指数是根据网络搜索引擎对含有该语言名称的查询结果的数量计算出来的。
2 后端开发语言选型
2.1 特点概览
纯 Web 后端领域,主要可选的主力语言有:Java,PHP,Python,Node.js,Go
- 快速开发 PHP
- 大型应用 Java
- 高并发 Go
- 前后端一体化 Node.js
- 新兴的多面手 Python
- 最强音 C/C++
- 微软粉专用 .NET Core
2.2 「PHP 是世界上最好的语言」
- PHP目前最流行,根据调查,PHP 在2010 年的市场份额为72.5%,而在2021 年占比达到78.9% 。但开发者数量份额没那么多,且每年都在明显萎缩。大公司都在逐渐去PHP化,使用PHP的多为小公司和外包。
- PHP具有简单易懂的语法、没有奇怪的黑魔法、既能面向过程,又能面向对象、安装后各种扩展集一身、包括但不限于mysql、json、mbstr等,方便至极。
- 一言不合,一个页面就html和PHP混写,甚至最新版本都内置了小型webserver,连apache和nginx都不用上、一分钟搭建博客论坛问你怕不怕、国外Ci、laravel、kohana、zf等框架层出不穷、国内tp社区棒、语言创建者积极上进优化、语言bug全世界的程序员和你一起修复。最重要的是大小公司都用、找工作不愁啊!
2.3 「Java:从入门到入土」
1)Java初生
- 1995年的网页简单而粗糙,缺乏互动性。
图形界面的程序(Applet)
Java 2 标准版(J2SE):去占领桌面
Java 2 移动版(J2ME):去占领手机
Java 2 企业版(J2EE):去占领服务器
2)Java发展
- 基于Java开发居多的平台系统
①构建工具:Ant,Maven,Jekins
②应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic
③Web开发:Struts,Spring,Hibernate,myBatis
④开发工具:Eclipse,Netbean,intellij idea,Jbuilder
3)Java的特性和优势
- 简单性、面对对象(万物皆对象)、可移植性、高性能、分布式、动态性、多线程、安全性、健壮性
4)Java的三大版本
- 跨平台(Write Once、Run Anywhere)
JavaSE:标准版(桌面程序,控制台开发······)
JavaME:嵌入式开发(手机,小家电,······)
——————————————————————————————————
初学者可按照尚硅谷公开的JAVA视频最快学习路线:
- JavaSE –> MySQL–> JDBC –> JavaWeb –> Spring5 –> SpringMVC –> MyBatis –> Maven –> Ssm框架整合案例 –> Git/GitHub –> Redis6 –> MySQL高级优化 –> MyBatisPlus –> Spring注解驱动开发 –> ZooKeeper –> Dubbo –> 消息中间件ActiveMQ –> RabbitMQ –>RocketMQ–>SpringBoot2 –> SpringCloud –> 尚筹网项目 –> 在线教育项目 –> 谷粒商城项目 –> 尚医通项目 –> 尚融宝项目–> 高频面试题第一季 –> 大厂面试题第二季 –> 大厂面试题第三季
这tm还是最快?
- 毫无疑问,Java凭借着仅次于C++的高性能以及成熟的市场和包体系,成为了后端无法被撼动和被取代的大哥。
- 但是Java的体系越来越庞大,学个java一路学上去不知道要学多少内容,对于初学者而言,做一个看得过去的java项目几乎做不出来。
- 但是想往大厂润,最终还是得学加瓦
2.4 「node.js:走向大前端」
传统上,Web应用可分为前端(在浏览器中执行的部分)和后端(在服务器中执行的部分)。
前端工程师的职责是以Web技术(HTML、CSS、JavaScript、DOM、Ajax等)实现基于浏览器的用户界面。以相衔接的工作来说,是将视觉设计师、交互设计师的工作成果转化为可运行代码,完成的代码则要交付给后端工程师,进一步完成代码集成、测试、发布和部署。这样一种体系可能存在不少问题。“大前端”则是将传统上归于后端的服务器脚本和模板划归到前端。由于node的出现,前端工程师不需要依赖于后端程序而直接运行,从而前后端分离起来。所以当开发一个新产品的时候服务只需要写一次,但是面向用户的产品可能有很多,例如网站、Android客户端、iOS客户端和微信小程序等。由于各个平台使用的技术栈都不一样,代码无法复用,非常浪费人力、物力。那么有没有什么技术能够解决这一痛点呢?大前端应运而生,其实大前端的主要核心就是跨平台技术,有了跨平台技术,各个平台的差异性就抹平了,开发者只需要一套技术栈就可以开发出适用于多个平台的客户端。
大前端是所有前端的统称,比如Android、iOS、web、Watch等,最接近用户的那一层也就是UI层,然后将其统一起来,就是大前端。大前端最大的特点在于一次开发,同时适用于所有平台,开发者不用为一个APP需要做Android和iOS两种模式而担心。大前端是web统一的时代,利用web不仅能开发出网站,更可以开发手机端web应用和移动端应用程序。
换个说法再说一遍:在 CS 时代,客户端只有 PC,在 Web 石器化时代前后端处于混沌状态,前端只是艺术家创造个人艺术作品的形式,渐渐的出现了天生前后端分离的移动端,直到 Web 端也出现前后端分离,客户端呈现出多样化态势,这时候后端开发人员可能针对不同的端开发大量具有冗余业务的接口,后端开发人员面对的往往是 Android,IOS,H5 三方的开发人员,大前端的概念正是为了解决这种状况,所有的客户端无论你是 Android,IOS,还是 WEB 端,对于后端人员来说只有“大前端”,后端开人员无需针对特定的某一端进行开发,而仅仅是面向大前端进行开发。
node.js存在的意义
- 可以说,是node.js的出现,打破了传统前端只做设计的局限(可以跟后端抢活了)。
- 也是node.js的存在,为跨平台应用提供了最早先的基础。
- node.js至今是一个既有点前端味道,又有点后端味道,又有点中间件味道的东西。
- 但是node.js确实不是前端(
node.js做后端开发
- 框架非常多,常见的就有egg,nest,koa2,express等等,并且教程很多,易用性>java, Node.js学习简单,框架和教程很多,非常适合快速开发。
- Node.js性能十分优秀,可能是所有动态语言里最好的。
- 有很多人说 Node.js 的语法太灵活,不易维护,缺少类型化,难以重构,但是这些问题早已被 Typescript 解决掉了,Typescript 打开了一扇新的大门。对于一些本来就会一些前端的人,前后端都用 Typescript 来写,开发效率高太多了,首先,不用在不同语言之间进行心智切换,其次,很多代码可以在前后端复用。
PS:这里泛指前端开发为用户界面的设计(接受后端返回的数据并调整页面),后端开发为业务逻辑的实现和数据库的链接操作等(提供服务器上的运行,并以API形式返回)。
2.5 「人生苦短,我用Python」
- Python 有很多现成的 Web 开发框架,几行代码就能生成一个功能齐全的 Web 服务。
比较著名的就是 Django 和 Flask。
Django 集成的功能更多,开箱即用,好比全副武装的战士。
Flask 轻量快速,只包含核心功能,其他都需要自行扩展,好比轻装上阵的刺客。 - Python的代码风格简洁易懂易于维护,而PHP代码量一多起来就混乱了
- Python 强就强在它干啥都行
2.6 「学了Go能往哪润」
-
Go虽然火起来了,但是适用范围还是仅限于那么一部分,取代java为时尚早。
Java 都不用看,一直是这样的。
Go 仍是 Python 和 PHP 的主力挖墙脚者。 - 哪些大公司在用go语言?
字节跳动:后端全部转型go (2022)
Google:作为开发Go语言的公司,当仁不让。Google基于Go有很多优秀的项目。
Facebook也在用,为此他们还专门在Github上建立了一个开源组织facebookgo
腾讯,主要在新业务上尝试使用Go
百度,主要在运维方面使用到Go
京东,京东商城的列表页等是使用Go语言开发的
小米,小米商城等团队在使用Go语言。
阿里之类的暂时没有大部分在用,但是也有一些小部门和岗位在使用。 - Go VS Python
GO是一种静态类型的语言,而Python是一种动态类型的语言。
关于 Go 和 Python 的优缺点能说上三天三夜,但最关键的一点还是它们的性能。 - Python 适合人工智能、数据分析、深度学习和 web 开发任务,而 Golang 适用于系统编程,执行云计算和集群计算应用的开发者喜欢使用 Golang。
Python 并非内存/CPU 友好的语言,但它具备大量库,可以高效执行基础的开发任务。Golang 具备内置功能,更适合微服务软件架构。
Python 的历史赋予它一定优势。其中之一就是它具备大量库,拥有大型支持社区。而 Golang 语言仍在增长期,没有那么多库和社区支持。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net