[TOC]
系列简书文章目录https://www.jianshu.com/p/d47d5cdc8a3e
本篇目录
一、前言
01内容适用
02选电脑
03用电脑
二、了解电脑
01什么是电脑、PC
02电脑硬件
03电脑软件
什么是电脑软件
软件工作原理
系统软件
应用软件
三、了解编程(新手跳过)
01什么是编程
02什么是编程语言
编程语言的分类
编程语言的特点
03编程语言选择
TIOBE
Python
Java
C
C++
选择语言
推荐语言
一、前言
每个小点内容最后都会总结,新手入门可以先看或只看总结部分,其他的后续熟练后查看文档方便新手菜鸟门快速入门-_-
01内容适用
从事软件工作十多年了,期间也在高职教过3年,也遇到过一些新手小白想学软件希望我教的.或者是教一些父母辈或子女被学习使用电脑, 其实学习很多时候就是循序渐进的, 有些多初学者去系统的学觉得麻烦反而没多久就失去了耐心. 然后就不想学了, 所以我想让我文档内容能帮助时间不足或耐心不够的新手快速入门学习. ; 此外当然有些新手却比较有耐心或时间比较充裕,我就留部分链接或文档方便其拓展系统的学习.我描述的是win系统其他系统的不适用 .大概意思如下:
- 有些人没时间
- 有些人有时间
- 文档给没时间的入门
- 链接给有时间的扩展
- win系统
02选电脑
新手学电脑第一件事可能是怎么去买新电脑, 我的看法是新手别买,让会使用电脑的人去帮你买; 选择台式? 还是笔记本? 我认为都可以,个人更喜欢笔记本一点.很多会使用电脑的人可能多年没买过电脑了不知道电脑行情我建议是大概淘宝或京东选择按销量排名选择销量前几个就行;如果懂电脑的想更深入了解可以去Bilibili 、优酷、腾讯等视频网站 搜索相关购买推荐视频 ; 一般搜索笔记本电脑推荐+年份(比如: "笔记本电脑推荐2024") 搜索后看完三四个视频大概就知道行情即可购买了. 目前(2024年) 比较出名的这种测评博主有笔吧评测室、小白测评、科技美学、科技老男孩、科技怪杰等. 注意电脑配置会和时间有比较大管理,所以需要注意所看视频是哪一年的,否则有可能过时; 此外测评博主也不一定完全客观, 买什么电脑的决定还是得你自己来选择. 大概意思如下:
- 让会用电脑的帮忙买
- 选笔记本
- 购物网站销量排名买
- 视频网站学习如何选购电脑
- 测评博主视频仅供参考
03用电脑
让新手用电脑需要注意的是让他们多尝试, 我以前带过一些没用过电脑的新手; 他们对于使用电脑比较害怕, 总担心自己吧电脑弄坏了;所以教新手的时候尽量放开点,让他自己大胆的用,多给新手些鼓励. 等他用多了自然也就会用了,不用太多的担心. 其次就是电脑本质上是一个工具,方便我们使用的工具,新手不要带有太多的神秘感用平常心来对待电脑. 此外学习是知易行难的,用电脑和学软件等更加如此, 所以有很多简单的内容也需要新学者学习后自己花时间去练习, 否则也会出现各种问题. 给新手点电脑开始的时候尽量简单点.大概意思如下:
- 多给新手鼓励
- 知易行难
- 多练习 多用
二、了解电脑
01什么是电脑、PC
我们先看比较官方的百度百科介绍: 计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。可分为超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机五类。计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响。它的应用领域从最初的军事科研应用扩展到社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步,计算机已遍及一般学校、企事业单位,进入寻常百姓家,成为信息社会中必不可少的工具。计算机的应用在中国越来越普遍,改革开放以后,中国计算机用户的数量不断攀升,应用水平不断提高,特别是互联网、通信、多媒体等领域的应用取得了不错的成绩。1996年至2009 年,计算机用户数量从原来的630万增长至6710 万台,联网计算机台数由原来的2.9万台上升至5940万台。互联网用户已经达到3.16 亿,无线互联网有6.7 亿移动用户,其中手机上网用户达1.17 亿,为全球第一位。
我们个人常说的"电脑"是指上述的个人计算机,下面是个人计算机的百度百科介绍:PC,(Personal Computer)个人计算机是指一种大小、价格和性能适用于个人使用的多用途计算机。台式机、笔记本电脑、小型笔记本电脑、平板电脑以及超级本等都属于个人计算机。
新手入门只需知道如下几点, 其他可熟练后了解
- 电脑概念广泛, 一般指PC
- 主要由硬件和软件组成
02电脑硬件
电脑硬件是构成计算机系统的物理组件,它们协同工作以执行数据处理和信息管理任务。 每个组件都有其特定的功能,共同构成了电脑的整体性能和功能。以下是电脑硬件的主要组成部分:
-
中央处理器(CPU):
- 被称为电脑的“大脑”,负责执行指令和处理数据。CPU的速度和架构直接影响电脑的性能。
-
主板(Motherboard):
- 是电脑内部所有组件的连接平台,包括CPU插槽、内存插槽、PCI/PCI-E扩展插槽和其他接口。
-
随机存取存储器(RAM):
- 提供临时数据存储空间,是电脑工作时存放操作系统、应用程序和用户数据的地方。
-
只读存储器(ROM):
- 存储基本输入输出系统(BIOS)或固件,用于启动电脑和配置硬件。
-
硬盘驱动器(HDD)或固态硬盘(SSD):
- 用于长期存储数据和操作系统。SSD比HDD更快,更可靠,但成本通常更高。
-
电源供应器(Power Supply Unit,PSU):
- 将交流电转换为直流电,为电脑各组件供电。
-
显卡(Graphics Processing Unit,GPU):
- 负责图形处理和视频输出,对于游戏和图形密集型应用特别重要。
-
输入设备:
- 包括键盘、鼠标、触摸屏、扫描仪等,用于向电脑输入数据和指令。
-
输出设备:
- 包括显示器、打印机、扬声器等,用于呈现电脑处理后的信息。
-
散热系统:
- 通常由风扇和散热片组成,用于冷却CPU和其他发热部件,保持系统稳定。
-
网络适配器:
- 允许电脑连接到网络,无论是有线的以太网卡还是无线的Wi-Fi适配器。
-
光驱(Optical Drive):
- 虽然现在越来越少使用,但光驱可以读取和写入CD、DVD或蓝光光盘。
-
声卡(Audio Card):
- 负责音频输入和输出,连接麦克风和扬声器。
-
扩展卡和端口:
- 如USB端口、串行端口、并行端口、火线端口等,用于连接外部设备。
-
机箱(Case):
- 保护内部硬件,提供必要的通风和散热,并为所有组件提供结构支撑。
新手入门只需知道如下几点, 其他可熟练后了解
- 电脑硬件新手可能主要选电脑时候需要关注, 选电脑参考前言部分
03电脑软件
什么是电脑软件
电脑软件是计算机系统中一系列指令的集合,这些指令告诉计算机硬件如何执行特定任务。软件可以大致分为两大类:系统软件和应用软件。软件是指运行在硬件之上的指令和数据,包括:
- 系统软件:如操作系统(OS),控制和协调硬件资源,提供用户界面和软件运行环境。
- 应用软件:如办公软件、浏览器、游戏等,用于执行特定任务。
- 编程语言和开发工具:用于编写和维护软件。
软件工作原理
电脑的工作原理基于冯·诺依曼架构,它规定了电脑的基本结构和工作流程:
- 输入数据和指令。
- 存储数据和指令。
- 执行指令(处理数据)。
- 输出结果。
系统软件
系统软件主要用于控制和管理计算机硬件资源,提供一个平台来运行应用软件。这类软件包括但不限于:
-
操作系统(Operating System, OS):
- 操作系统是计算机硬件与软件之间的桥梁,如Windows、macOS、Linux等,它们管理计算机的所有资源,包括内存、处理器、硬盘和其他设备。
-
设备驱动程序(Device Drivers):
- 驱动程序是操作系统和硬件设备之间的接口,允许操作系统与硬件设备进行通信,如打印机、显卡、声卡等的驱动。
-
实用程序(Utilities):
- 实用程序是一系列小型工具软件,用于辅助计算机的日常维护和管理,如磁盘碎片整理、病毒扫描、系统优化工具等。
-
编程语言和开发工具:
- 这些软件用于开发其他软件,包括编译器、解释器、调试器、集成开发环境(IDE)等。
应用软件
应用软件是设计来帮助用户执行特定任务的软件,它们运行在操作系统之上,利用系统软件提供的资源。软件是计算机功能的核心,它使得计算机能够执行从简单任务到复杂计算的各种操作。软件的种类繁多,涵盖了几乎所有的业务和娱乐领域。随着技术的进步,软件也在不断发展,变得更加智能化和用户友好。常见的应用软件包括:
-
办公软件(Productivity Software):
- 如Microsoft Office、Google Docs,提供文字处理、电子表格、演示文稿等功能。
-
多媒体软件:
- 用于处理图像、音频和视频,如Adobe Photoshop、Audacity、Adobe Premiere等。
-
游戏软件:
- 提供娱乐,包括各种类型的电子游戏。
-
通信软件:
- 用于电子邮件、即时消息、视频会议等,如Skype、Zoom、WhatsApp。
-
数据库管理系统(DBMS):
- 用于组织、存储和检索数据,如MySQL、Oracle、Microsoft SQL Server。
-
教育软件:
- 用于在线学习、课程管理、模拟实验等。
-
安全软件:
- 包括防病毒软件、防火墙、加密软件等,用于保护计算机免受恶意软件和网络攻击。
-
行业专用软件:
- 针对特定行业需求的软件,如CAD软件用于工程设计,会计软件用于财务管理。
新手入门只需知道如下几点, 其他可熟练后了解
- 知道软件这个概念即可
三、了解编程(新手跳过)
了解编程新手入门可以先不用看,等看完从0开始学电脑后, 要学习编程的时候再看.
前面已经知道电脑软件是计算机系统中一系列指令的集合,它们协同工作以执行数据处理和信息管理任务;那我们要怎么去控制这个管理过程呢这就涉及到编程了。
01什么是编程
编程,又称作软件开发或编码,是一种创造性的过程,通过这种过程,人们使用一种或多种编程语言向计算机(或其他电子设备)发出指令,以执行特定的任务或解决特定的问题。编程涉及设计、编写、测试和维护源代码,这些源代码最终会被计算机解释或编译成机器语言,从而让计算机硬件能够理解并执行。
编程的核心要素包括:
- 算法设计:这是解决问题的步骤和逻辑流程。程序员需要确定如何将问题分解成更小、更易于管理的部分,并设计出解决这些部分的步骤。
- 语法:编程语言有自己的语法规则,程序员需要按照这些规则来书写代码。不同的编程语言有不同的语法,例如C++、Java、Python、JavaScript等。
- 数据结构:数据结构是组织和存储数据的方式,常见的有数组、列表、树、图等。选择合适的数据结构对于提高程序的效率至关重要。
- 控制结构:这是控制程序流的语句,如条件语句(if-else)、循环语句(for、while)等,它们决定了代码的执行顺序。
- 函数和模块:函数是封装了一段代码的独立单元,可以重复调用。模块则是包含函数和数据的文件,可以被其他程序导入和使用。
- 调试和测试:这是确保程序按预期工作的重要步骤,包括识别和修复错误(bug),以及验证程序功能的过程。
- 文档:良好的文档有助于其他人理解代码的意图和功能,对于团队协作和后期维护非常重要。
编程不仅仅是一种技能,也是一种思维方式,它鼓励逻辑思考、创造性问题解决和持续学习。随着技术的发展,编程的应用领域也在不断扩大,从传统的软件开发到数据分析、人工智能、网络安全、游戏开发等多个领域都有广泛的应用。
软件开发是一个系统化的过程,旨在创建、设计、部署和管理软件解决方案。这一过程涉及到从最初的概念构想到最终产品的交付和维护的每一个阶段。软件开发不仅仅是编程,它是一个包含多个步骤的复杂活动,通常遵循某种软件开发生命周期(SDLC)模型。
02什么是编程语言
编程语言是用于编写计算机程序的一种形式化语言,它允许人类以某种结构化的格式向计算机传达指令。编程语言充当了人类与计算机硬件之间的桥梁,使开发者能够描述解决问题的算法和数据结构,进而由计算机执行这些指令。
编程语言的分类
-
低级语言:
- 这包括机器语言(二进制代码)和汇编语言(接近机器语言的符号化表示)。低级语言与特定的计算机硬件紧密相关,因此程序通常不具备可移植性。
-
高级语言:
- 高级语言更接近人类自然语言,语法结构更为抽象,可读性更好。这类语言通常具有丰富的内置功能,如数据类型、控制结构、异常处理等。常见的高级语言有C、C++、Java、Python、JavaScript等。
目前编程语言我们学习的更多的是高级语言,因为高级语言应用广泛,相关需求和工作更多。
编程语言的特点
- 语法:每种编程语言都有自己的语法规则,包括关键字、运算符、语句结构等。
- 编译与解释:有些语言需要先通过编译器将源代码转换为机器语言或字节码,然后才能运行(如C++、Java);而另一些语言则是通过解释器直接执行源代码(如Python、JavaScript)。
- 面向对象:许多现代编程语言支持面向对象编程(OOP),这是一种编程范式,使用类和对象来设计和组织代码。
- 函数式编程:函数式编程语言(如Haskell、Lisp)将计算视为数学函数的求值,避免改变状态和可变数据。
- 类型系统:编程语言有不同的类型系统,如静态类型(如C++、Java)和动态类型(如Python、Ruby)。
03编程语言选择
在企业中选择哪种编程语言取决于项目的性质、团队的熟悉程度、开发效率、可维护性、性能需求以及目标平台等因素。例如,Web开发可能更多使用HTML、CSS、JavaScript,而系统级编程可能倾向于C或C++,数据分析和机器学习则可能更多使用Python。编程语言是软件开发的基础,掌握一种或多种语言是成为一名程序员的必备技能。随着技术的发展,新的编程语言和框架不断涌现,开发者需要持续学习以适应行业变化。
但是个人学习可能是希望日后职业发展和语言热度等因素考虑,这时我们可以参考TIOBE 编程语言排行榜
TIOBE
TIOBE开发语言排行榜每月更新一次,依据的指数是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标。
该指数可以用来检阅开发者的编程技能能否跟上趋势,或是否有必要作出战略改变,以及什么编程语言是应该及时掌握的。观察认为,该指数反应的虽并非当前最流行或应用最广的语言,但对世界范围内开发语言的走势仍具有重要参考意义。
TIOBE 编程语言排行榜的官方网站是 https://www.tiobe.com/tiobe-index/ 。你可以在该网站上查看每个月更新的编程语言排行榜。
编程语言排行榜前4详细说明如下
Python
Python 是一种高级、解释型的通用编程语言,以代码的可读性和简洁著称。它被广泛应用于以下几个领域:
- 数据分析和科学计算:Python 拥有强大的库如 NumPy、Pandas 和 SciPy,非常适合数据处理、统计分析和科学计算。
- 机器学习和人工智能:Python 的 TensorFlow、PyTorch 和 Scikit-learn 等库是 AI 和 ML 领域的标准工具。
- Web 开发:虽然 Python 不是 Web 开发的唯一选择,但 Django 和 Flask 等框架使其成为构建服务器端应用的有力竞争者。
- 自动化和脚本编写:Python 用于编写系统管理脚本、自动化测试、构建工具和日常任务的自动化。
- 教育和初学者:Python 的语法简单直观,是教授编程和初学者入门的理想选择。
Java
Java 是一种面向对象的编程语言,设计为“一次编写,到处运行”。它在以下场景中得到广泛应用:
- 企业级应用:Java 在构建大型企业应用、后端服务和分布式系统方面表现优异。
- Android 应用开发:尽管 Kotlin 成为官方推荐的 Android 开发语言,Java 依然是开发 Android 应用的主流选择。
- 金融服务:银行和金融机构大量使用 Java 来开发交易系统和金融应用。
- 大数据和云计算:Java 在 Hadoop、Spark 等大数据处理框架中扮演着重要角色。
- Web 和服务器端开发:Spring 和 Java EE(Jakarta EE)框架使 Java 成为企业级 Web 应用的首选。
C
C 语言是一种过程式的编程语言,以高效和低级控制能力著称,常用于:
- 系统编程:操作系统内核、设备驱动和嵌入式系统常常使用 C 语言。
- 游戏开发:虽然 C++ 更常用,但 C 语言在游戏引擎的某些底层实现中仍有用武之地。
- 高性能计算:科学计算、数值分析和高性能应用经常使用 C 语言。
- 编写其他语言的库和工具:C 语言用于编写许多高级语言的底层库和工具。
C++
C++ 是 C 语言的扩展,增加了面向对象和泛型编程的特性,适用于:
- 游戏开发:C++ 是游戏引擎和复杂游戏逻辑的首选语言。
- 高性能应用:在需要实时处理和高计算效率的领域,如高频交易、科学计算和图形渲染,C++ 得到广泛应用。
- 系统和应用软件:C++ 用于开发各种系统软件、复杂的应用程序和软件工具。
选择语言
选择编程语言进行个人学习时,有几个关键因素可以帮助你做出决定:
-
学习目的:
- 职业发展:如果你是为了就业或转行,研究市场需求,看看哪些语言在招聘广告中频繁出现。例如,JavaScript、Python、Java 和 C# 目前非常热门。
- 兴趣爱好:如果你只是出于兴趣,可以选择你最感兴趣的领域对应的语言,如游戏开发(C#、Unity Script)、Web 开发(JavaScript、PHP)、数据分析(Python、R)。
-
可用资源:
- 有些语言拥有丰富的学习资源和活跃的社区,这可以加速你的学习过程。例如,Python 社区庞大,教程、书籍、在线课程和文档都非常丰富。
-
难度和易用性:
- 对于初学者,选择一门语法简单、易于上手的语言是个好主意,如 Python。而 C 或 C++ 则更适合有一定编程基础的人,因为它们的语法较为复杂,但提供了更底层的控制。
-
未来趋势:
- 考虑技术趋势和发展方向。例如,AI 和机器学习的兴起使得 Python 成为热门选择,而 Web 开发领域的 JavaScript 一直保持着强大的势头。
-
跨平台性:
- 如果你希望在多个平台上开发应用,选择跨平台的语言会更有优势,如 JavaScript 可用于 Web 和移动应用开发,而 Kotlin 和 Swift 分别适用于 Android 和 iOS 平台。
-
个人偏好:
- 不同的语言有着不同的哲学和风格,有些人喜欢函数式编程的简洁,有些人则喜欢面向对象的结构化。选择一种符合你思维模式的语言会让学习过程更加愉快。
-
项目实践:
- 最好的学习方式是在实践中学习。选择一个你可以用所学语言完成的小项目,这将帮助你巩固知识,提高解决问题的能力。
推荐语言
- Scratch:适合儿童和编程初学者,采用图形化界面,通过拖拽积木来编程,非常适合编程启蒙。
- Python:适合新手,语法简单直观,广泛应用于 Web 开发、数据科学、机器学习等多个领域。
- JavaScript:对于想要从事 Web 开发的人来说,JavaScript 是必不可少的,同时 Node.js 也允许使用 JavaScript 进行服务器端编程。
- Java/ C/C++:对于从目前职业发展和工作岗位比较推荐java 和C/C++;其中java更容易理解些
最后,记住编程语言只是工具,重要的是掌握背后的编程思想和解决问题的能力。一旦掌握了基本的编程概念,学习新的语言就会变得相对容易。不要害怕从头开始,保持耐心,坚持练习,你将会逐渐建立起自己的编程技能。