【Java进阶营】程序员,不要急于学习编程语言,想学会如何解决问题

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

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

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

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

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

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

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

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

神奇之处在于“为什么”

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

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

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

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

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

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

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

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

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

找到真正的问题。

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

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

然后你要努力去澄清问题,朝着可以找到解决方案的方向迈进。在此我向大家推荐一个架构学习交流圈。交流学习指导伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

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

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

关于编程语言的 One more thing

Java

从 1995 年第一个版本发布到现在,Java 语言已经在跌宕起伏中走过了 22 年,最新的 Java 版本也已经迭代到 Java 9。当年 Java 语言的跨平台优势如今看来也只不过是家常小菜,Go、Rust 等语言横空出世,进一步拓宽了编程语言的边界。当年发明 Java 语言的 Sun 公司早已被 Oracle 收购,Oracle 现在也正处于水深火热的云计算浪潮当中,甚至连 Java 之父 James Gosling 也加入了当今世界最大的云计算公司 AWS。

Java 语言发展的这 20 年也正是全球互联网迅猛发展的 20 年,Java 语言同时也见证了电商浪潮、移动互联网浪潮、大数据浪潮、云计算浪潮,所以在现今各大互联网公司身上都能看到 Java 的身影。TIOBE 的语言排行榜显示,自 2016 年初 Java 语言就出现了明显的下颓趋势,开发者社区也出现了一些唱衰 Java 语言的论调。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C++编程语言? 作为AI语言模型,我认为Java程序员学习C++编程语言可以通过以下几个步骤: 1.了解C++的基本语法和特性,包括数据类型、运算符、流程控制、函数、类、继承、多态等。 2.学习C++的标准库,包括STL、iostream、string等,掌握常用的数据结构和算法。 3.通过实践项目来深入理解C++编程,例如开发游戏、图形界面应用程序等。 4.参与C++社区,了解最新的技术和发展趋势,与其他开发者交流经验和思路。 以上是我对Java程序员学习C++编程语言的建议,希望能对你有所帮助。 ### 回答2: Java程序员有效地学习,需要掌握以下几个方面。 首先,建立扎实的Java基础。学习Java的第一步是了解基本的语法规则、数据类型、控制流程等。可以通过阅读相关书籍、参加培训课程或者自来掌握这些基础知识。此外,还可以通过编写小项目或者解决一些简单的编程问题来加深对基础知识的理解和运用。 其次,深入学习面向对象编程Java是一种面向对象的编程语言,掌握面向对象的思是成为优秀Java程序员的关键。可以通过学习类、对象、继承、封装、多态等概念,掌握如何设计和组织自己的程序结构。 第三,不断实践和锻炼编程技能。通过编写各种项目,从简单到复杂,不断地实践和运用所的知识。可以参与开源项目、解决一些实际问题或者完成一些练习题来提高编程技能。同时,要注重代码的质量和可维护性,学习编写优雅、高效、可读性强的代码。 第四,保持学习的热情和求知欲。Java是一门庞大而复杂的编程语言,技术也在不断发展和演。作为Java程序员,需要不断学习新的技术和框架,了解行业的最新动态。可以通过阅读技术书籍、关注技术博客、参加技术交流议等方式来持续学习和提升自己。 最后,与其他程序员行交流和合作。和其他Java程序员保持联系,参与技术社区,加入技术讨论组织或者社交媒体群组,互相学习和分享经验。与其他程序员合作可以提高解决问题的能力和团队协作能力。 总之,学习Java程序员需要建立扎实的基础,深入学习面向对象编程,不断实践和锻炼编程技能,保持学习的热情和求知欲,与其他程序员行交流和合作。只有不断学习步,才能成为优秀的Java程序员

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值