编程是一项技能,不是一门知识!不要用做笔记的方式去学!

经常看到社区中有人发编程相关的帖子,看了内容后想到了大学的自己

所以发个帖子,算是一点提醒,给刚接触编程的同学

喜欢折腾笔记软件的人容易犯一种错误,就是把知识和技能混为一谈

编程是一项技能,不是一门知识!一定要区分知识和技能,理论和实践

学编程,80% 的时间需要把手放在键盘上敲代码,而不是去做笔记。用项目驱动的方式去学,而不是像初中、高中一样,一板一眼地,一节一节地去学。把基础的东西快速过一遍,然后找个项目跟着敲就行了

编程做笔记当然没问题——记录常见的 bug、常犯的错误、leetcode 算法、八股文、对基础原理的深究等等,但这只能占 20% 的时间,是锦上添花的事,不能反客为主。真正要习得这项技能,只能大量地敲,敲多了见多了就懂了,无他,唯手熟尔

包括大学那些什么《计算机组成原理》《设计模式》《计算机网络》,和真正的编程技能,相差甚远,就算把这些书看 100 遍,不实践的话,也做不好一个简单的项目

比如那 23 个设计模式,那 23 个模式是从具体的实践、具体的编程语言中总结归纳出来的,没有较多的经验看这些书完全是云山雾罩,很多模式其实就是 Java 这门编程语言自身缺陷造成的,换个语言压根就不存在那些问题。编程经验多了自己就能总结出一些模式和技巧的

数学同理,要真想考试中取得成功,关键就在于解题能力,既然是能力,那么一定要多刷题,在实践中形成数学直觉。而不是把定义、公式存到笔记里,去记忆。这是不行的,要在刷题中去理解、去运用,而不是去背诵

当然了,做笔记也很有用,比如用笔记记录、总结 leetcode 算法,八股文就很棒,毕竟面试要问这些。用数据库记录一道道算法题的学习状态、熟悉程度…闪卡记录一些关键写法,平时有空就刷刷,挺好的嘛。不过这远不能代替敲代码本身,做笔记是锦上添花的事,不要本末倒置,我相信 DV 以及社区大佬的编程能力肯定不是光靠看书、做笔记搞出来的

直观知识和抽象知识,叔本华这一段讲得很清楚了,最近在看哲学,发现叔本华是少数思想深刻又说人话的哲学家,其他什么黑格尔、海德格尔、拉康都不喜欢说人话,一大堆自造概念看着脑壳痛。叔本华认为真正有思想的人是能用简明扼要的语言把思想表述出来的,我也是这样认为的

Screenshot_20241101125009

  • 编程
    53 引用 • 266 回帖 • 3 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    169 引用 • 506 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Anastasia

    我确实是刚接触代码。比如在学 r 语言,纯自学,因为不是相关专业的。目前的方法是看书 + 代码 +gpt 解释 + 图片展示结果(有点像一本书),所以选择思源用来集成。想请问博主怎么看思源 + 代码的结合使用方法。我也想过用项目去驱动,但是没有基础知识的话,很多小地方都不太懂。

    1 回复
  • 其他回帖
  • CongSec 1 赞同

    我觉得这是要区分人群的,如果你是一位程序员的话,记不记得无所谓,因为每天都在使用,那么,对于非程序员的呢,平时没有那么多时间接触代码,比如说我学网安的,大一上学期学得 c 语言,自从那学期结束后,就没有在碰过 c 语言了,现在大二的我连个 while 循环的语法都忘记了,当时我也比较喜欢实操不喜欢记笔记,现在在后悔当初没留下笔记,感觉是要重新学一遍了

    😂

    2 回复
  • 醍醐灌顶 😋

  • jiusii

    目的不一样,你的目的是调用这些知识来看,但是楼主说的是精进,纯技能方面的精进,围绕 Project 的精进。遇到问题,解决问题是成长最快的,记得最牢的。调用知识对于技能来说用处其实不大,因为那些知识不是你的,不围绕 Project 的知识,都只能说存放在那里了,还没有转换成你自己的效率。个人浅显的理解

  • 查看全部回帖
Cavendish
理论是灰色的,而生命之树长青 成都

推荐标签 标签

  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 626 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 3 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 628 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 8 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    406 引用 • 1246 回帖 • 580 关注
  • 电影

    这是一个不能说的秘密。

    120 引用 • 599 回帖
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    85 引用 • 139 回帖 • 6 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 474 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 341 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 156 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    176 引用 • 815 回帖
  • sts
    2 引用 • 2 回帖 • 196 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 702 关注
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 4 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖 • 1 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    566 引用 • 3532 回帖
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22220 引用 • 88789 回帖 • 4 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    944 引用 • 1459 回帖 • 25 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 611 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 383 回帖 • 5 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 51 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 3 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    142 引用 • 442 回帖