你真的想学编程吗?

本贴最后更新于 2167 天前,其中的信息可能已经时移世异

计算机行业发展迅速。光从近些年互联网公司/计算机软件公司的用人荒就能看出。还依稀记得前些年报志愿的时候,家人劝我别报计算机的理由是:“计算机这种东西,以后会像开车、烧饭一样,人人都会的”。也不知道现在还会有多少人会用这样的眼光来看整个计算机行业,毕竟真正的计算机和平常人认为的计算机,真的不是一回事吧。

打个很常见的比方。程序员一放假到家,各路亲戚总是坐不住,”小张,家里电脑坏了,你有空来看下!”、“小张,这个手机有问题,你帮我修一修。”这样的声音层出不穷,而当你真正接触了某些修电脑时遇到的问题时,发现自己并不会修,他们也会用一种奇怪的眼光看着你,”你不是学电脑的吗?怎么连这个都修不好。”

扯远了哈。其实我主要想说的是,学计算机,学的是设计思想、组成原理、系统结构、操作系统,以及,编程。并不会像绝大多数人想像中的那样。

从大二开始学会用自己的双手创造自己的程序的时候,就陆陆续续有小伙伴咨询我,说自己想学计算机,想学编程,想要我帮帮忙,指一条路。

其实我是很赞成大家都来学编程的,脑子里一下能浮现出的赞成的理由就有:

  1. 编程是把事物不断细分的过程,能够锻炼人的逻辑能力;
  2. 编程需要一个清晰的思路,能锻炼人的思维能力;
  3. 编程是一个创造的过程,能提高人的创造力;
  4. 编程可以帮助人将重复的手工劳作转化成自动化的过程;
  5. 。。。

对于小朋友来说,第 1、2、3 点非常关键,要不为什么老美那边正在不断让编程“低龄化”,走幼教路线呢。

而对于我们来说,第 4 点相当吸引人。因为目前而言,绝大多数的人从事的工作是要使用计算机的,而这些使用计算机的工作又有绝大部分是重复的手工劳作。我母亲的工作单位是医院,有一次需要将一些汇总好的 word 文件里的数据依此填到医院的系统中,其主要工作就是:

  1. 打开 word;
  2. 找到对应的行列;
  3. 复制到系统对应的输入框中;
  4. 跳转到 2,直到 word 内的所有数据都被填入系统;
  5. 提交;
  6. 打开下一个 word,跳转到 2,直到 word 全部被录入完成。

而由于数量过大,单位安排了许多医生护士,让他们在闲暇时间都来帮忙做这些“复制黏贴”的工作。
(我曾经想帮助医院开发自动录入系统,并且已经制作完成。奈何和医院管理系统的制作方的沟通存在些许问题,一直没有真正帮上忙,非常惭愧。)

这就是重复劳作,这也是许多人真正想来学计算机(其实是编程)的理由。

编程很简单的吗?
是!

编程非常简单。配合上目前已有的高级程序设计语言中的战斗级语言(Python),初学者一天时间做出我上文所述的信息录入程序不是梦!

上文说了大二开始有小伙伴陆陆续续找我说想学编程,想入门。最开始的时候我也很热心,毕竟自己喜欢的东西被他人认可并也想学习是一件非常开心的事。我会很细致的问,啊你学这个主要是想干什么啊?之前有没有相关基础啊?是想从最基础的开始学还是直接上手啊?之后也会认真仔细的帮忙查找一些资料推给小伙伴,告诉他们别踩某些坑,让他们知道各个编程语言之间的好坏、用途、学习曲线,会帮助他们一起制定一些学习计划…然而在我看来,真正学的有所成就,能很自豪的对别人说“我会编程啦!”,只有一人。

剩下的要不就是在第一次聊天过后就了无音讯,要不就是在聊过几次后表示“编程太难,不如回家种红薯”,要不就是学学停停,总有更美丽的事物在不断吸引他,要不就是“忙,最近没时间看,等空了一定看”…

其实我也是有点厌烦了。Java 和 Javascript 的关系解释了一百遍,前端和后台的区别说到自己都想吐,廖雪峰老师的 python 教程一天发 8 次,马士兵老师的 java 资料被我永久共享在百度云首页,知乎里专门开了一个收藏来存学习路线…

现在想想真是瞎忙活。以后或许会出现这样的对话吧:

-- “在吗?编程难吗?我想学”
-- "难,建议别学。"
-- "有什么推荐吗?我想做 XXX,我看网上说 XXX 语言蛮好的"
-- “没有,滚。”

我建议,在问之前,真正静下心来想想,自己是不是真的想学编程?学编程的目的是什么?只是解决眼前这个问题吗?说真的,如果是那样的话,还不如给我些许报酬,请我吃顿火锅,然后让我来帮你完成需求。这样学习成本最低,也不占用你的时间,有更美丽的事物也可以去追,而且对我也友好,既赚到了钱,也吃到了火锅,也练了手。

如果你是真的想学编程,也建议你好好想想,编程能带给你什么?其中最主要的一条就是:

能不能真正帮你解决生活上、工作上的需求?并且在将来是否还能持续发挥余热?

毕竟基于需求、基于项目的学习,学习效率是最高的。

比如你是从事统计方面的工作,每天都要接触许多 excel 表格,经常需要对其进行汇总、合并等操作,那么我觉得,使用合适的编程语言制作一个适合自己团队使用的自动化工具,是一件非常自豪、非常拿得出手、非常值得去做的事。而在学习编程之后会发现,更多的统计工作都可以用编程去完成,别人辛辛苦苦花了一天汇总表格,可能你只要上班之后花 30 分钟写个脚本,花 15 分钟调试,再花 20 秒运行,一天的工作就结束了。

你是否真的有足够的兴趣花时间去学习一些符号化的、抽象的语言?

小王非常喜欢游戏,非常想自己制作一款游戏,那么在兴趣的驱动下,小王先后接触了 Unity3D,C#,OpenGL 等…小王不断的用兴趣鞭策自己,终于做出了自己的游戏。前后耗时 2 个月。小王也用制作游戏的经历,顺利的拿到了大厂的 offer。

你觉得你的行业可能被计算机取代,所以你想来了解一下取代你的到底是何方神圣并且从事这方面的工作?

那你大可放心大胆的往下学,这涉及到饭碗的问题相信你自己会不断鞭策自己。而且我相信,程序员绝对会是最后一个被计算机取代的职业,毕竟,剽悍的职业不惧阿尔法狗,充满创造性的行业不可能被取代。

在真正想过这些问题之后,你大可以来问我,我想学编程,从哪里开始入门比较好?或者如果你觉得我不够专业,也可以去知乎上查找一些学习进阶路线,去谷歌上找更专业的学习路线,去听国外的专业课程来提高自己。

说到底,如果你真的想学编程,那么请立刻马上从现在开始,不要拖延!并且编程是要花时间锻炼的,所以请坚持练手,请坚持积累,也请坚持分享!

以上。

  • 程序员

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

    568 引用 • 3532 回帖

相关帖子

欢迎来到这里!

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

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

    我觉得这种个案太鸡汤了

    1 回复
  • 其他回帖
  • 88250

    谢谢分享。小王那部分如果是真的,那我还是建议不要学习编程了....

    1 回复
  • someone756

    不热爱编程,在编程路上是走不远的!!

  • someone

    是啊…很多很多这样的人

  • 查看全部回帖
zjhch123
未来的事无人知晓,所以才有无穷可能。 杭州

推荐标签 标签

  • 导航

    各种网址链接、内容导航。

    40 引用 • 173 回帖
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 2 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 64 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 5 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 660 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 453 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    266 引用 • 665 回帖 • 1 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 155 关注
  • 锤子科技

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

    4 引用 • 31 回帖 • 2 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 64 关注
  • Electron

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

    15 引用 • 136 回帖
  • WebClipper

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

    3 引用 • 9 回帖 • 1 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 212 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    125 引用 • 169 回帖
  • CodeMirror
    1 引用 • 2 回帖 • 130 关注
  • WebComponents

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

    1 引用 • 1 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 171 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 177 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖 • 1 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 168 关注
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    8 引用 • 30 回帖 • 406 关注
  • 数据库

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

    342 引用 • 708 回帖
  • AngularJS

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

    12 引用 • 50 回帖 • 474 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    15 引用 • 122 回帖