现在的人们,每天在使用着各种手机app或网页之类的,进行日常工作,亦或是打发闲暇时间?但是在使用它们的时候,你是否曾有过一丁点的好奇心,想过这些东西到底是什么,是怎么来的?
今天,我要来给大家稍稍的科普一下这方面的知识。
软件是谁制作的
在这个星球上,生活着一群神秘的有机生命物种,他们中大多数作息时间是:起的比鸡早,睡的比鸡晚。他们不太善于使用祖先传下来的母语进行同族之间的沟通,却发明了各式各样的语言,和电子无机生命体进行着沟通,并以此为乐。更甚者,他们中的很多成员,成为了某种无机体语言的激进崇拜者,分门立派,并且坚定的认为:非我语类,其心必异,必须骂死丫的!
尽管如此,和他们相处的时候,你大可放心。只要不涉及到无机体语言的事情,他们还是一种比较温和的生物。
这种生物,就是我们俗称的“程序猿”,也叫软件工程师。
我们使用的各种电脑软件,网站,手机app等,都是程序猿们和各种无机体(电脑,手机等)进行沟通后的产物,它们其实就是这些懂无机体语言的程序猿设计出来的一种辅助工具,这样一来,那些即使不懂无机体语言的人群,也能通过它们很容易的去操纵电脑、手机等完成一些事情。
什么是编程
程序猿制作这些电脑软件、网站、app的过程,就叫做编程,也叫软件开发。
编程,其实就是在编写一份工作流程清单,在这份清单中,程序猿要非常详细的写下需要电脑做的每一件事情,每一个步骤。当你运行你电脑上的一个软件,或者是手机中的一个app的时候,实际上,你的电脑或手机就是在运行一份这样的清单,按照程序猿们事先编制好的步骤,一步一步的运行着。
客户端和服务器端
以前的软件程序,比较简单,一般都是在你的电脑上安装一下就可以了,运行的时候,也只是在你的电脑上运行着。但是随着历史的变迁,随着网络技术的发展,你电脑或手机上的软件运行的时候,它们其实不再只是在你的这些设备上运行了,而是被拆分,有可能在2个地方运行,也有可能在200个地方运行。运行在你电脑或手机上的那部分,也许是整个软件中不那么重要的部分而已。
运行在你的电脑或手机中的那部分,我们叫做“客户端”,它是提供一个比较形象的界面,让你和你的设备/软件进行对话:你可以通过这个界面下达命令,或者当软件做完事情后它会展现给你结果。
还有一个“服务器端”,是你平常情况下完全感觉不到的东西。也许只有在断网的情况下,你看到你的客户端提示的“服务器连接失败”之类的信息,你才会隐约感受到它的一点点存在。其实,它才是一个软件系统中的那个大BOSS,大核心。比如一个聊天软件:
- 你所有的好友列表,都由服务器端在存储和处理;
- 你所有的聊天信息,都会先发送到服务器端,然后再通过服务器端,转发到你的目标好友的电脑或手机客户端上;
- 你的朋友圈视频和图片,好友评论和点赞信息,它们统统都会经由服务器端的处理;
- 等等等等...
搭建和开发一个完善的服务器端,是个大工程。而且很多时候被不知道的人所忽略。所以,千万别在你程序猿朋友面前,说什么你想开发一个模仿XX的app,要求x天x千块完成,我想,你朋友的内心一定是想甩你几个响亮的大嘴巴子的。
哪些地方需要编程
随着计算机技术的发展,越来越多的地方可以进行编程,你身边充斥着被编程过的东西,电脑、手机、汽车、电视机、空调、冰箱、手表、眼镜......掌握编程,就是掌握了未来的主动权(哈哈哈,希望是这样吧)。
好了,到此,你应该对编程有个概念性的认识了吧?如果你对编程感兴趣,请关注我后面的系列文章吧。在这一系列的后文中,我将从一个初学者的角度出发,带你一步步学习编程知识,成长为一个能前能后,能PC能移动,能独自扛起比较完整的软件系统的程序猿。
这个系列我就叫它《从编程小白到全栈开发》吧。
相关推荐
硕士研究生工程实训全栈项目:智能招聘系统实现(使用SpringBoot+Vue.js框架).zip硕士研究生工程实训全栈项目:智能招聘系统实现(使用SpringBoot+Vue.js框架).zip硕士研究生工程实训全栈项目:智能招聘系统实现...
MEAN架构编程开发。全栈开发之道:MongoDB Express AngularJS Node.js
用途:这些面试题及答案是专为Python全栈开发领域设计的,目的是帮助应聘者准备技术面试,评估他们在Python编程、Web开发、数据库管理等多个关键技术领域的知识和技能。这些问题覆盖了Python全栈开发的核心概念和...
《ChatGPT全栈开发实战:从需求分析到数据可视化,一站式指南助你快速构建全面应用》是一本综合全栈开发指南,以ChatGPT为核心技术,覆盖了从需求分析到数据可视化的全过程。本资源提供了详细的章节内容,包括Java...
│ ├06 python 全栈开发-基础篇-day02 编程语言介绍.avi │ ├07 python 全栈开发-基础篇-day02 开发语言分类.avi │ ├08 python 全栈开发-基础篇-day02 演讲能力的锻炼.avi │ ├cpu memory disk的关系.png │ ├...
本书有大量的视觉化场景帮助理解概念,穿插了若干有趣的小项目,最重要的是,这本书是为零基础小白而设计的。 1、精简:学习最核心的关键知识;2、理解:运用类比、视觉化的方法来理解这些核心知识;3、实践:构建...
Python全栈9期(第一部分):基础+模块+面向对象+网络编程 Python全栈9期(第五部分):django高级 Python全栈9期(第四部分):django进阶 Python全栈9期(第十一部分):django rest framework + vue Python...
编程小白的第一本Python入门书.pdf
全栈开发速学速查手册集锦: 知识体系:《Awesome Lists | CS 资料集锦》、《Awesome CheatSheets | 速学速查手册》、《Awesome Interviews | 求职面试必备》、《Awesome RoadMaps | 程序员进阶指南》、《Awesome ...
编程小白的第一本Python入门书 高清扫描版 比其他版本清洗不止一个量级
Python基础、函数、装饰器、面向对象、网络编程、并发编程、前后端全栈开发
Flutter & Dart 全栈开发 三端⼀一体化编程的新⽅方式
python爬虫开发视频及相关资料,python+Django+redis+mongo+mysql+tornado+Linux,涉及前端后台及项目部署和数据等相关技术,python的全栈开发视频
进化感悟:如何从编程小白到应用开发者.docx
编程小白的第一本_Python_入门书编程小白的第一本_Python_入门书编程小白的第一本_Python_入门书
在我决心开始学编程的时候,我为自己制定了一个每天编程1...那些教程里面到处都是抽象的概念、复杂的逻辑,对于专业开发者这些再平常不过,而对于我这样一个学设计出身的编程小白,没有被视觉化的东西是无法被理解的
全程超过900分钟的视频讲解,一本书教会python核心编程、python数据分析、Python Web开发、数据可视化、Python机器学习、深度学习 带你轻松入门算法与数据结构《漫画算法》>> 声明:仅供学习分享,非商业用途
编程小白的第一本 Python 入门书
适合没有任何语言基础的纯小白,学习python,一起进步! 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!