首页 > 编程语言 >零基础应该如何学习计算机编程?

零基础应该如何学习计算机编程?

时间:2023-08-01 13:44:45浏览次数:41  
标签:计算机 编程 技术 学习 程序员 数学

一、编程的概念 让我们简单介绍一下编程。编程是人与计算机之间的一种交流方式,通过编写一系列的程序指令,指导计算机执行相应的任务。专门从事编程工作的技术人员被称为程序员。 在计算机领域,编程可以细分为许多技术方向。从整体上看,可以分为两类,即高层编程和低层编程。 当然,这种划分只是为了方便理解,在学术上并不十分准确。接下来,我将分别介绍这两类编程。 1、高层编程 简单来说,高层编程更侧重于与计算机的外部交互。对于有一定计算机基础的人来说,计算机语言可以分为机器语言、汇编语言和高级语言。 高层编程主要使用高级语言,有时也会涉及一部分汇编语言,以实现与计算机的交互。这类程序员并不直接与计算机用户接触。 由于现代计算机的高度集成,许多高层编程工作都采用高级语言,比如C语言,而无需涉及复杂的机器指令。 举例来说,我们在安装打印机或扫描仪时,或者当手机首次连接电脑,又或者在安装操作系统后,通常需要安装相应的驱动程序。 这些驱动程序的编写工作,就由高层编程的程序员来完成。 2、上层编程 这类程序员需要与用户进行频繁沟通,负责将用户对软件的需求转化为实际的编程实现。他们使用的是高级编程语言。 这类程序员占据了整个程序员群体中的大部分比例,至少达到了90%以上,并且这个比例还在不断增加。如果你也想学习编程,那么你就属于这一类。 举个例子来说,我们每天浏览的网页,使用的手机APP,以及各种应用系统,都是由这类上层程序员编写的。 可以这样说,每个人都会与上层程序员有所接触,或者更准确地说,每个人都会直接或间接地与他们所编写的软件进行交互。为什么会这样说呢? 每天你都会使用手机,手机上安装着各种各样的APP,这些都是上层程序员的杰作;只要你接触电脑,你就会使用各种软件,而这些软件也是由他们编写的;即使你不用手机、电脑,但与你的日常生活相关的各种信息存储都依赖于各种软件构建的信息系统。 在21世纪,整个社会都离不开信息系统,它已经融入了我们生活的方方面面。 所以现在你不能说与程序员没有关系。作为一个有十年经验的程序员,我很庆幸能为大家提供服务,让大家的生活变得更加便捷。 学习编程的条件可分为两类人:一种是希望从事该行业的人,另一种是出于兴趣而学习。不管哪一类,初始学习阶段大体相同,只是后续深入程度有所差异。 下面将分析学习编程的前提条件,特指较高级的编程范畴。计算机学科由电学和数学组成,其中电学涉及硬件,而数学则负责软件。 提到程序员,你可能会联想到一天坐在电脑前,敲击键盘,屏幕上满是字符和数字,因此也将编程与英语挂上钩。这时可能会产生一些疑虑: 学习编程是否需要有电学基础? 是否必须具备深厚的数学功底? 英语水平是否需达到一定程度? 现在,我来为你做出解析。 1. 电学 这主要指涉及数字电路和模拟电路等学科。如果你希望深入了解计算机并与其进行更多交流,涉及硬件方面,即作为底层程序员,这方面的知识是必要的。但如果你只想学习上层编程,那么这方面并不是必需的。 2、数学 计算机学科是由数学学科发展而来的,在大学中也被称为数信学院。可见,数学的重要性不言而喻,没有坚实的数学基础,必然会遭到批评。 实际上,没有人是真正的零基础,就像你现在阅读这篇文章一样,如果你是零基础,连字都无法辨认,更何况理解内容呢? 因此,若你的文化程度只有初中尚未毕业,那么最好及早放弃学习编程,因为确实不适合。不过,如果你有一定的文化基础,从小到大形成了一定的逻辑思维,那已经足够应付这点逻辑思维需求了。 计算机软件编程发展至今,分工变得越发精细,就像工厂中的流水线工人一样,每个人都有自己的特定职责。 专业的数学模型由数学专家来完成,而与数学专家密切配合的程序员只占程序员总数不足5%;更多的程序员是与广大用户紧密联系,在开发符合需求的软件产品方面发挥作用。通常情况下,他们无需考虑深奥的数学问题。 3、英语 编程的过程中,虽然全是英文,但实际上都是一些常见的词汇。一旦真正开始编程,这些单词每天都会反复出现,时时刻刻都在你的视野里,我相信你肯定能记住它们。 对于软件中的一些交互或提示等内容所用的英语,都是相当简单的语法。万一遇到不懂的,还有百度嘛,为什么要害怕呢? 三、零基础如何入门? 现在,我相信你一定想要尝试了。在开始之前,我将更详细地介绍几个上层编程的方向。 1、前端页面技术 这个领域严格来说是属于美工或UI设计师的范畴,但我在这里介绍它,是因为它与程序员有很多交集。 在一些小公司中,程序员也会兼职这方面的工作。前端技术主要包括HTML、CSS、JavaScript等。 2、高级语言 这是程序员主要掌握的技能,包括主流的C、C++、Java、Python、Objective-C、Swift、Go、C#等。如果你愿意,可以百度搜索一下,有很多高级语言供你选择。 3、数据库 数据库主要用于数据存储,比如Oracle、SQL Server、MySQL、DB2等。当然,还有其他很多种类,你也可以进行查询。 举个例子,以百度这个搜索引擎为例。 页面上显示的搜索框和按钮是由前端页面技术完成的; 点击按钮后,后台会用高级语言进行搜索; 海量的页面和数据存储则需要数据库技术的支持。 从这里可以看出,这三层技术并不是孤立的,而是相互关联的。在一些公司中,会有详细的分工,一个人只需要掌握其中一种技术就可以,其他工作则交给专业的人员处理。 如果你有职业规划,并希望在未来专业发展,可以选择从一种技术领域出发。例如,如果你想成为美工或UI设计师,那么需要学习前端技术;如果想成为某门编程语言的程序员,那就专注学习该语言即可。若你想从事软件开发工作,就需要掌握高级语言如C/C++等技术。 但如果你只是出于兴趣驱动,想探索多个领域,这也是可行的。虽然学习多个技术可能让你有些担心,但其实无需过于焦虑。并不要求你每门技术都学得非常深入,只要入门了解即可。所以不必过于忧虑。 当然,你也可以选择专注于某一个方向的技术,玩得开心也是可以的。例如,如果你只学了前端技术,你的软件可能无法实现动态变化的数据;只学了高级语言,用户界面可能不够友好,只能通过控制台(类似DOS命令提示符)与计算机交互;只学了数据库,可能只能手动保存和查询数据,无法通过用户界面和自动化方式操作数据。 看到这里,我相信你对计算机编程已经有了一个清晰的框架。你一定对尝试编程充满了热情。作为一名老程序员,我欢迎你加入编程的行列。如果你还有疑问,也欢迎咨询我,我乐意带你一同前进。 喜爱编程的人们会明白,与一群志同道合的伙伴一起学习、共同解答问题是非常重要的! 一个免费的C/C++编程学习交流群由小编主持,这里提供编程学习资料(包括源码、零基础教程和项目实战教学视频),热烈欢迎初学者和正在进阶的小伙伴们的加入!有兴趣的小伙伴可以私信    

标签:计算机,编程,技术,学习,程序员,数学
From: https://www.cnblogs.com/2467118965z/p/17596225.html

相关文章

  • 【学习笔记-计算机网络基础】应用层
    概述 应用层是开放系统的最高层,是直接为应用进程提供服务的。 应用层协议和应用主要三种连接模式www(HTTP):服务器读取并处理、响应请求。BitTorrent:众多客户端自发构成文件部分,下载上传时由Tracker分配调度查询所处客户端。.Skype:找中间人传话,请求双房打开两座客......
  • 编程实现邮件地址有效性检测
    这个VB6COM组件提供了一项即时邮件查询的功能。它有效的避免了向一个不存在的账户发送邮件的情况。例如,在ASP页面里面检查用户输入的邮件地址是否正确,并避免在你的用户数据库里面存储相关的错误信息。主要内容工作原理让我们首先来看一下这个组件是如何进行工作的。首先给定一个E-......
  • (Python编程)目录工具
    ProgrammingPython,3rdEdition翻译最新版本见wiki:http://wiki.woodpecker.org.cn/moin/PP3eD欢迎参与翻译与修订。   4.3.DirectoryTools 4.3.目录工具Oneofthemorecommontasksintheshellutilitiesdomainisapplyinganoperationtoasetoffilesin......
  • 7.31 学习shell脚本
    shell定义:是一个语言解释器,将命令转化为二进制语言(机器语言)shell脚本window是.batlinux是.sh格式规范#!/bin/bash开头文件程序/bin/sh,也就是bash解释器。#!/usr/bin/python运行shell脚本的方式1.bashscript.shshscript.sh适用于文件本身没权限运行2.使用相......
  • git学习笔记(十二):多人协作
    从远程仓库克隆时,git自动把本地的master分支和远程的master分支对应起来了,可以使用gitremote命令查看远程库的信息。gitremote-v显示信息更加详细。推送分支推送分支就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支。这样,git就会把该分支推送到远程库对应......
  • 《Decision Transformer: Reinforcement Learning via Sequence Modeling》论文学习
    一、Introduction先前的研究工作表明,Transformer可以对处于高维分布的语义概念进行大规模建模抽象,比较典型地体现如:基于自然语言的零样本泛化(zero-shotgeneralization)分布外图像生成(out-of-distributionimagegeneration)鉴于此类模型在多个领域的成功应用,我们希望研究Tran......
  • python教程 入门学习笔记 第3天 编程基础常识 代码注释 变量与常量
    编程基础常识一、注释1、对代码的说明与解释,它不会被编译执行,也不会显示在编译结果中2、注释分为:单行注释和多行注释3、用#号开始,例如:#这是我的第一个python程序4、注释可以写在单独一行,也可以写在一句代码后面5、不想执行编译,又不能删除的代码,可以先用#注释掉,代码批量注释......
  • 爬虫学习(一)——requests库
    一、安装cmd-->pipinstallrequests安装测试>>>importrequests>>>r=requests.get("http://www.baidu.com")>>>r.status_code200>>>r.text 二、Requests库的get()方法r=requests.get(url)返回一个包含服务器的资源的Response对象,构造一......
  • SAS 编程技巧 - PROC SQL(二)
    上一节中,我们介绍了如何使用SQL创建和删除数据集、视图和索引。这一节我们介绍如何使用SQL修改数据集的结构和更新数据集中的数据。修改数据集结构使用ALTERTABLE可以修改数据集的结构,包括增加、删除变量、修改变量属性,以及对数据完整性约束(integrityconstraints)的操作......
  • 深度学习TensorFlow和CUDA、cudnn、Pytorch以及英伟达显卡对应版本对照表
    一、TensorFlow对应版本对照表版本Python版本编译器cuDNNCUDAtensorflow-2.9.03.7-3.10 8.111.2tensorflow-2.8.03.7-3.10 8.111.2tensorflow-2.7.03.7-3.9 8.111.2tensorflow-2.6.03.6-3.9GCC7.3.18.111.2tensorflow-2.5.03.6-3.9GCC......