
前阵子我终于下定决心,删掉了硬盘里所有的游戏。
身为一个程序猿,每天都要和各种新技术打交道,闲暇时间,总还得看一下各大论坛,逛逛博客园啥的,给自己充充电。游戏的话,其实我自小就比较喜欢,北京北大青鸟发现可以算是一种兴趣,而且在现在的大趋势下,这种兴趣变得再正常不过。然而我还是毅然决然地决定,要渐渐放下,直到彻底放下这个兴趣爱好。
我认为放弃的原因大概有以下几点:
1这样比较划算
一个很有意思的现象,相信你或多或少也意识到了。就是说,一个大牛和一个_丝之间,究竟有多远呢其实并不远,当大牛全身心地投入生活,热爱生活的时候,_丝却宅在家里,一边敲着游戏键盘,一边把零嘴塞进口中。讽刺的是,大牛在学习和交际上花费时间和精力,与_丝是差不多的,甚至还不如_丝。
我的意思是,双方付出的努力肯定是差不多的,你想,能有多大区别呢?
你以为打游戏不要耗脑子吗?什么时候要走位,如何计算双方的实力差距,以及团队合作到底该如何进行?其实这些都是努力,并不比大牛们研究技术花的时间来的少。
大牛因为把_丝付出的80%精力用于提升自己,反而在“现实生活”这个所有玩家都脱离不了的大环境中混得有声有色。
到底哪个合算?这是一个问题,当我意识到这一点的时候,我自己都震惊了。
2时间有限
一天有24个小时,吃饭睡觉算11个小时,那么一天还剩13个小时。我们知道打游戏,刷副本一般来说没有个3小时结束不了的,要是官方出了个什么活动,执念更深,往往一整天就耗在那里了。
如今我已毕业,正式踏入社会,时间再没有大学时光来得随意。工作怎么也得8个小时吧,剩下的5个小时,你到底是打算用来玩游戏呢,还是提升自我,或者去享受生活呢?
更何况,现在大家的时间都很宝贵,我到底是继续我的所谓坚持,还是把更多的时间花在生活上,这是一个值得思考的问题。
啊哈Reddit(某知名国外在线问答社区),没了你我们还能在哪里从鱼目混珠的网络中提炼真正的精华就在这杂乱无章的论坛中,的的确确存在着这样一些精辟的讨论。
比如有个叫Shambloroni的兄弟发起了一个引起广泛共鸣的话题(收到了150个回复和投票)。话题的开始是他在吐槽Java有哪些方面最让他感到厌烦,同时他又向其他程序猿征集关于编写Java时令人蛋疼(伤感)的故事。
下面我列出了一些最有意思的回复——你会同意吗
Try-catch声明之殇
虽然我才刚刚开始编写Java程序,但是在Java中实现让程序停顿一些时间然后继续运行这件事情已经复杂的令我震惊。除了写下基本的指令完成停顿外,我还必须要用try-catch来包裹的这些 *** 作。没准对于大牛来说这不算什么,但是对我来讲这太令人难过了。
还有跟所有IO相关的异常也让许多简单的事情变得繁琐起来。比如我仅仅想简洁地做些事情,但最后总是会搞砸,。然后我不得不在所有方法上加上“throwsException”。
没有,没有,还是没有
没有无符号的整形。
没有 *** 作符重载。
没有对象属性。
没有代理(尽管我听说Java8中可能引入了代理或类似机制,但我还没细看)。
我同样痛恨很多Java库中引入模块的方式(比如根据名称加载模块)。相对而言,我更希望在编译时就能检查我需要的依赖库是否已经加载了。
找不到爱
我恨Java,就是单纯的恨。负责任地说,我从不使用Java写程序的最大因素就是因为我恨它。还有一点就是JRE糟糕的模块化。就算你用了一些加载工具比如Launch4j,你仍然需要让用户安装一个超过200MB的框架来运行程序。
没有getter、setter
Java还缺少getter和setter注解。这样可以更简单的添加和移除模板代码。
缺乏亮点
Java缺少一些杀手级的模块。虽然听说一些不错的模块将被加入到Java9x中,但目前为止这是我最大的槽点了。
非暴力不合作
我遇到的最大的麻烦就是如何一起使用基本元素和对象。例如,把一个char[]类型的变量转换成一个列表别提有多费劲了,而且我感觉这种 *** 作根本没必要这么麻烦。
心愿单
我最想要的就是像Perl中那种上下文相关的函数了,以及当处理真正的异常时,这些函数可以在一个语言中所扮演的角色。
我还希望Java可以支持智能打包返回值,这样我们就可以像在Perl中那样返回一个包含多个值的列表了。
我希望使用异常的标准库还可以在不适合抛出异常的场景下使用并能够处理失败。
还有,另一个烦人的地方就是我在用StringWriter时候还要处理IO异常。
还缺些什么
缺少宏对我来说使Java减分不少(我并不说在C/C++中使用的预处理器宏,而是在Lisp/Scheme中使用的那种宏)。
不论做什么事情你都需要定义一个类,尽管你可能根本不需要一个类。比方说,我想把一段经常使用的代码提取出来,然后在需要地方使用——为了达到这个目的,我必须要把这段代码封装成一个finalstatic的方法,并放在一个类中。这样一来我还得费劲去给类取一个方便理解的名字本来这事儿可以很简单(这确实很简单,尤其是当你可以定义宏的时候)。
有没有搞错
缺乏对泛型的支持。C++中的模板要强大的多。
事实上,在Java中你根本不能在泛型中实例化一个类,除非你把这个类作为参数来声明一个泛型。
你很难给一个类加上结构函数并让它销毁这个类。RAII(一种资源管理模式,见C++)却一直非常有用。
没有 *** 作符重载。C++允许你是将== *** 作符用于比较字符串。同样的,大整数运算因为同样的原因变的很难使用。
呃,好吧
没有无符号的基础类型。这尼玛是闹哪样啊!
还是getter、setter
1、null(最大槽点)。
2、没有getter和setter注解(例如,没有属性)。
3、Java只支持位置参数。我喜欢像Smalltalk那种支持多样化的参数形式,或者是强制使用关键字参数的Python3。
比如在Samlltalk中调用一个具有两个参数的函数,可以这样做:
myInstancemyMethodWithFoo:arg1Bar:arg2
在Python中你可以使用下面的语法来调用函数并给函数参数赋值:
my_instmy_method(foo=arg1,bar=arg2)
4、不支持多分派(MultipleDispatch)
这些是我最先想到的,不过觉得应该还有更多。认真地说,使用回调函数一直是一个大问题,因为它太麻烦了。不过Java8中解决了这个问题,我还是很开心的=)
愚蠢的默认值
默认的可见性。如果没有给变量或方法一个修饰符,那么这个方法应该是私有的,而不是包内可见。
默认的修改能力。最终类型(在所有情况下)应该是默认的,并用“var”作为修饰符。目前的情况是,程序员很少会把一个方法的参数设置为最终类型,因为那样会让变量很快变得不可读。同时,在一个方法中重写参数也是很少见的情况。
集合接口。Java中应该提供一个可写的集合接口,现在集合继承自这个可写的接口,只是把所有改变集合内容的方法屏蔽掉。这样就会减少现在你会在Collectionsunmodifiable()和一些第三方的API中见到的那些令人困惑的历史遗留方法。有了可写的集合接口,Java将会变得更加类型安全。
缺少表达能力。在用过Scala(或是最新的PL)之后,你会觉得Java非常的繁琐。这是最常见的关于Java的吐槽,但它这就是事实。
说说异常
被强迫的处理异常——真主保佑你。谁能告诉我为什么我非要用try-catch来包裹每一个Threadsleep()我从来就没有真正见过那个我被要求去处理的InterruptedException。
我知道我要说的可能不是一个广泛认可的问题,但是我真的同意checkedexception(应被检查的异常)很烦人。这些异常让代码变得面目全非还让重构变得不可能。我明白他们为什么存在(而且理论上也说的通),但是他们没为开发者带来什么实质好处。不论你做什么,都不要留一个空的catch块,就算你认为这个异常永远不会发生。你大可以把这个checkedexception用RuntionException(运行时异常)重新封装一下,再抛出去。
一些学员在报软件开培训时会问“软件开发专业难,怕学不会”之类的问题,今天java课程借此机会我就统一回答一下这个问题。
提到软件开发,很多人立马想到的是一串串“天书”般的代码,或是架着高度近视眼镜、不修边幅的“程序猿”,尽管软件开发工程师动辄10K+的高薪让人艳羡,但对这门看上去很艰深的技术,很多人还是望而却步。
首先,凡事需要一分为二地来看,你为什么要学软件开发。
回答这个问题之前请大家先回答一下我的一个提问“你究竟学这个软件开发专业的目的是什么?”是图名?还是图利?我想应该都不是,说白了,我看莫过于希望学完软件开发之后想做个软件开发人员,想找到一份相对满意的工作,工作环境好一些,待遇高一些,生活舒适一些,还有可能的目的就是把技术学到手,日后自己开公司,做老板,我想大概就这些吧,所以你希望求学深造。
其次,为什么你会觉得学习软件开发会很难?
1、为什么软件开发给人“很难学”的印象呢?主要原因可以归结为,对普通大众而言,对这一领域通常无法取得直观的认知。不同于用色彩、图形说话的艺术设计类IT专业,以代码为“语言”的软件开发给人“看上去很厉害”的印象。
2、软件开发专业,不同于其他专业学生基础的参差不齐,或是专业、非专业人士之间的界限模糊,对软件开发专业而言,不论年龄、学历,很多人的基础和起点都是一样的,所以,如果想要从零开始学一门技术,软件开发是一个不错的选择。
3、要在一个完全陌生的领域学到一定程度,肯定是有一定难度的,这对于任何专业而言都是如此。但回报总是和付出成正比的,尤其软件开发人才在市场上具有极强的专业性和不可替代性,这也是软件开发工程师的薪资水平普遍高于其他职业的原因。
4、我相信这个年代一个有意从事软件开发的人极少极少不会“开机关机”吧?不会“上网”、“不会打字”吧?这难道不是技术,可能有人说当然是技术了,但光靠这个还达不到我的目的呀,WHY有人可能会说这些技术靠不住啊!这年头谁不会这个呀?由此说明技术和技术也不一样,那么一个简单技术好找工作待遇高呢?还是一个高端技术有难度的技术好实现你的目标呢?一个满大街人都会的技术,我觉得也没必要指望他帮你找到工作!找到好工作!
5、因此我觉得学习软件开发这个专业有难度是好事,一个没多少技术含量的技术,你花好多钱好多时间好多精力去学她有必要吗?学完了能找到好工作吗?我看能找到份工作就谢天谢地了,别指望什么好的了。同样的时间精力学费你觉得学个技术含量高的技术有前途呢?还是学个大家普遍都会的所谓的技术前景好?
由此来说不要怕难,难有难的好处,难有难的甜头,随着老师循序渐进地实战教学,大胆去学,北京北大青鸟老师会帮你搞定这个技术,今后的日子大大地舒适!
实在不喜欢就换一个自己喜欢的工作吧,我以前是做SEO排名的,后来因为种种原因做了一段时间SEM竞价,在这一行我扛不住这些压力,就辞职了,现在在做自媒体,一个文案。哥们和你说一句陶心底的话,自己想做什么就去做什么,趁着还年轻,世上工种千千万,总有一块适合你。年轻就是资本,大胆的去尝试吧。我估计这辈子已经离不开电脑了。
著名乱码。可以用来瞬间证明自己是程序员的三个字。源于一些编译器会把C语言中未初始化的栈内存自动赋值为0xcc,以字符串输出后,便会显示成烫烫烫,类似的还有屯屯屯,锟斤拷,锘锘锘。
乱码处理:
1、保存HTML文件时,文件的编码方式一定要和HTML页面标签中的编码方式一致,否则将会出现乱码。
2、当页面发生乱码时,可以先查看页面中是否有写编码方式的语句,如,然后使用记事本打开乱码该文件,单击“另存为”按钮,在d出的“另存为”对话框中修改编码方式,如下图所示,使其与页面中的编码方式一致。点击测试我适不适合学设计
学设计我推荐千锋教育。您有意向学习前端的话,千锋教育是一个不错的选择。千锋的教育培训业务致力于培养高质量数字化技术技能人才,主要提供大学生技能培训、职后技能培训等,课程涵盖前端、Java、Python、大数据、软件测试、物联网、云计算、网络安全、Unity、区块链、UI/UE设计、影视剪辑包装、商业插画、游戏原画、全媒体运营、产品经理等;此外还推出了软考、Adobe认证、PMP认证、华为认证、红帽RHCE认证、工信部认证等职业能力认证课程;同期成立的千锋教研院,凭借有教无类的职业教育理念,不断提升千锋职业教育培训的质量和效率。
以上就是关于java程序员休息时间该工作还是玩游戏全部的内容,包括:java程序员休息时间该工作还是玩游戏、Java编程中哪些事情会困扰你、java课程分享为什么你会觉得学习软件开发会很难等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)