晒晒大家学习JAVA的心得,以及过程吧!

2013-06-21 20:48:07 +08:00
 iMouseWu
个人感觉,应该先把java的基础学习好!比如说一些教材可以去看上几遍,把里面涉及到的都牢记并且学着去用!因为我觉得现在公司招新人,更加注重的是你的基础!然后在此基础上做点项目来开拓下视野!。
但是看了这篇文章以后 http://www.cnblogs.com/yangjava/p/3140926.html
觉得java的范围真的好大呀!。。需要知道的东西太多了!所以我现在又开始迷茫了!而且最终还要写出优秀的代码!
也许可能java本身涉及到的东西不多,(我说的是基础的东西不多),但是要全部掌握也不是件容易的事情,因为如果不应用的话基本就会忘记!
除了基础,就像上面给的链接一样,真的需要懂这么多?
懂了这么多,还要熟练,还要对代码优化!想想都觉得有点可怕!这得多少年以后呀!。。哎~~~~顿时觉得未来很迷茫啊!
所以路漫漫其修远兮,我的java路在何方!熟练,精通!这条路好长!
各位javaer说说你们的看法吧!
7617 次点击
所在节点    Java
63 条回复
denger
2013-06-23 22:56:37 +08:00
@RisingV
@akinoniku
@iMouseWu

先学 C 的好处:
1. C 的语法和一些概念最为纯粹,而且在各语言中基本相通。比如最基本 变量概念、for if while 以及各种数据类型等等. 而 Java 所包含的东西相对增多了,值/引用、拆装/装箱、final、static 包含后续的各种 List Map 等一堆的 Class 的更会让初学者眼花缭乱往往会加大你在前期学习过程的理解难度。

2. 先你学完C之后(至少能独立写出比如 打印三角形、纸牌游戏之类)的程序后,然后再进一步学 Java 的话,学习时会非常轻松愉快,并且在一些知识点上结合C会有更好更深的理解。

3. 关于 OO 上,我觉得这只是对于一个长期从事非 OO 语言的程序员突然转换成写 OO语言才会存在这个问题。对于一个写 C 只有几个月的初学者来说(因为可能连面向过程和面向对象还没弄清楚),并不会存在转换的问题。

4. 不用在环境上折腾,什么 JDK、环境变量、JAVA_HOME JRE Eclipse 之类的. C 的话如果是在 Linux 下,只要装个 VIM 简单了解一下 GCC 就能直接 "Hello Word"。

5. .....

好处实在是太多了,且并不觉得先学 C 会有什么坏处。而且你以后随便个人兴趣有可能会学 Python 或 Ruby 之类,站在 C和Java 的基础上比单纯的站在 Java 的基础上起点往往会高很多。
denger
2013-06-23 23:19:09 +08:00
最后再来一句:连泥嘛“函数/function”都不知道是神马就开始写“方法/method”了?连 "指针/结构体/struct" 都不知道是神马就开始搞 "对象" 了?

kidding... :)
likuku
2013-06-24 00:04:22 +08:00
@denger
@iMouseWu

「3. 关于 OO 上,我觉得这只是对于一个长期从事非 OO 语言的程序员突然转换成写 OO语言才会存在这个问题。对于一个写 C 只有几个月的初学者来说(因为可能连面向过程和面向对象还没弄清楚),并不会存在转换的问题。」

这点不赞同,假若都认真学习的话,尤其是第一门程序语言就是C,则其「惯性」不可忽视,之后没有接触更多的程序语言,一下子换成学习纯OO的Java,是会很困扰。

即便是学校的C课程,几个月结束后,接着新开Java课程,这样都会有转换的困难。
luikore
2013-06-24 01:09:19 +08:00
父親がSEで、Javaの仕事のせいで毎日深夜にならないと帰ってこない。そのせいで母親が毎日文句を言ってるし、僕は父親に週末も遊んでもらった記憶が無い。父親がC#の仕事をしていれば定時帰宅で母親は笑顔、週末は公園で僕と遊んでくれたのに・・・。
iMouseWu
2013-06-24 06:29:07 +08:00
@likuku @denger
我觉得 “对于一个写 C 只有几个月的初学者来说(因为可能连面向过程和面向对象还没弄清楚)这句话说的很有道理!”
其实@denger 说的也蛮有道理的!其实本人就是从C开始入门的,但是个人感觉的话因为学了一个学期的C,可能是课本过于简单,所以对C基本没有什么概念当时!就很简单的入门!然后过了1年半就开始接触Java了。一开始真心不知道要怎么调用方法!其实这也不是@likuku说的惯性!个人觉得就是对面向对象一点概念都没有导致的!所以对我来说!入门C其实对Java的作用就是知道的方法,算是对语言的一个入门吧!可能是教材的问题!也许教材适当的话,可能会有@denger说的可能哦!
@RisingV
@akinoniku
yukirock
2013-06-24 06:46:30 +08:00
@luikore 做 SE 妻离子散么
akinoniku
2013-06-24 09:37:14 +08:00
@denger
@iMouseWu

我自己是学C开始的(初二,谭浩强),没看懂,很长一段时间都没敢碰编程之类的东西。。

如果当初看的是python,估计就不一样了。。
railgun
2013-06-24 09:50:42 +08:00
我看了,我觉得那文章里的大部分东西都是要在应用中慢慢掌握的,现在只要知道有这回事就行了
so898
2013-06-24 10:09:11 +08:00
常年被各路大神鄙视的Java SE程序员路过……
当年练手的开源项目: https://github.com/so898/OnlyLZ2
求鞭策
davepkxxx
2013-06-24 10:25:40 +08:00
首先是入门书籍:《Java核心技术》《Java编程思想》
然后是帮助你提高的书籍:《Effective Java》《重构》《大话设计模式》
研究一些开源项目的代码:Struts、Struts2、Spring、Hibernate。
最后就是自己动手写一些工具、框架:JSON工具、数据库连接池、Spring扩展、持久层框架、MVC框架。
最终要的就是在工作中解决实际问题。
davepkxxx
2013-06-24 10:28:20 +08:00
对了,在启动这些之前我建议你学习以下编程基础,比如数据结构,比较好的办法是买本C语言的书学习一下,推荐谭浩强的《c语言程序设计》。
zarzen
2013-06-24 10:41:59 +08:00
我就记得、我老师说、有个android的项目你去做吧。看一下java。看了一段时间不知道在干什么,也没什么特别的,放弃。然后直接开始写了……(当然,我之前学过C++)c系列语言编程思路根本没什么特别的。
至于ls那些说的c ,OO什么的,还推荐先学C……典型的中国大学风格。反正我是不能理解的。内存之类的跟效率有关。但是跟业务逻辑的关系有多大?一个东西在没有做出来之前就开始考虑效率,除非它是操作系统什么的。否则就是浪费时间。
至于java,那么多坑爹的概念,让我至今对它没有好感。不是复杂了,才体现牛逼。
Beckham007
2013-06-24 11:04:39 +08:00
Java主要是学习思想,多读源代码吧。。。
denger
2013-06-24 13:18:32 +08:00
@zarzen
推荐先学C就叫典型的中国大学风格? C作为大多数编程语言的鼻祖至今仍无半点衰褪这并不是没有原因的。
另外你也没看明白为什么别人推荐先学C?你以为先学C之后就会了解 Java 的原理?了解内存效率?如果这样认为末免也太小看 JVM 和那些专门搞编程语言底层的人了吧。

说白了,之所以说 C 最好入门是因为它纯粹、简单(语言的体系简单),没有象 Java 那样大的体系结构及大量 Java Docs API、抽象以及新增的各种概念(你自己都说了:"至于java,那么多坑爹的概念"),对于一个连 if else以及基本的数据结构类型都没完全搞清楚的人来说,这些必定会给初学者造成学习的干扰,所以 LZ 在学习后出现迷茫的情况也就不奇怪了。
hit9
2013-06-24 13:44:00 +08:00
学习java啊、、我的历程就是看了下java的代码,然后就学不下去了、、
jjx
2013-06-24 14:34:00 +08:00
最佳心得: 别学java
b824379598
2013-06-24 16:18:08 +08:00
JAVA各种框架
框啊框 把人都框死了
iMouseWu
2013-06-24 16:51:10 +08:00
@akinoniku 各种东西的入门确实很重要!教材什么的也很重要!就像我们学习的教材C就蛮简单,因为是学校老师自己写的课本!所以就单单的入门的话个人感觉还不错!但是书上涉及到的C的核心真的讲的很少!以至于我现在问我的同学你觉得C怎么样!他们都说很简单!所以我觉得可能和教材有关系,如果是入门的话!
iMouseWu
2013-06-24 16:52:28 +08:00
@railgun 其实我也是这么觉得的!因为里面的东西实在是太多了!而且有些东西根本我现在就没有接触过!所以有些是要在应用中去接触!当初第一眼看了上面的25条,直接傻了!
iMouseWu
2013-06-24 17:01:53 +08:00
@so898 先mark一个。最近时间紧没时间细看!等过段时间再仔细研究下!个人感觉没有什么鄙视不鄙视的!确实有很多鄙视java,把什么东西都搞的这么复杂!但是个人感觉语言这东西,其实不管什么语言你都可以去完成一件事情。就拿写一个聊天室的程序来说,你可以用java写也可以用node.js来写!只是开发效率和运行效率有差而已!所以现在为什么会有这么多的语言出现(虽然个人知道的语言不多),个人感觉就是为了完成一件事情更加的有效率和简单,而设计出来的一个东西!所以语言个人感觉只是一个工具!而我们做的就是把这个工具用好,或者用这个工具做出一个新的工具来!现在对语言的认识也不是很深入,希望可以共同进步!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/73174

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX