学编程的起点——编程常识知多少

前言:

刚去大学那会,我就知道我被录取的学院是软件学院,还知道一点就是软件学院主要是学电脑的,但具体要学什么其实一无所知。待的时间久了,慢慢的,像“编程”、“软件”、“系统”、“显卡”、“网卡”这样的一些词时常在耳边萦绕,怪我之前对电脑接触不多,对别人来说是常识性的东西对我而言却是一头雾水,理解起来感觉很抽象,让我迷茫了许久。直到后来,听人说多了,百度搜多了,理解加深了,该明白的也都明白了。等我明白之后,我反思,这么简单的东西为什么经过了如此长的时间才明白,至少有两点:第一,隔行如隔山,之前根本没接触过的领域,贸然前行致盲是肯定的;第二,缺少专业引导,身边的人对电脑的理解程度层次不齐,对那些从小电脑玩的飞起的人来说,刚入行的人问的问题就像刚上学的小学生问大学生1+1等于几,所以小白不好意思开口问,大佬也不好意思开口答,这种默契带来的伤痛只能由时间去化解。花费时间是有成本的,好多时候时间就是金钱,尤其在大学的软件专业,高昂的学费就是你的学习成本,你把这些成本花费在无关痛痒的“常识”身上,替钱不值,但是你不花时间在这些“常识”身上,有时也会让你进退两难,换位思考之下,我决定把我通过花费时间成本学习来的“常识”分享给即将入校的学弟学妹们,祝你们在大学学习愉快!

转变思维,走进编程

上面提到了一点,软件学院是学电脑的,其实也没毛病,反正也是跟电脑打交道的,建议去学校报到的时候自带电脑。再说软件学院会学什么,其实顾名思义,肯定跟软件有关,那我先从软件入手,什么是软件呢?为了方便新手理解,我就用大白话通俗点说了,等你明白我说的这些大白话后再去看一些官方的定义,这样有助于你的理解。软件其实我们生活中常用的一些应用,比如聊天类的QQ、微信;购物类的淘宝、京东;游戏类的吃鸡、英雄联盟等等吧,这些我想大家都再熟悉不过了,这些都可以称作为软件。软件是个抽象的名词,所以你也不用在这钻牛角尖,你可以把软件进行分类,比如说可以分成系统软件、应用软件等。先说系统软件吧,我想就算你是个小白,你至少也应该知道你现在用的电脑上装的是windows系统吧,那这个windows系统就是一个系统软件,系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。

在这提到“硬件”一词,那我也来解释一下,首先说定义,硬件是指组成计算机的各种物理装置,我们平时说的“买一台计算机”,购买的其实就是硬件,最主要的硬件有:主板、中央处理器、硬盘、内存等。

主板是整个计算机的“交通枢纽”,各种器件都要连接到主板上,才能正常工作。

中央处理器是计算机的“大脑”,它是计算机的运算核心和控制核心。

硬盘是计算机的“笔记本”,上面记录了各种数据,需要的时候,就会从这里读取或往这里写入。

内存是计算机的“稿纸”,一般来说,同一个处理器能利用的内存越大,运算速度也就越快。

有趣的是,显示器虽然是人们关注最多的设备,但它其实并非是一个必须的硬件,对于个人计算机来说,即使没有显示器也可以正常运行,但只要少了上面所说硬件中的任何一个,计算机就不能正常运行了,硬件就像我们人体的骨骼,有了骨骼的支撑,计算机才成承载软件,发挥作用。好,这是对硬件的理解,那继续之前所说的系统软件。

像这样的系统软件还有很多,以后我会提到的,先暂时了解windows这一个系统软件就可以了。知道了系统软件,再说应用软件,它是为了某种特定的用途而被开发的软件,它可以完成各种具体任务,比如游戏、办公、存储数据等等,没有应用程序的计算机,基本上什么功能都没有,值得一提的是,应用程序必须在操作系统的支持下才能运行。

熟悉智能手机的同学都知道,应用分为“安卓版”、“ios版”等几种,如果安装的时候选错了类型,是不能安装的,更不要提正常运行了。

软件就像人体的血管、肌肉,如果空有一身骨架,而没有相对应的软件,计算机也只能是一堆废铜烂铁。

再说简单点,其实软件就是我们所说的“程序”或“应用”,软件由人类编写而成,具有各种各样的功能,在上面说了硬件,其实硬件就是服务员,只会“按图索骥”,软件怎么说,硬件就怎么做。换句话说,没有安装软件的计算机,什么都不会做,软件有许多种,操作系统是其中非常重要的一种,顾名思义,人们只有通过操作系统才能让计算机执行各种指令,电脑的“Windows”系统,手机的“安卓”系统、“iOS”系统等都属于操作系统,我想看到这你应该明白了不少吧,要是还没明白,就再多看几遍,看图理解也行,至少你现在要明白没有安装软件的计算机就是一堆废铜烂铁,应用程序必须再操作系统的支持下才能运行。

补充说明:

本来有好几部分内容要写,可没意料到的是就这点小常识写了2000多字,为了缓解一下读者的眼睛疲劳,我决定此篇到此结束,欲知后事如何,请看下回分解。

*****************************************************************************************************

我的博客园地址:https://www.cnblogs.com/zyx110/

Java匹马行天下之学编程的起点——编程常识知多少的更多相关文章

  1. Java匹马行天下之学编程的起点——高级语言大锅烩

    学编程的起点——高级语言大锅烩 前言: 学知识前总想说点鸡汤,想喝的朋友就看看,不想喝的就直接看干货吧,就当鸡汤是给我自己喝的. 前段时间在网上看了一句话感觉挺触动我的,我做个分享: 如果你觉得你的祖 ...

  2. Java匹马行天下之学编程的起点——走进编程的殿堂

    学编程的起点——走进编程的殿堂 前言: 知其然,知其所以然,努力固然重要,但是思维的提升会让你事半功倍,我会用我花费时间换来的“思维”带更多的朋友入门,让你们明明白白学编程,学编程,不迷茫. 转变思维 ...

  3. Java匹马行天下之新手学习目录

    Java匹马行天下之新手学习目录 学习路线 [Java匹马行天下——Java学习路线] [Java匹马行天下——开篇学习计划] 基础篇 [Java匹马行天下之学编程的起点——编程常识知多少] [Jav ...

  4. Java匹马行天下之教你用学汉语式方法学编程语言

    Java匹马行天下之教你用学汉语式方法学编程语言 前言: 前段时间接连更新了带小白从入门到了解的几篇博客: <Java匹马行天下之编程常识知多少> <Java匹马行天下之走进编程的殿 ...

  5. Java匹马行天下之J2EE框架开发——Spring—>Spring框架知多少

    ————也许我注定成不了一个伟大的人,但是至少我可以做一个很棒的自己.我想我现在应该做的不是瞻前顾后,而是活在当下,正确认知自己,做好自己现在的工作,努力提升自己的能力,踏踏实实地做一个程序员 一.思 ...

  6. Java匹马行天下之C国程序员的秃头原因

    Java帝国的崛起 前言: 分享技术之前先请允许我分享一下黄永玉老先生说过的话:“明确的爱,直接的厌恶,真诚的喜欢.站在太阳下的坦荡,大声无愧地称赞自己.” <编程常识知多少> <走 ...

  7. Java匹马行天下之 Java国出了个Java——举国欢庆

    Java帝国的崛起 前言: 看庭前花开花落,宠辱不惊, 望天上云卷云舒,去留无意. 闹心的事儿,选择释怀: 纠缠的人儿,试着放下, 生活其实很美. 心若向阳,就无惧悲伤. 愿你明朗坦荡纵情豁达,有得有 ...

  8. Java匹马行天下——开篇

    个人感言: 匹马行天下是我高中时候看过一部叫<九鼎记>的小说中的其中一个大章节标题,在整个这一章中,讲的是是主人公滕青山历经艰险,又心如磐石,一心修行,最后巅峰归来的故事.现在回想,依旧心 ...

  9. Java匹马行天下之JavaWeb核心技术——JSP

    JSP动态网页技术 一.JavaWeb简介 一.什么是JavaWeb? JavaWeb是用Java技术来解决相关web互联网领域的技术总称. 需要在特定的web服务器上运行,分为web服务器和web客 ...

随机推荐

  1. pip命令详解

    使用详解 1.pip安装软件 # pip install SomePackage 2.pip查看已安装的软件 # pip show --files SomePackage 3.pip检查哪些软件需要更 ...

  2. BZOJ2301/LG2522 「HAOI2011」Problem B 莫比乌斯反演 数论分块

    问题描述 BZOJ2301 LG2522 积性函数 若函数 \(f(x)\) 满足对于任意两个最大公约数为 \(1\) 的数 \(m,n\) ,有 \(f(mn)=f(m) \times f(n)\) ...

  3. 无需重新安装软件,将软件从C盘移至其他盘(mklink)

    事先说明,这篇博文算是视频的文字转载版,来源为该视频的五分钟后内容→https://www.bilibili.com/video/av78397784/ 如何拯救标红的C盘[高玩] 有时候安装软件会手 ...

  4. [译]Vulkan教程(27)Image

    [译]Vulkan教程(27)Image Images Introduction 入门 The geometry has been colored using per-vertex colors so ...

  5. 由异常:Repeated column in mapping for entity/should be mapped with insert="false" update="false 引发对jpa关联的思考

    由异常:Repeated column in mapping for entity/should be mapped with insert="false" update=&quo ...

  6. mjml - 如何快速编写响应式电子邮件?

    一.背景 以前做项目碰到发邮件的需求,邮件模板的编辑就是一件头疼的事.因为虽说邮件是支持 HTML 的,但是确是 HTML 子集程度的支持,所以存在必须通过 <table> 排版的恶心之处 ...

  7. SSM实现mysql数据库账号密码加密连接

    引言 咱们公司从事的是信息安全涉密应用的一些项目研发一共有分为三步,相比较于一般公司和一般的项目,对于信息安全要求更加严格,领导要求数据量和用户的用户名及密码信息都必需是要密文配置和存储的,这就涉及到 ...

  8. 高并发 Nginx+Lua OpenResty系列(11)——流量复制/AB测试/协程

    流量复制 在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线.这其实就需要进 ...

  9. 如何获取JVM堆转储文件

    堆转储是诊断与内存相关的问题(例如内存泄漏缓慢,垃圾回收问题和 java.lang.OutOfMemoryError.它们也是优化内存消耗的重要工具. 有很多很不错的的工具,例如Eclipse MAT ...

  10. Windows系统调用中的系统服务表

    Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows系统调用中的系统服务表 如果这部分不理解,可以查看  ...