你真的想学编程吗?

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

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

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

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

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

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

  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。

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

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

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

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

以上。

  • 程序员

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

    529 引用 • 3527 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

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

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

    1 回复
  • 其他回帖
  • someone

    的确是我瞎编的,最理想化的情况了…[em03]

  • 为啥这么说……
    我之所以大学的时候选择计算机就是小王这个理由。。。
    虽然没走上游戏开发的道路 😂

    1 回复
  • someone756

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

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

推荐标签 标签

  • SOHO

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

    7 引用 • 55 回帖 • 99 关注
  • 单点登录

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

    9 引用 • 25 回帖 • 9 关注
  • Sillot

    Sillot (汐洛)孵化自思源笔记,致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点
    Github 地址:https://github.com/Hi-Windom/Sillot

    12 引用 • 26 关注
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    129 引用 • 791 回帖 • 1 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    324 引用 • 1395 回帖
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    57 引用 • 22 回帖
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1090 引用 • 3467 回帖 • 297 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 636 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖 • 57 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖
  • 黑曜石

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

    A second brain, for you, forever.

    9 引用 • 83 回帖
  • 倾城之链
    23 引用 • 66 回帖 • 93 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 906 回帖 • 177 关注
  • Webswing

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

    1 引用 • 15 回帖 • 633 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 581 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 4 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 596 关注
  • Electron

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

    15 引用 • 136 回帖 • 1 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    9 引用 • 32 回帖 • 179 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    83 引用 • 894 回帖
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    284 引用 • 4481 回帖 • 652 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    76 引用 • 37 回帖
  • OnlyOffice
    4 引用 • 19 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 676 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 429 关注
  • 安装

    你若安好,便是晴天。

    128 引用 • 1183 回帖