让每一个人品质就业不再难
天眼ERP 全国咨询电话 13362162602

动态中心

DYNAMIC CENTERING

最新干货 | 你确定你真的了解程序员吗?

发布时间: 2021-12-10 14:10:13


程序员的那些事儿

  A story about you  








“小天,快过来看看这个电脑怎么打不开了?”

“小天,这个软件怎么用?”

“小天,那个什么重装系统怎么弄?”


嗯???

小天只是一个普普通通的程序员。

不是万能的(T_T)


实际上,可能不只是我的这些亲朋好友,绝大多数人可能都不知道程序员究竟是做什么的,也不怎么知道程序、软件。


程序员到底是做什么的?


今天小天就好好和你们聊聊!






01

软件和硬件 




手机和电脑上都有很多软件,微信、QQ、支付宝,它们都是软件,手机的基础功能打电话、发短信,手机和电脑的基本操作系统,它们也全都属于软件。


那么与这些软件对应的,电脑、手机、平板,就是硬件软件依托于硬件之上







02

软件的分类




硬件各种各样,软件也是各不相同的。


例如微信、QQ、支付宝、打电话、发短信等,就属于应用软件,而android系统、windows系统这些就属于操作系统软件



应用软件一般都具有特定直接服务于用户的功能。


操作系统则是可以直接管理硬件资源,应用软件一般依托于操作系统之上。







03

软件和程序的区别




了解完软件之后,我们再看看程序


一般而言,软件是由程序构成的,软件一般是具有具体功能、可以使用的程序包,而程序可能只是一小段代码



假如说一辆小轿车是一个软件,那么上边的轮子、方向盘、离合器就是不同的程序,各种各样的零件最终组装成一辆小轿车,就如同各种各样的程序片段最终形成一个软件。






04


程序和代码




上边说到了程序可能是一小段代码,生活中也经常有人说程序员就是码农,敲代码的,那么代码是什么?


某种意义上,代码和程序可能可以理解为一个意思,通俗点讲,代码是用编程语言写出来的一行行的字符串



字符串是若干个字符的组合,字符是什么呢,常见的英文字母以及数字都可以称为字符。


不考虑中文编程语言的情况下,可以理解为代码就是根据特定规则,用英文字母和数字以及各种符号组成的字符串。


这种字符串由于遵循了某些特定的格式,因此最终可以被电脑、手机等电子设备识别并做一些事情。






05


什么是编程语言




因为这些特定的规则,最终这些字符串能转换成电信号,电信号直接和电子设备的硬件接触。


电信号从某种意义上来说只有有电和没电的区别,最初直接转换成代码的字符串,就是由01组成,一个代表有,一个代表没有,专业的说法就是真或假,true或者false,这种格式组成的代码,称之为机器语言


单纯的0和1组成的字符串,对人类来说肯定看不懂,所以需要特定的对比规则进行对比翻译。



因此在机器语言基础上又发展出增加了一些英语单词规则的新的编程语言,称之为汇编语言,而那些英语单词称之为助记符


由于增加了助记符,汇编语言更容易被人看懂和记住,但助记符是有限的,因此又发展出了对人类更加友好的编程语言,称之为高级编程语言,这个阶段语言的思想是面向过程的,代表行的就是C语言


什么是面向过程?我理解的就是关注点在于这一步做什么、下一步做什么。


那么随着软件技术的发展,又进一步发展出了其他的高级编程语言,例如C++、JAVA、C#。


像JAVA语言的思想就是面向对,关注点就是这个东西能做什么、有什么,而不是关注过程。


但并不是说面向对象就不管过程了。






06


程序员是什么




接下来正式进入正题,程序员是什么?


通过上边的描述,你应该可以知道,软件是根据编程语言写出来的程序组成的,是用来操作电子设备的,那么写这种程序的人,肯定就是程序员了!


但是,如果说程序员就是敲代码的,那就不对了!!!简直大错特错!!!


程序员也有很多种,比如开发、测试、运维、DBA等等。


开发是主要写代码的,测试和运维以及DBA不一定写代码,但他们其实都算程序员


如果是简单初步了解程序员,就已经够了。



除此之外,就单纯的开发来说,还有很多细分,例如主要负责看得到的页面的,称作UI,但是很多时候实际没有专门的UI,而是由前端一起负责,前端程序员就是直接操作看得到的页面功能的程序员。


相对应的就是后端开发程序员,实现一些看不到的功能逻辑,有的直接有前端的功能页面对应,有的就是纯粹的后端程序。


上边是站在软件分层的角度说的,实际还可以站在编程语言的角度分类,例如java程序员c++程序员c#程序员等等,这些分类就是以命名的编程语言为主,但是实际未必就只会这一种。


就拿java后端程序员来说,一般可能都还会一些前端javascript语言以及linux的shell语言。






07

  怎么成为程序员




很多小伙伴都想当程序员,因为程序员普遍收入非常可观



怎么成为一个程序员?


首先确定好自己的方向,是想做软件开发,还是软件测试,还是软件运维?或者成为一个全栈程序员?


众所周知,人的精力是有限的,术业有专攻,零基础想要直接成为一个全栈,实际是很困难的,所以建议还是先找一个熟了再说。


话再说回来,怎么成为一个程序员呢?

1.还在读书的,可以选择计算机专业,很多学校相关的专业和课程。

2.如果已经选择了非计算机专业或者已经出了社会,也可以自学或者去培训机构参加培训,有人脉的也可以找熟人教。


先说自学,很容易信心满满的开始,垂头丧气的放弃,虽然很多编程语言入门都很简单,但是自学依然还是会有很大难度



再讲培训,这个是很多野生程序员的选择,正所谓术业有专攻,人家就是吃这碗饭的,自然有能吃这饭的道理!


相对于自学,参加培训肯定更容易入门,只是不同的培训机构水平不同,能否找到好的培训机构就需要注意。

(悄咪咪的说一句:如果你想找靠谱的培训机构,评论区留言哦!)


最后说熟人教这事,很少会有人选择这一项,虽然可能看起来省钱,但可能因此会没有压迫感,边学边玩,也因为并不是专业教学的,所以最终很难学会。









- END -









服务热线

13362162602

微信服务号