你真的想学编程吗?

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

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

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

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

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

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

  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。

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

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

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

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

以上。

  • 程序员

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

    534 引用 • 3528 回帖 • 2 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
zjhch123
未来的事无人知晓,所以才有无穷可能。 杭州

推荐标签 标签

  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    4 引用 • 55 回帖 • 12 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    16 引用 • 53 回帖 • 122 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    60 引用 • 287 回帖 • 2 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 1 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 613 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 692 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    314 引用 • 1667 回帖 • 2 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 3 关注
  • 京东

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

    14 引用 • 102 回帖 • 406 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 640 关注
  • Electron

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

    15 引用 • 136 回帖 • 4 关注
  • WebComponents

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

    1 引用 • 25 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    40 引用 • 24 回帖
  • Elasticsearch

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

    116 引用 • 99 回帖 • 267 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    40 引用 • 40 回帖
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 3 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 292 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖 • 1 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 626 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    3 引用 • 82 回帖 • 2 关注
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1398 回帖
  • AngularJS

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

    12 引用 • 50 回帖 • 427 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    108 引用 • 54 回帖