首页 > 编程语言 >对于编程,实践和理论哪个更重要【最近有些事,没时间写文,就发篇水文吧,回头补】

对于编程,实践和理论哪个更重要【最近有些事,没时间写文,就发篇水文吧,回头补】

时间:2023-05-25 10:01:55浏览次数:42  
标签:视频 开始 理论 编程 实践 写文 抽象 发篇 具体


之前,我个人觉得实践重要,但每次被打脸的时候,又让我觉得理论好像比实践更重要,一次次,天平上的实践开始向理论倾斜,于是就有了今天的话题。对于编程,实践和理论那个更重要,我一路走过来,发现这一直是一个大家争论不休的话题。

我得出的结论是实践和理论都重要,两者就好像你的左膀右臂,缺一不可,但是两者你可以先选其一,再补其二,这也是大家为什么争论不休,因为大家可能走的路线不同,处在不同时期导致出现实践和理论哪个更重要。

狗子是初三开始学习的编程,当时买了两本书,书钱还是跟我哥借的,本来是想买一本c primer plus来看,记得是六十个大洋,但是有一个套餐是加c++ primer plus 一百多个大洋,心里想着,反正以后也要买,为了便宜,于是我就买了两本开始啃了起来(有点跑题,我继续说)。

我记得我当时学习C语言,前面很规矩,我一页一页认真的看,认真的做笔记,要不是那本笔记被我带去学校,就给你们拍张照了,可以说,我当时就是跟着理论的走的,书上是先介绍,再举例子,可是好景不长啊,我看书慢慢就看不下去了,五六百页的书,太枯燥,我就开始找视频看,不出你们所料,我视频也没看几天,我发现我一看视频我就想睡觉,不知道你们是不是这样。

从那以后,我开始走实践路线,什么叫实践路线,就是我把书扔了,开始自己琢磨,有了一点语法的基础,我开始自己想象着做一些东西出来,哪里不会,我就百度,我就复制粘贴代码,我发现这样好啊,都不用看书,直接就能实现,我陆陆续续靠着自己的想象实现了学生管理系统,贪吃蛇,俄罗斯方块等等小demo,当时的我可高兴了,但是随着慢慢的深入,知识就给我可爱的大嘴巴子!一次两次还好,脸皮厚,觉得不是自己的问题,多了就开始怀疑是哪里出了问题,其实就是理论出了问题(刚开始可能还意识可能还不知道是理论,只是后来回想起这些缺失的内容,它属于一个理论的范畴),实践到达了一个你现有理论所无法支撑的高度,你的实践开始受阻,开始左摇右摆,这个时候你开始不得不把理论重视起来。

这里可能有人开始有人会问,到了这一步晚了吗?可以告诉大家,不晚,我相信有很多人走的就是我这条路线,总结起来,这是一条从具体到抽象的道路,先选择了具体,再将抽象补上来。还有一条路就是从抽象到具体,计算机理论非常抽象,多数人在上大学时没有接触过计算机,大多数人都是从理论开始学起再慢慢带着知识去实践,在实践中巩固知识,这条道路前期是比较痛苦的,但只要你能坚持下去,也是一定能够成功的。

总的来说,当前大多数学校教育都是属于从抽象到具体,这是典型的传统学习方法。但是前期会枯燥,痛苦,看不到具体的成果,适合有毅力的人,如果觉得这种方法不适合你,倒不如选择一条从具体到抽象的道路,快速做出简单的程序软件来,这样学习的兴趣不会减退,随着自己对计算机程序的理解,再回过头来有针对性地学习计算机以及相关的基础理论,不要觉得第二条路就轻松,第二条路也是需要毅力!

无论是从具体到抽象,还是从抽象到具体,终究是需要两者兼得的,两条路选一即可,张雪峰说过这样一句话:等你到了一定高度,你会觉得理论和实践一样重要,大家感兴趣的可以找一下这段视频。

对于编程,实践和理论哪个更重要【最近有些事,没时间写文,就发篇水文吧,回头补】_编程语言


标签:视频,开始,理论,编程,实践,写文,抽象,发篇,具体
From: https://blog.51cto.com/u_14770531/6345089

相关文章

  • 网络编程基础
    OSI七层模型应用层:ttp协议、电子文件传输、文件服务器等表示层:解决我们不同系统之间语法的通讯会话层:建立与应用程序之间的通讯传输层:提供了端口号和接口协议TPC/UDP网络层:为数据包选择路由器、交换机定义了ip地址,可以根据ip地址找到对应的服务器数据链路层:传输有地址的帧......
  • 使用 StarCoder 创建一个编程助手
    如果你是一个软件开发者,你可能已经使用过ChatGPT或GitHub的Copilot去解决一些写代码过程中遇到的问题,比如将代码从一种语言翻译到另一种语言,或者通过自然语言,诸如“写一个计算斐波那契数列第N个元素的Python程序”,来自动生成代码。尽管这些专有系统功能强大,但它们仍然有......
  • R语言中的Stan概率编程MCMC采样的贝叶斯模型|附代码数据
    原文链接:http://tecdat.cn/?p=11161最近我们被客户要求撰写关于贝叶斯模型的研究报告,包括一些图形和统计输出。概率编程使我们能够实现统计模型,而不必担心技术细节。这对于基于MCMC采样的贝叶斯模型特别有用R语言中RStan贝叶斯层次模型分析示例stan简介Stan是用于贝叶斯推理......
  • 打卡 c语言趣味编程 列出真分数序列
    问题描述:按递增顺序依次列出所有分母为40,分子小于40的最简分数。分子、分母只有公因数1的分数叫做最简分数或者说分子和分母是互质数的分数,叫做最简分数,又称既约分数,如2/3,8/9,3/8等。思路:求分子小于40的最简分数,对分子采用穷举的方法。根据最简分数定义知:分子分母的......
  • 2023.5.24编程一小时打卡
    一、问题描述:已知Horse类是Pegasus类的父类,根据以下主函数完善程序内容,以实现规定的输出。不允许改变主函数的内容。intmain(){Horse*p1=newHorse;//输出:Horse申请了空间...Horse*p2=newPegasus;/*输出两行:Horse申......
  • 实验4 函数与异常处理编程
    print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)四处sum作用域不同。第一个是内置函数名称,第二个是赋值名称,第三个是局部变量,第四个是全局变量list1=[1,9,8,4]print(sorted(list1))print......
  • Linux网络编程中的惊群问题
    1.什么是惊群问题​ 如今网络编程中经常用到多进程或多线程模型,大概的思路是父进程创建socket,bind、listen后,通过fork创建多个子进程,每个子进程继承了父进程的socket,调用accpet开始监听等待网络连接。这个时候有多个进程同时等待网络的连接事件,当这个事件发生时,这些进程被同时......
  • 记录一下SOCKET编程
    记录一下基本的socket编程首先贴几段代码centos下的server代码#include<bits/stdc++.h>#include<unistd.h>#include<arpa/inet.h>#include<sys/socket.h>usingnamespacestd;intmain(){intserver,client;structsockaddr_inserverAddr,clientAddr......
  • 编程打卡:面向对象程序设计
    importjava.util.*;publicclassStaffManagementSystem{privatestaticList<Staff>staffList=newArrayList<>();publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);while(true){......
  • 【编程日记】搭建python开发环境
    0.相关确定0.1确定操作系统Python是一种跨平台的编程语言,这意味着它能够运行在所有主要的操作系统中。然而,在不同的操作系统(Windows/Mac/Linux)中,安装Python的方法存在细微的差别。本教程我们使用的是Windows系统,对于Mac和Linux暂时不做介绍0.2确定Python版本当前有两个不同的......