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

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

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

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

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

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

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

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

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

神奇之处在于“为什么”
后来,我加入了一家初创公司,并最终汲取了这个教训。

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

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

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

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

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

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

下面这些事情比学习编程语言更重要
找到真正的问题。

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

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

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

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

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

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

转自:https://www.infoq.cn/article/kRRB*FUJpRivjME95aCe

原文地址:https://www.cnblogs.com/zhiyong-ITNote/p/10436286.html

时间: 2024-10-07 09:41:03

程序员,不要急于学习编程语言,先学会如何解决问题(转)的相关文章

程序员的高薪是编程语言决定的么?图样图森破啊。

写完发现有点像成功学,但是是实话实说 为什么会有黑.社会,本质上还是不抱团就不能活,为什么要打打杀杀,因为生活资源窘迫,不拼争就没有生存的价值,java和c#语言之争就像两个社团争斗,之前是vb和delphi,java和c++,但是不争斗会灭亡么,显然这是个伪命题,其实搞python,ruby,php或者perl的开发者都活着好好的,比大多数java开发者活的要轻松,那为什么社团之间的争斗在各类流行语言之间比较常见呢,这是一个容易引起误会的答案,我只能说呵呵了,也可能因为太流行了吧. 某类程序员

转:浅谈程序员的英语学习

转自:http://www.cnblogs.com/haoyifei/p/5687235.html 浅谈程序员的英语学习 作为在中国工作的程序员,不懂得英语似乎也不妨碍找到好工作,升职加薪.但程序员这个工种则稍有不同,因为程序,尤其是高级语言,基本上都是由英语和数字表达式构成的.英语对于程序员十分重要.我的大学本科全部采用英文教学,工作时也经常会遇到外国人,和他们谈笑风生,自认为自己的英语水平比园子的平均水平高一点.下面我就根据自己的经验来说说英语的学习方法. 为什么要学习英语 学好英语你可以直

好程序员web前端学习路线之在JavaScript中使用getters和setter

好程序员web前端学习路线之在JavaScript中使用getters和setter,大多数面向对象的编程语言都存在getter和setter,包括JavaScript.它们是代码构造,可帮助开发人员以安全的方式访问对象的属性.使用getter,您可以从外部代码访问("获取")属性的值,而setter允许您更改("设置")它们的值.我们将向您展示如何在JavaScript中创建getter和setter. JavaScript对象可以具有多个属性和存储的静态数据和动

好程序员大数据学习路线分享hive的运行方式

好程序员大数据学习路线分享hive的运行方式,hive的属性设置: 1.在cli端设置 (只针对当前的session) 3.在java代码中设置 (当前连接) 2.在配置文件中设置 (所有session有效) 设置属性的优先级依次降低. cli端只能设置非hive启动需要的属性.(log属性,元数据连接属性) 查找所有属性: hive>set; 查看当前属性的值:通常是hadoop hive> set -v; 模糊查找属性: hive -S -e "set" | grep

专为程序员设计的统计课 彻底学会统计分析

第1章 课程介绍[欢迎学习,学习中有任何疑问请在问答区进行问答,祝愉快学习!]本章将介绍统计学的思考方式,统计学的整体框架,学习统计学有什么用,以及统计学与机器学习的密切联系:并对学习此门课程讲解的形式(编程+可视化)和需要具备的知识和技能进行说明,让大家从这个课程开始,真正学懂统计学!... 第2章 认识数据[必备基础知识,不能跳过]数据是统计学处理的对象,而数据是由变量组成的.本章将讲解什么数据和变量,以及变量的类型和测量尺度.这些基本概念是统计分析的基石. 第3章 描述统计[核心内容,重点

程序员带你学习安卓开发系列-Android文件存储

这是程序员带你学习安卓开发系列教程.本文章致力于面向对象程序员可以快速学习开发安卓技术. 上篇文章:.Net程序员快速学习安卓开发-布局和点击事件的写法 主要讲解了布局和点击事件的写法. 上篇文章补充: 控件单位介绍: px 像素 dip或者dp 设备独立像素 sp 比例像素 控件的高度宽度一般用dip或者dp.字体用sp. Android 存储数据项目: 描述:实现QQ登录效果.如图: 输入帐号密码,并勾选记住帐号 ,点击登录时,保存帐号信息.下次登陆可以直接显示上次保存的QQ帐号. 前台界面

程序员带你学习安卓开发,十天快速入门-基础知识(四)

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 本系列课程是.Net程序员学习安卓开发系列课程. 下面是前三次课程列表: 程序员带你学习安卓开发,十天快速入门-安卓学习必要性 程序员带你学习安卓开发,十天快速入门-开发工具配置学习 程序员带你学习安卓开发,十天快速入-对比C#学习java语法 为了大家系统有效的快速入门安卓开发,推荐

程序员带你学习安卓开发,十天快速入门-开发工具配置学习

上次课程:.Net程序员学习Android开发-第一课 讲到,.Net程序员学习Android开发的必要性以及对安卓大环境的相关介绍. 其中看到有网友评论,称,搞C#的去搞安卓,还怪自己的移动平台不给力.有的人说,学习.Net就学.Net学习什么安卓.这时的我首先想到了,固步自封的大清朝.当然并不是对这部分人排斥.只能说是想法不一致,认知略有不同,也没有错与对,我只是想把我自己的想法表达出来,期望与您产生共鸣.的确迄今为止,我仍然认为C#是当今我见过的最好的语言.设计规范语法总使我赶到兴奋其优美

程序员带你学习安卓开发,十天快速入-对比C#学习java语法

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 上次课程:.程序员带你学习安卓开发,十天快速入门-开发工具配置学习讲的是java环境的配置以及as安装工具的安装. 其中有网友@鹅鹅鹅_说道,其实jdk的环境变量配置,不用配置的那么麻烦了.当前的jdk版本只要设置一个变量javahome就可以了,其他的可以不需要配置.在这里提一下.

程序员带你学习安卓开发-XML文档的创建与解析

这是程序员带你学习安卓开发系列教程.本文章致力于面向对象程序员可以快速学习开发安卓技术. 上篇文章:程序员带你学习安卓开发系列-Android文件存储 因知识连贯性推荐关注头条号:做全栈攻城狮.从头开始学习. 链接:http://www.toutiao.com/m5443584213/ 项目概述: 学生信息管理系统.添加学生信息,到XML文件库. 显示所有添加的学生列表. 界面: 前台界面代码: XML生成: 生成的xml: XML解析: 更多教程,欢迎大家关注今日头条-做全栈攻城狮.一起交流探