ArchSummit深圳站7折本周截止,点击立减2640元>> 了解详情
写点什么

程序员,不要急于学习编程语言,先学会如何解决问题

  • 2019 年 2 月 25 日
  • 本文字数:1106 字

    阅读完需:约 4 分钟

程序员,不要急于学习编程语言,先学会如何解决问题

这是一篇关于虚度青春的短篇回忆录。


多年来,我一直在学习编程语言,然后用它们来构建更好的投资工具。在建立预测和风险管理模型之余,编程方面的工作堆积如山。


但实际上,我并没有花太多时间在真正需要解决的问题上。


我把大部分注意力放在了算法和编程语言上。多年来,我每周都要花几个小时学习计算机基础知识,却没有花太多时间应用这些知识来让现实世界变得更美好。


而我的一个朋友却基于微软 Office 开发出了一个完整的产品,它使用 Access 保存数据,使用 Excel 分析数据,然后使用 Word 输出报告。


当他把产品卖给一家大公司时,我为他感到高兴,同时也有些嫉妒。我比他更了解编程,但却没能推出可以解决实际问题的产品。


实际上,为什么要开发产品比如何开发产品更加重要。我花时间学习如何编程,而我的朋友把时间花在解决实际的问题上。


他从使用非常简单的工具开始,一步一步往前走,直到找到一个完整的解决方案。在这个过程中,他自学了如何将其他工具整合在一起。这仍然需要做大量的工作,但他做到了,尽管资源非常有限。


神奇之处在于“为什么”

后来,我加入了一家初创公司,并最终汲取了这个教训。


一个团队能否取得重大突破从来都不取决于如何使用代码完成某些功能,而在于知道要做什么,以及为什么要这样做。


在创造性的旅程中,没有什么比在不必要的东西上投入太多更令人心碎的了。


如果你想要创造出一些有用的东西,首先要知道“为什么”要这样做。从一开始你就要问自己:谁会用这些东西,它们将如何改善他们的生活?


专注于解决真正的问题可以加快学习速度

当你专注于真正需要解决的问题时,大脑中的信息留存率会更高。我们的大脑会优先考虑需要保存的信息,并忽略大部分其他东西。这样可以节约能量,但不利于学习。


知道自己为什么要学习,就相当于触发大脑要优先考虑新信息。


追求创造性的活动会让你学得更快,而这并不要求你一定要学会一门编程语言。


下面这些事情比学习编程语言更重要

找到真正的问题。


把问题写下来,它现在是什么样的,它应该是什么样的,并尽可能详细。例如,如果你的问题与使用 Office 文件格式保存数据有关,那么就详细说明这方面的问题,这样有助于找到最好的解决方案。


当你对问题本身以及你想如何解决问题有了很好的描述,你就已经成功了一半。


然后你要努力去澄清问题,朝着可以找到解决方案的方向迈进。


如果你在这个时候纠结于编程语言,那么你可能不是一个好程序员。你要不断培养描述问题和解决方案的能力。


当你对问题有了很好的描述,并且确切地知道想要什么,然后再去学习一门编程语言来解决这个问题就变得很容易了。


英文原文

https://medium.com/datadriveninvestor/dont-learn-a-programming-language-solve-a-problem-instead-654f6bbfb573


2019 年 2 月 25 日 15:398810
用户头像
小智 前 InfoQ 主编

发布了 408 篇内容, 共 340.4 次阅读, 收获喜欢 1877 次。

关注

评论

发布
暂无评论
发现更多内容

从全国首起暗网案件告破说起——暗网,超乎你想象

石君

网络安全 暗网 洋葱网络

自助设备系列——上下游

孙苏勇

产品 行业资讯 智能设备

我的编程之路-2(首秀)

顿晓

方法 沟通 新项目

聊聊Redis SDS

hxzhouh

redis

我的工作原则与思考

梁帅

互联网 工作效率 原则

Grafana+Prometheus(InfluxDB)+Jmeter使用Nginx代理搭建可视化性能测试监控平台

软测小生

Grafana Prometheus Influxdb Jmeter 性能测试

C语言程序的基本结构

C语言技术网-码农有道

C/C++

高仿瑞幸小程序 03 创建轮播图

曾伟@喵先森

小程序 微信小程序 大前端 移动

面对压力的战略和战术

这小胖猫

管理 精神力 逻辑思维 压力 工作思路

关于 WordPress-Automatic 的分布式办公实践

刘培培

分布式办公 远程办公

ELK 日志收集简易教程

meng

elasticsearch Logstash Kibana ELK Filebeat

Java并发编程基础--Java内存模型

Java收录阁

有没有什么上古的程序代码至今依然没被更替?

极客时间

编程 程序员 开发

分析Kubernetes技术体系的层级,慎用比较前沿的技术

韩超

go 怎样做 stw

hxzhouh

Go 语言

工作感悟随笔

程序员小岑

感悟

电脑城最简单骗局,仍然有无数人上当

周三不加班

电脑城 电脑选购

Kafka系列第5篇:一文读懂消费者背后的那点"猫腻"

z小赵

大数据 kafak 实时计算

当我们说文本编辑器时,到底在说什么

潘浩腾 Peter H. Pan

写作平台 InfoQ markdown

C语言数据类型

C语言技术网-码农有道

游戏开发通用技术和工具

波波

编程 游戏开发 H5游戏

嵌套文件夹复制实现

Howe

Java 文件复制

我在极客时间学习的三个月

石乐

VSCode最强助攻

页面仔小杨

编程 vscode

快来体验 JetBrains Space EAP 版本

刘培培

DevOps JetBrains Space

理解go 的 sort

hxzhouh

Go 语言

未完成乞丐版 Args

escray

学习 CSD 认证实战营

打造个人商业模式第一步

一尘观世界

副业赚钱 提升认知 思维方式 商业模式 认识自己

Redis学习笔记(列表类型)

编程随想曲

redis

回"疫"录(10):危机与希望

小天同学

疫情 回忆录 现实纪录 纪实

和孩子聊聊死亡

陈医僧Ethan

感悟 育儿

头号云话题:进击的开源操作系统

头号云话题:进击的开源操作系统

程序员,不要急于学习编程语言,先学会如何解决问题_编程语言_Nathan Slaughter_InfoQ精选文章