现在的人们,每天在使用着各种手机app或网页之类的,进行日常工作,亦或是打发闲暇时间?但是在使用它们的时候,你是否曾有过一丁点的好奇心,想过这些东西到底是什么,是怎么来的?
今天,我要来给大家稍稍的科普一下这方面的知识。
软件是谁制作的
在这个星球上,生活着一群神秘的有机生命物种,他们中大多数作息时间是:起的比鸡早,睡的比鸡晚。他们不太善于使用祖先传下来的母语进行同族之间的沟通,却发明了各式各样的语言,和电子无机生命体进行着沟通,并以此为乐。更甚者,他们中的很多成员,成为了某种无机体语言的激进崇拜者,分门立派,并且坚定的认为:非我语类,其心必异,必须骂死丫的!
尽管如此,和他们相处的时候,你大可放心。只要不涉及到无机体语言的事情,他们还是一种比较温和的生物。
这种生物,就是我们俗称的“程序猿”,也叫软件工程师。
我们使用的各种电脑软件,网站,手机app等,都是程序猿们和各种无机体(电脑,手机等)进行沟通后的产物,它们其实就是这些懂无机体语言的程序猿设计出来的一种辅助工具,这样一来,那些即使不懂无机体语言的人群,也能通过它们很容易的去操纵电脑、手机等完成一些事情。
什么是编程
程序猿制作这些电脑软件、网站、app的过程,就叫做编程,也叫软件开发。
编程,其实就是在编写一份工作流程清单,在这份清单中,程序猿要非常详细的写下需要电脑做的每一件事情,每一个步骤。当你运行你电脑上的一个软件,或者是手机中的一个app的时候,实际上,你的电脑或手机就是在运行一份这样的清单,按照程序猿们事先编制好的步骤,一步一步的运行着。
客户端和服务器端
以前的软件程序,比较简单,一般都是在你的电脑上安装一下就可以了,运行的时候,也只是在你的电脑上运行着。但是随着历史的变迁,随着网络技术的发展,你电脑或手机上的软件运行的时候,它们其实不再只是在你的这些设备上运行了,而是被拆分,有可能在2个地方运行,也有可能在200个地方运行。运行在你电脑或手机上的那部分,也许是整个软件中不那么重要的部分而已。
运行在你的电脑或手机中的那部分,我们叫做“客户端”,它是提供一个比较形象的界面,让你和你的设备/软件进行对话:你可以通过这个界面下达命令,或者当软件做完事情后它会展现给你结果。
还有一个“服务器端”,是你平常情况下完全感觉不到的东西。也许只有在断网的情况下,你看到你的客户端提示的“服务器连接失败”之类的信息,你才会隐约感受到它的一点点存在。其实,它才是一个软件系统中的那个大BOSS,大核心。比如一个聊天软件:
- 你所有的好友列表,都由服务器端在存储和处理;
- 你所有的聊天信息,都会先发送到服务器端,然后再通过服务器端,转发到你的目标好友的电脑或手机客户端上;
- 你的朋友圈视频和图片,好友评论和点赞信息,它们统统都会经由服务器端的处理;
- 等等等等...
搭建和开发一个完善的服务器端,是个大工程。而且很多时候被不知道的人所忽略。所以,千万别在你程序猿朋友面前,说什么你想开发一个模仿XX的app,要求x天x千块完成,我想,你朋友的内心一定是想甩你几个响亮的大嘴巴子的。
哪些地方需要编程
随着计算机技术的发展,越来越多的地方可以进行编程,你身边充斥着被编程过的东西,电脑、手机、汽车、电视机、空调、冰箱、手表、眼镜......掌握编程,就是掌握了未来的主动权(哈哈哈,希望是这样吧)。
好了,到此,你应该对编程有个概念性的认识了吧?如果你对编程感兴趣,请关注我后面的系列文章吧。在这一系列的后文中,我将从一个初学者的角度出发,带你一步步学习编程知识,成长为一个能前能后,能PC能移动,能独自扛起比较完整的软件系统的程序猿。
这个系列我就叫它《从编程小白到全栈开发》吧。
相关推荐
这份珍贵的Python全栈开发教程,囊括了从编程基础到实战应用的全方位学习资源。无论是初学者还是希望提升技能的开发者,都能在这里找到宝贵的知识财富。教程以深入浅出的方式,详细讲解了Python语言的基础语法、数据...
Django全栈开发高级实战项目 知识领域:编程 技术关键词:Django, 全栈开发 内容关键词:实战项目 用途:学习
对于初学者来说,从基础的概念开始,逐步深入到具体的代码实践,最终能够独立完成一个Web项目的全栈开发是非常有成就感的。而对于想要从事Web开发行业的人员来说,掌握全栈开发技术意味着拥有更多的机会和更广阔的...
用途:这些面试题及答案是专为Python全栈开发领域设计的,目的是帮助应聘者准备技术面试,评估他们在Python编程、Web开发、数据库管理等多个关键技术领域的知识和技能。这些问题覆盖了Python全栈开发的核心概念和...
编程知识+技术开发+从技术小白到Ruby编程专家的学习路径;编程知识+技术开发+从技术小白到Ruby编程专家的学习路径;编程知识+技术开发+从技术小白到Ruby编程专家的学习路径;编程知识+技术开发+从技术小白到Ruby编程...
《ChatGPT全栈开发实战》是一本涵盖广泛IT领域的指南,主要针对ChatGPT技术在全栈开发中的应用。本书旨在帮助读者从需求分析到数据可视化,全程掌握ChatGPT开发的关键技能。以下是该书涉及的主要知识点: 1. **需求...
Meteor是一个强大的JavaScript框架,它允许开发者使用单一的编程语言和工具链,从后端数据库到前端用户界面,实现快速、高效地构建实时Web应用程序。 全栈开发是指开发者能够处理应用的各个方面,包括服务器端、...
.NET全栈开发是现代软件开发领域中的一个重要方向,它涵盖了从后端服务器到前端界面的全方位技术栈。在这个价值4k的.NET全栈开发课程中,重点是学习C#编程语言以及.NET Core框架,这两者构成了.NET开发的核心基础。 ...
编程小白的第一本Python入门书.pdf
Python全栈9期(第一部分):基础+模块+面向对象+网络编程 Python全栈9期(第五部分):django高级 Python全栈9期(第四部分):django进阶 Python全栈9期(第十一部分):django rest framework + vue Python...
1. Python全栈开发:本文件提及的是一本关于Python全栈开发的指南书。全栈开发指的是能够进行前端和后端开发的程序员,能够处理一个网站或应用程序的全部技术层面的任务。Python作为一门被广泛使用的编程语言,以其...
这个项目旨在提供一个全面的解决方案,涵盖了从后端数据处理到前端用户交互的全过程,为学习者提供了一个宝贵的实战案例。 首先,让我们来了解一下Python和Django。Python是一种高级编程语言,以其清晰的语法和强大...
《编程小白第一本Python入门书》便是这样一本书籍,它专门针对没有任何编程背景的初学者。作者在编写此书时,亲身体验了编程初学者的困惑和挑战,深知市场上充斥着大量对于编程新手来说晦涩难懂的教程。因此,作者...
Python是一种广泛应用于数据分析、Web开发、自动化脚本和人工智能等领域的高级编程语言。对于编程小白来说,Python以其简洁明了的语法和丰富的库支持,成为了理想的入门选择。"编程小白的第一本Python入门书"是一本...
内容概要:本文为Java开发者提供了一套全面的学习指南,涵盖从Java基础知识(如基本数据类型、控制结构、面向对象编程等),到核心类库(如集合框架、异常处理、多线程)和高级特性(如Lambda表达式、反射机制、JVM...
3. 掌握面向对象编程:理解类和对象的概念,学习如何使用继承、封装和多态性来编写面向对象的代码。 4. 学习模块和包的使用:Python模块和包是组织代码的方式,需要学会如何导入标准库模块以及如何使用第三方库。 ...
全程超过900分钟的视频讲解,一本书教会python核心编程、python数据分析、Python Web开发、数据可视化、Python机器学习、深度学习 带你轻松入门算法与数据结构《漫画算法》>> 声明:仅供学习分享,非商业用途
Python全栈开发工程师是当前IT领域中非常热门的职业角色,涉及到广泛的技能范围,从后端服务器开发、数据库管理到前端用户界面设计,甚至包括数据分析和机器学习。在Python的学习资源整理与重点技术摘要中,我们可以...
为了能让更多的编程小白轻松地入门编程,我把高效学习法结合 Python 中的核心知识,写成了这本书。随意翻上几页,你就会发现这本书和其他编程书的不同,其中有大量的视觉化场景帮你理解概念,穿插了若干有趣的小项目...