如何编程的成就感这么快消失.

怎么编程的成就感这么快消失......
本人大一学C, 大二学JAVA, 大三上JAVA, 大三下学C  

对计算机的基础课<计算机网络><计算机原理><数据库>等略懂.

最近心情有点郁闷,感觉自已距心中的理想有好大差距,也面临大三暑假找不到实习的困境.总之心情不爽.


说说我大学这三年来学习的过程:

大一学C,把基本语法什么的搞懂,做好习题什么的,就结束了,大二时就学习JAVA去了(因为听某位师兄说学好JAVA就能进入计算机这个行业了,能拿5000元一个月,好多人基本都是这个学习过程的,我也一直把这定为我的信条,一直向这努力).

到了大三中期,学了JAVA快2年了,也有收获,知道网站是怎么建站的,加深了对整个Internet的理解,学了好多所谓的面向对象,封装,SSH框架什么的玩意.同时,也和几个师兄一起用JAVA做了一个网站,用了那些什么框架,什么什么JAVA的超TM高级技术.班上的同学还以为我有多牛B,能参加实际的开发.经过这次,我感到WEB开发是多么的TM无聊.

因为这个时候的我深刻的意识到,我TM什么都不会!!就拿一个图片上传功能,java web要怎么做呢?答案是用jspsmarkupload.jar包,都TM的给我调用他写好的方法就行了!! 但原理是什么呢?不知道!!关于底层的文件传送是一片空白.有时程序出现错误了,比如用GET和POST方法提交的中文,一个乱码一个正常!!还TM研究了好久,最终没弄懂!! 现在才知道还不TM的那个TOMCAT服务器怎么处理HTTP数据说了算吗??有什么好研究的!!不懂TCP/IP不懂基础研究毛去吧!!

于是我开始害怕了,我感到学了快2年的JAVA我真的什么都没学到,初学者学计算机如果选择JAVA去学习计算机的话绝对达不到目标.就如果这样再学那些框架什么的,将来必是一码畜.一生码畜永不翻身.

于是我开始找基础的书,<<深入理解计算机系统>>,<<TCP/IP详细>>,<<Windows程序设计>>,<<windows核心编程>>,<<WINDOWS网络编程技术>>等,虽然不是都看得懂,好多也是跳着看的,但对我的帮助真是感到极大!!当年编写程序时的好多不解有如雷灌顶之感!!特别是<<深入理解计算机系统>>,<<TCP/IP详细>>这两本书,真的是好书!!!强烈建议初学者必看!! 至于学校教育的我就不说了,大三看透了失望极了.


好了回归正题,说说这个学期所做的,而且也是这三年来写的自已感到最有水平的两个程序(全是C+SDK写的,以前用JAVA写的那些都是垃圾就不拿来丢人了).

1,一个类似于飞鸽传输的局域网聊天和文件传输软件, 能实现同一局域网内上线主机发现,相互间能聊天,能相互传输文件. 界面十分简陋,并且在WIN7下文件传输功能有时失败,XP正常.

2,一个网页注册机,针对某论坛编写,破解其验证码,然后构造HTTP数据,使程序能不断自动注册,单个线程一分钟能注册几十个帐号.(该网站的验证码相信是所有验证码中最简单的,4位显示十分整齐的数字), 能为一个网站捣捣乱,还是挺高兴的一件事,呵呵!


前前后后用了1个月多的时间写吧,还是边学边写的.要用到该功能才查资料.班上计算机牛B的没多少个,当时还感到十分自豪,好多时候就是这种感觉推动我编程的!!

但几天后,我看到了这个贴子http://topic.csdn.net/u/20120505/17/8691871a-ad0d-4206-85fc-353f95a78c5d.html,同龄人,感到强大的差距,

又看到了网上关于C/C++的招聘信息,感到自已有好多方面都不能胜任他们的要求,感到好郁闷,下一步我该学习什么好.


并且最近几天有这么一种感觉:

我自已写出来的东西知道原理,感觉其实是没什么了不起的东西,就拿网页注册机说事,同学看到了感觉好神,但自已写的自已知道原理,也不是好难,又没用到什么惊天算法,不过是发送HTTP请求,收到HTTP回应并且分析,也没什么值得自豪的地方.而且也没什么实际意义,

 很多很一般的技术,如果你不懂的话,你会觉得这技术很牛B,当你了解了后,你会觉得这技术也不过如此.

而我觉得我只是掌握了这些一般的技术,更高深的我不会.感觉自已还是很菜啊,想到这些之前的自豪感也没了,看了上面讲的这么多较底层的书,想更深入地去理解这些知识,感到找不着方向!! 这个暑假想实习但感觉还有差距.不知道我这水平能不能找到实习,还要再学些什么.

 当年听别人的一句话学了近2年JAVA要是转来更深入地学C该多好啊!! 我不想再走弯路,求各前辈指点指点..方向这东西好重要啊!!!

------解决方案--------------------
做成任何事的成就感消失得都不慢。
------解决方案--------------------
很多很一般的技术,如果你不懂的话,你会觉得这技术很牛B,当你了解了后,你会觉得这技术也不过如此.

学习不是一步一步往上爬的吗~

看你往哪个方向而已~ 
java可以让你忽略底层,但这恰恰能提高你的开发效率~
C可以很深入,但是底层有更多的东西要处理~

没说哪个方向好,对一个方向有深入的理解,对其他方面也要有一些涉猎。
------解决方案--------------------
首先要看你对那个方面感兴趣,确定好方向,然后集中精力去攻克这一点。学习过程中遇到一点挫折时难免的,更重要是你能在这个学习中获得快乐,收获知识和心灵的充实。
------解决方案--------------------
去学汇编吧,过几天就有优越感了,这不算忽悠新人吧
------解决方案--------------------
在计算机技术的追求上,大体可以分为两种。

一种是职业型的,这种人仅把计算机作为一个职业,通常对原理不敢兴趣,只要完成任务就行了,即使复制粘贴也无所谓,而且视作捷径,他们的口头禅通常是:“这个不需要太了解,知道怎么用就行了,不用花太多时间........”。

另一种是专家型,并不是说这种人一定能成为专家,只是这类人通常都有强烈的好奇心,不管什么都喜欢捣鼓个透,把来龙去脉都了解个清清楚楚,这种人有成为专家和大师的潜力,但行不行就得看天赋和付出的努力了,个人认为天赋占65%,努力占35%。

楼主属于第二类人。
------解决方案--------------------
++
探讨

在计算机技术的追求上,大体可以分为两种。

一种是职业型的,这种人仅把计算机作为一个职业,通常对原理不敢兴趣,只要完成任务就行了,即使复制粘贴也无所谓,而且视作捷径,他们的口头禅通常是:“这个不需要太了解,知道怎么用就行了,不用花太多时间........”。

另一种是专家型,并不是说这种人一定能成为专家,只是这类人通常都有强烈的好奇心,不管什么都喜欢捣鼓个透,把来龙去脉都了解个清清楚楚……

------解决方案--------------------
哦.基本的数据结构你都没都实现过?
看了深入理解计算机系统后还可以看linux内核设计与实现啊还可以看深入理解linux内核啊,还想再进一步,可以看一本情景分析啊.或者直接编译好内核,写写内核模块啊.其实我觉得还是要写.写写内核模块很爽.