在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
现在学习Java的人是越来越多了,在很多人眼中Java程序员是一群神秘的生物。既然要学习Java,我们就不得不走进程序员的世界,聊一聊学习java的苦与乐。

苦
一、苦恼来自追求完美。因为计算机是以这样的方式来变戏法的:如果咒语中的一个字符、一个停顿,没有与正确的形式一致,魔术就不会出现。实际上,我认为,学习Java最困难的部分,是将做事的方式向追求完美的方向调整。
二、苦恼来自由他人设定目标、供给资源和提供信息。Java人员很少能控制工作环境和工作目标。用管理的术语来说,个人的权威和他所承担的责任是不相匹配的。不过,似乎在所有领域中,对要完成的工作,很少能提供与责任相一致的正式权威。而现实情况中,实际(相对于形式)的权威来自于每次任务的完成。
三、对于系统编程人员而言,对其他人的依赖是一件非常痛苦的事情。他依靠其他人的程序,而这些程序往往设计得并不合理、实现拙劣、发布不完整(没有源代码或测试用例)或者文档记录得很糟。所以,系统编程人员不得不花费时间去研究和修改,而它们在理想情况下本应该是可靠的、完整的。
四、概念性设计是有趣的,但寻找琐碎的bug却是一项重复性活动。伴随着创造性的活动。伴随着创造性活动的,往往是枯燥沉闷的时间和艰苦的劳动。程序编制工作也不例外。
五、人们发现调试和查错往往是线性收敛的,或者更糟的是,具有二次方的复杂度。结果,测试一拖再拖,寻找最后一个错误比第一个错误将花费更多的时间。
六、有时也是一种无奈——当投入了大量辛苦的劳动,产品在即将完成或者终于完成的时候,却已显得陈旧过时。可能是同事和竞争对手已在追逐新的、更好的构思;也许替代方案不仅仅是在构思,而且已经在安排了。当然啦,现实情况比上面所说的通常要好一些。当产品开发完成时,更优秀的新产品通常还不能投入使用,而仅仅是为大家谈论而已。另外,它同样需要数月的开发时间。事实上,只有实际需要时,才会用到最新的设想,因为所实现的系统已经能满足要求,并体现了回报。
乐
一、这种快乐是一种创建事物的纯粹快乐。如同小孩在玩泥巴时感到快乐一样,成年人喜欢创建事物,特别是自己进行设计。我想这种快乐是上帝创造世界的折射,一种呈现在每片独特的、崭新的树叶和雪花上的喜悦。
二、这种快乐来自于开发对他人有用的东西。内心深处,我们期望我们的劳动成果能够被他人使用,并能对他们有所帮助。从这一角度而言,这同小孩用黏土为“爸爸的办公室”捏制铅笔盒没有任何本质的区别。
三、快乐来自于整个过程体现出的一股强大的魅力——将相互啮合的零部件组装在一起,看到它们以精妙的方式运行着,并收到了预期的效果。比起弹球游戏机或自动电唱机所具有的迷人魅力,程序化的计算机毫不逊色。
四、这种快乐是持续学习的快乐,它来自于这项工作的非重复特性。人们所面临的问题总有这样那样的不同,因而解决问题的人可以从中学习新的事物,有时是实践上的,有时是理论上的,或者兼而有之。
五、这种快乐来自于易于驾驭的介质上工作。程序员,就像诗人一样,几乎仅仅在单纯的思考中工作。程序员凭空运用自己的想象,来建造自己的“城堡”。很少有创造介质如此灵活,如此易于精炼和重建,如此容易实现概念上的设想(不过我们将会看到,容易驾驭的特性也有它自己的问题)。然而程序毕竟同诗歌不同,它是实实在在的东西;它可以移动和运行,能独立产生可见的输出;它能打印结果,绘制图形,发出声音,移动支架。神话和传说中的魔术在我们的时代已变成现实。在键盘上输入正确的咒语,屏幕会活动、变幻,显示出前所未有的也不可能存在的事物。
学java的过程并不全都是快乐的。我们只有事先了解一些Java编程固有的苦恼,这样在它出现的时候才能更加坦然地面对。 从某种意义上来说,这世上没有一种工作不是重复的,但是学习新的知识永远不会无聊,学习Java的乐趣其实也是学习本身的乐趣。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java程序员必须知道的JVM命令行标志
本文主要和大家分享Java程序员必须知道的JVM命令行标志。帮助大家理解JVM的工作原理:任务分配和垃圾收集、转动线程、打开和关闭文件、中断和/或JIT编译Java字节码等等。希望大家通过这些命令行标志,更好的诊断和调优自己的Java虚拟机性能。
7544
2019-08-09 18:03:43
初学Java要安装什么软件比较好?
相信不少初学Java的同学,在学习的道路上一开始就遇到了这样的“拦路虎”:初学Java要安装什么软件比较好?工欲善其事必先利其器,Java程序员写代码也是如此。
9264
2019-07-05 10:48:07
零基础学Java开发有多难?Java入门方法
零基础学Java开发有多难?Java入门方法,零基础学Java开发难点在于不知道学习路径、没有系统的学习资料、没专业惹事及时答疑解惑,不知道如何自学。只要你想学习没人能阻止你进步,但如果你是三天打鱼两天晒网学Java开发肯定是学不会的,学习任何一门编程语言都要坚持。
5321
2019-08-20 16:07:24
线程多有什么好处?使用多线程的优势
多线程的好处:提高CPU的利用率,更好地利用系统资源,使用Monitor类可以同步静态/实例化的方法的全部代码或者部分代码段,使用不同的同步类创建自己的同步机制。
10399
2020-04-10 15:28:38
初学者学Java应该安装什么软件?
初学者刚刚入门学习需要用到一些开发工具,初学Java一般从控制台应用程序开发开始的,在cmd下调试,为你的电脑搭建好开发环境,需要在网站上(下载JDK,安装完成后调试成功就可以开始写你的Java程序了。
4556
2021-01-14 14:10:46
