问题描述
查了一晚上资料,到底是学java还.net呢?先说说我的目的,我想自己开发web或APP的后台,当然,其他的地方也可能用的上,只是我目前还没想到。我首先想的是自己开发和维护APP后台。看了很多资料,大多说java优于.net,主要是因为能跨平台,生态完善,市场需求大。目前.Net开源了,也可以跨平台了,这一点和java打平了。市场需求我不关心,我是给自己开发,没考虑找工作。然后.net开发效率高,学习也简单。综上所述,我想学.net啊,各位前辈怎么看呢?
解决方案
解决方案二:
可以两个都学,这样可以相互取长补短。
解决方案三:
严重支持,用过java,感觉除了跨平台以外,其他都比不上。net
解决方案四:
你来net版本还有啥好问的。。。。。。。
解决方案五:
两个都学,但选一给比较精通就好。我选择就做着两种语言开放的软件...
解决方案六:
国内暂时还是Java强势些。
解决方案七:
既然你说了,我是给自己开发,没考虑找工作,那还用选吗?肯定C#,谁都知道,C#的开发效率是最高的,同样的东西,如果说C要开发两周,那么java需要1周,而C#只需3天,而且随着微软官方对Linux和MacOS的支持,以及整合整个移动开发的未来来看,C#也是必然的选择,况且C#对底层的支持(结构体,指针,内存控制,与C的交互)等都非常好,但这些都是java所不擅长的,还有,就算要学两种语言,那我的建议也是C,而不是Java,我是不会去选择学两个使用范围差不多的语言的,学两种语言做一件事,不如用一种语言做两件事,精通比广要重要得多,C配合C#是最好的,就像C++程序员选择Python一样,而Java与C#可不是什么互补的语言,选一个即可,否则你会发现,你把大量的时间浪费在了类库的熟悉上
解决方案八:
你想开发linux服务器程序?你估计你什么时候才需要针对linux去开发程序?你说的“目前.Net开源了,也可以跨平台了”对我来说没有什么意义。因为我在windows平台上找饭吃就够了,我的企业用户都有windows操作系统,都可以为服务器配套windows系统,只在乎这各平台更适合出现更多普通的系统维护人员和程序员。有的人说“我捧了个孟婆碗,不但可以在人间讨饭吃,将来到了另一个世界也可以讨饭吃”,这就是那些自称为linux而开发但是从来都是使用windows来上csdn论坛的人。
解决方案:
你应该注意你说的“自己开发web或APP的后台”这个需求,如果你问“只能理解为普通的桌面应用程序或者网站前端开发”的人这方面的技术问题,可能得不到服务器程序开发的知识。在哪些论坛可以找到更多的服务器系统开发工程师去交流,而不是像现在csdn论坛这样只能找到前端初级程序员来交流,这才是你最应该考虑的问题。这方面你说你选择去java还是.net论坛,我觉得“其实都是可以的”!
解决方案:
引用5楼sjyforg的回复:
国内暂时还是Java强势些。
国内国外暂时都还是Java强势。所以非要这两个之间选还是选Java吧。
解决方案:
会c#就应该会JAVA,反之亦然,都是高级混合式OOPL,上手都很快,花大量时间不值得
解决方案:
等你深入其中一门后,要理解另外一门是分分钟的事情市场需求我不关心,我是给自己开发,.net开发效率比java快所以,先实现目的再说
解决方案:
现在Javaweb比较流行,但是还是学asp.net在未来比较好
解决方案:
引用6楼bigbaldy的回复:
既然你说了,我是给自己开发,没考虑找工作,那还用选吗?肯定C#,谁都知道,C#的开发效率是最高的,同样的东西,如果说C要开发两周,那么java需要1周,而C#只需3天,而且随着微软官方对Linux和MacOS的支持,以及整合整个移动开发的未来来看,C#也是必然的选择,况且C#对底层的支持(结构体,指针,内存控制,与C的交互)等都非常好,但这些都是java所不擅长的,还有,就算要学两种语言,那我的建议也是C,而不是Java,我是不会去选择学两个使用范围差不多的语言的,学两种语言做一件事,不如用一种语言做两件事,精通比广要重要得多,C配合C#是最好的,就像C++程序员选择Python一样,而Java与C#可不是什么互补的语言,选一个即可,否则你会发现,你把大量的时间浪费在了类库的熟悉上
说得太对了
解决方案:
做应用开发,尤其是做App和后台应用,C#和C足够了,不需要其他的了。凡是C#够不到的地方,就用C,C#和C的组合能够解决一切桌面应用程序和后台应用。这里不包括Web前端,Web前端你需要的是HTML、JavaScript、CSS、TypeScript所以C#和C的组合当然解决不了Web前端的事情。但是除了Web前端之外,桌面应用、服务器后台、移动开发,甚至工控、嵌入式,都可以搞定了。而且开发效率绝对高。Java是C#强有力的竞争对手,但是Java相比C#而言,更落后一些。Java唯一比C#强的地方就是Java出现得比C#早,早早地抢占了一些山头,而C#是后来居上的。就这么回事。至于跨平台的事情,.Net/C#现在跨平台完全不成问题,你可以看看Mono。Mono是.Net在Linux平台下的实现。如果你在Linux平台下开发服务器后台和桌面应用,Mono足够了。如果不跨平台,单纯在Windows平台下做开发,C#更是比Java强了不知道多少倍。虽然大家总是说Java和C#差不多,可是怎么可能真的差不多你?Java比C#差远了。这些年C#日新月异地发展,Java基本止步不前,C#早就甩开Java很远的距离了。现在每次Java发布新版本新特性,都是C#早就有了的东西,而且同样一个特性,比如说Lamda表达式,Java比C#出现得晚,还没有C#里面的Lamda好用,真是抄都不会抄。
解决方案:
引用1楼devmiao的回复:
可以两个都学,这样可以相互取长补短。
不建议两个都学。除非精力多得没处用。与其两个都学得泛泛,不如学精一个。
解决方案:
很多会java的都诋毁.net的就是,CSDN上的某些大神也是这样的。为什么会有这种情况,就是因为.ne更新快,尤其是C#的特性更新的就更快。java8也出来了,你可以去看一下有多少特性都是C#玩过的。很多人说国内java比.net吃香,其实这只是表面,如果你学了Java不去BAT、阿里这种公司,你去哪吃香?.net也是如此,所以,脚踏实地的去学一门语言才是不二法门。还有就是,.net开源对很多人来说是没有多大改变的,如果你不走底层的开发,你自然也不会去研究.net的源码,实际上Java也是这样。
解决方案:
引用15楼XinYaping的回复:
Quote: 引用1楼devmiao的回复:
可以两个都学,这样可以相互取长补短。不建议两个都学。除非精力多得没处用。与其两个都学得泛泛,不如学精一个。
我知道你的答案是个好答案,但是我想lz更喜欢我的答案。提这种问题的人不关心那些的,所以何必较真?你说呢。
解决方案:
引用17楼devmiao的回复:
Quote: 引用15楼XinYaping的回复:
Quote: 引用1楼devmiao的回复:
可以两个都学,这样可以相互取长补短。不建议两个都学。除非精力多得没处用。与其两个都学得泛泛,不如学精一个。
我知道你的答案是个好答案,但是我想lz更喜欢我的答案。提这种问题的人不关心那些的,所以何必较真?你说呢。
嗯,如果楼主更喜欢你的答案,我想这也是有道理的。谢谢!
解决方案:
net和java都能很好的解决楼主的需求,楼主既然自身初衷是Net,那就是继续下去吧,没有必要考虑那么多,计算后面需要技术上的问题了,那么不是这两种需要能解决的,或许需要第三种语言的介入了。还是那句话,那种语言并不重要,在于你将这门语言学到了什么程度才是关键牛的人可以用任何语言写出神级程序,不牛的人你让他用再好的语言写出来的程序也就那样~好的后端机构开发都不是单纯的一种语言能完成的,都是多种语言混合实现的,在合适的功能选择最合适的语言的
解决方案:
根据你的爱好吧不管什么学习爱好的总是最有动力的看看2种语言的锁适应的环境根据环境再看看自己想做什么
解决方案:
学java进互联网公司,在这个移动互联网非常火的环境下,选择java没错的
解决方案:
NET的以后的前景肯定不错的
解决方案:
给我最大的感触是,专心做一件事情,并坚持一段相当长的时间,总会收获比到处摇摆的得到的更多。如果你不是对生活太过于压迫的话,选择一个自己喜欢的吧,5年,10年。升华自己。我虽然也很眼红java的工作待遇,但是我还是坚持.NET。希望能有一天能拜托语言带来的束缚。
解决方案:
.net吧,你自己用用WP手机一段时间就知道了。反正我现在是用着599的LUMIA638把三千的安卓旗舰机丢一边,系统用着差距太大了。WP是低端机和高端机一样的用户体验对于系统。下个VS2013社区版自己做APP玩玩很有意思的。反正你也不是用来找工作对吧?!
解决方案:
学哪个都没区别,但初学的时候别同时学两个,因为两者语法、特性什么的太雷同了,容易混乱的。先学好一门,另一门几乎是免费搭送的,不学就会,这样效率也高一些。你问问看哪个java或.net高手不会另一门语言?都是不用学就直接会的。
解决方案:
引用23楼sunnylu28的回复:
给我最大的感触是,专心做一件事情,并坚持一段相当长的时间,总会收获比到处摇摆的得到的更多。如果你不是对生活太过于压迫的话,选择一个自己喜欢的吧,5年,10年。升华自己。我虽然也很眼红java的工作待遇,但是我还是坚持.NET。希望能有一天能拜托语言带来的束缚。
+1
解决方案:
可以两个都学,这样可以相互取长补短。
解决方案:
看了楼上各位大神的回复,我有坚定了年后给自己放假充电的想法了.