相信很多刚下定决定入行做程序猿的小伙伴们,肯定对程序猿这个领域既熟悉又陌生。我们的生活离不开程序猿的努力,但程序猿到底具体是干什么的,似乎又不是十分清楚。想了解却发现,似乎大家好像从一开始就是一个成熟的程序猿了,几乎没有一篇文章可以讲讲什么是程序猿,程序猿日常工作具体是干嘛的,今天用我浅薄的知识,带大家来了解一下什么是程序猿,以下内容分为几部分:
- 什么是程序猿
- 前端是什么
- 后端是什么
什么是程序猿?
那么程序员的话,比较常见的还是编写应用的程序猿,我们现在所用的非常方便的网页——百度,B站,各式各样的博客,以及五花八门的APP——QQ,微信等社交APP,扇贝、有道词典等学习APP,这都是由程序猿们用一行一行代码构建出来的。 应用程序猿我认为大致可以分为两类:前端、后端。
前端又分为:
- B/S架构的web前端
- C/S架构的移动开发
接下来就大致讲解一下什么是前后端,如有错处,劳烦各位大佬帮忙指正,谢谢。
前端是什么?
我们经常可以听到,XX前端工程师,XXweb前端工程师,XXandroid工程师,XXios工程师,前端是什么呢,负责哪一块的呢?怎样才算前端?
-
所见即前端:在我们日常生活中,会有很多五花八门的网页以及各种各样的APP,网页/APP展示的界面菜单、动画,用户进行操作后得到和看到的反馈,这都是属于前端负责的范围。
-
前端的分类
互联网的本质就是两个计算机的通信,给出信息的即可以算做是服务器,接受信息的即可以理解为客户机。但现在广义上的服务器是指给用户们提供服务的、存放数据的计算机。
现在市面上的架构大概分为两种:
-
C/S架构(客户机/服务器架构):像是端游呀,大部分APP呀,ERP呀,需要下载客户端的,属于C/S架构
C/S架构下的常见的是移动开发,市面上的两大系统安卓和IOS,所以大家说的android开发和IOS开发,也就是指基于这两个平台上的开发。
那么想做android开发和IOS开发,分别要学习和了解哪一些东西呢?
- android:xml、java
- IOS:objective-c、swift
以上所说的都是编程语言,比较基础的一些东西,感兴趣的可以去搜一下,前往学习~
-
B/S架构(浏览器/服务器架构):像网页呀,微信小程序呀,随时可以使用的,都是B/S架构的
B/S架构可以说是C/S架构的升级版,实际上是客户机-浏览器-服务器这样子的架构,在客户机和服务器中间多了一个浏览器,这样客户机可以不必装那么多应用程序,数据服务器可以专注于数据的处理。
从B/S架构出发的话为web前端开发,也就是俗称的前端
- 前端:HTML、CSS、javascript
这三种语言都是需要学习的,也是同样比较基础的东西,有兴趣的可以直接搜索,前往学习~
后端是什么?
有前端自然有后端,后端是干什么的呢?
算法和逻辑:如果说前端是一个人的长相和外表,那么后端就是一个人的大脑。一个人长得好看,才更吸引人前去了解,了解的越深,才更知道这个人是否聪明,为人处世如何。那这为人处世的方法,处理事情的办法, 就可以比作我们的后端。
前端侧重表现,而后端更注重算法。这也是后端的难点,因为逻辑层面是不可视的,就如同一个人的想法,是看不清摸不着的。后端并不是单学一门编程语言就能掌握的一个岗位,所以我觉得这大概就是比较少人提到后端该学干什么的原因吧,能胜任后端的,大概都知道该学什么。
后端:网络通信协议、数据库、服务器操作系统、算法、C++/PHP/JAVA其中任意一门编程语言
网络通信协议:这个可以理解为是一种大家约定好的暗号,拥有密码本的才知道这个手势代表的是什么意思,而网络通信协议就相当于一个密码本,用于解析另一个计算机传输过来的“暗号”。
数据库:数据库顾名思义是存放数据的仓库,服务器上都有一个用来专门存放和操作数据的系统,叫做数据库操作系统,而这个系统是需要通过特殊的语言才能操纵他,这个语言被称为数据库语言。
算法:广义的算法其实是解决事情的办法,就能被称为算法。但通常互联网行业中所称的算法,是大佬们研究出来的、已有的、约定俗成的一些算法,就像是2+2+2我们都会使用2 x 3去计算他一样,是已有的,大家都会使用的方法。
服务器操作系统:跟windows系统一样,服务器也是有一个服务器的操作系统的。后端主要是跟服务器打交道,所以服务器的操作系统肯定也要懂得操作,一般服务器用的都是linux系统,所以建议学习linux。
以上就是今天所讲的内容,我了解的也不是特别多,可能不是特别有用,但是希望能帮助到鼓起勇气想要做程序猿,但是却摸不着门道的小伙伴们,希望可以给你们一个可以去了解和前进的方向~但愿大家每天都能朝自己的梦想更近一步>▽<