对于程序员来说,看书啃理论和动手撸项目哪个更重要呢?

本贴最后更新于 2250 天前,其中的信息可能已经时异事殊

欢迎各位发表观点,在技术精进的路上二者更应该哪个为主哪个为次呢?

  • 程序员

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

    588 引用 • 3538 回帖
  • 学习

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

    172 引用 • 516 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9549 引用 • 43489 回帖 • 101 关注

相关帖子

欢迎来到这里!

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

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

    从公司企业的角度,能解决实际的需求是首要任务,所以有完整的项目经验更重要;我所理解的理论是阅读某一领域内的优秀论文,这侧重于研究员的职位,你所说的理论应该是数据结构、算法或者某个框架的内部实现原理,如何是这种基础理论知识的话,是要在业余时间学习的。

  • 其他回帖
  • lizhongyue248 1 赞同 via Linux

    说说我的理解吧。。。个人一些看法,经历、阅历有限。

    看书啃理论其实会让自己很有**“料”**,看了什么的东西,就可以说出一些东西,这些东西能有些可以伴你终身,有些转瞬即忘,但是或多或少都会让你有所进步。而在和别人谈论的时候,这些东西就是你的底气,曾经看到一句话,一个人的谈吐,可以看得出这个人读了多少书。虽然不绝对,但是我个人觉得也有一定的道理。这个过程很缓慢,但是却一点一点的实实在在的在改变着你的本质,或许你不会动手许多东西,但是任何东西你都能够说个所以然或者头头是道。但是一旦动手大项目,估计就会力不从心了。

    而撸项目就是很有**“量”**,其实可以从另外一方面来说,因为对于一个项目来说,你甚至可以不需要知道许多东西,就可以动手干起来,不会的就动手百度,google,然而这些项目真实的价值多少,明眼人一眼就可以看得出来。但是不得不说的是,量变产生质变的道理在哪里都基本适用,在你对一个框架使用、了解多了以后,你也会渐渐明白许多东西,有些是书本上没有的,有些是书本上有的,或多或少,遇到的问题多了,自然就会学会很多。动手能力强了很多,百度 google 的能力也强了很多,搜索问题遇到问题的解决方式也不断改善。但是一旦有些问题涉及过深,你就会力不从心了。

    两者都是殊途同归,都可以锻炼人,然后充实自己,区别就是一个是理论一个实践,就类似于研究生的学硕、专硕(虽然国内有些区别不太明显)。

    所以无非就是看你对自己定位如何,举个简单的例子,spring boot 吧。

    如果你是一个有耐心,希望一步一步前进的人,那么就是理论为主,实践为辅,先学习构建工具 maven 或者 gradle 或者其它,再去 spring 的一些基础,了解 ioc、aop 这些,然后学习 spring mvc 等等,都是通过看书学习,然后简单代码实践,最后再来看 spring boot 然后实践,你会发现轻松很多。

    如果你是一个想先看成果的,那么直接找到 spring boot 的 demo 直接上手部署运行,直接撸起来,跑起来再说,遇到问题百度、google、v2ex、stackoverflow 各种搜,最后花时间部署起来了,再去慢慢熟悉,一个一个知识点的慢慢补充,这就是实践为主,理论为辅。

    你是什么样的人,你就应该选择什么样的方式去学习。

  • Vanessa via macOS

    试问哪个程序员不需要动手撸项目,不过项目撸多了。有些理论上的术语忘记叫啥,也是蛮尴尬的。

  • visus

    初学者我会愿意看书,对于以入门者,我会根据现在项目需求造轮子,而且是可以复用的轮子,根本不需要思考的问题

  • 查看全部回帖
EvilCodes
我的世界,我的代码,我的逻辑。

推荐标签 标签

  • Webswing

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

    1 引用 • 15 回帖 • 642 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 233 回帖 • 4 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 401 关注
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1395 回帖
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 554 关注
  • danl
    166 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 533 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖
  • AWS
    11 引用 • 28 回帖 • 12 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    56 引用 • 85 回帖
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 502 关注
  • 笔记

    好记性不如烂笔头。

    310 引用 • 794 回帖
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 637 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 2 关注
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    8 引用 • 26 回帖 • 3 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    345 引用 • 742 回帖
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 315 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 1 关注
  • 爬虫

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

    106 引用 • 275 回帖 • 2 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖
  • OnlyOffice
    4 引用 • 20 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 7 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 455 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖 • 1 关注
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    6 引用 • 26 回帖 • 548 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    226 引用 • 476 回帖