这个东西是关于OJ和博客的,新手,老手,高手都可以看看。
OJ:
OJ是什么呢?就是一个题库,这个题库可以用C,C++,JAVA等语言写,然后你可以提交,网站会反馈给你信息,比如有没有答对,是什么类型的错误等等。至于比较好的解释,请百度之。
在我看来,OJ就是学完语法,学习数据结构,学习算法等练手的东西。不论是对于新手,老手还是高手。
对于还没有学会函数的同学们,建议起码学到函数,然后再刷OJ题,不然没有太大的意义。
对于学完C的语法的同学们,已经可以刷题了。
对于新手来说,比较推荐南阳理工OJ,这是我见过的对于刚学完C语言语法的新手最好的OJ了。
在这个OJ网站的分类里面有一个语法入门,里面有几十道题目,例如排序,阶乘等问题,很适合新手,建议用函数搞定。虽然这个网站有最优代码,但是我不建议新手模仿那些所谓的最优代码。理由如下:
1、 最优代码,只是对于那道题目
2、 最优代码往往风格很糟糕
3、 最优代码往往代码结构很糟糕
4、 刷OJ,只是为了提高自己的编程实力,为了刷OJ而刷OJ,除非是专门参加ACM比赛的,否则还是要注意自己的代码风格和结构的
我这里贴一个我的博客地址,代码可能不怎么好,只是说明一下我的观点。
http://blog.csdn.net/u010153631/article/details/9499427
我相信有很多人可以写出比我的代码更加简洁的代码,甚至只需要在主函数中加几个循环就可以,但是我不会那么写,因为我刷OJ的目的是练习思维和数据结构和算法,并不是为了ACM。
另外,不论是为了以后的长期发展还是更好的资源考虑,学好英语吧,亲们。除非你会投身于中文系统的开发。刷OJ,我最大的痛,不是写不出代码,而是看不懂英文的题目#_#!
再有就是刷OJ到什么程度,哪个OJ最好,用什么语言比较好,这些问题我认为没有答案,最合适的,就是最好的。
比较好的OJ网站,在百度百科OJ这个词条里面有
我觉得比较好的论坛,CSDN不错,至于其他的还没有接触过,类似于开源社区什么的,对我来说水平有点高啊-_-!
博客:
我和很多人说过我的博客地址(http://blog.csdn.net/u010153631?viewmode=contents),也和很多人说过,用博客交流比较好,这是因为我觉得对于网友这种交流关系来说,博客还是比较好的一种方式,一来可以保留自己的代码,二来可以和更多的人交流,三来可以练一下文笔,我觉得程序员写一点属于自己的东西,好处多多。
就好像我为什么这半年以来,喜欢和新手交流,喜欢帮助新手,喜欢和新手讨论问题。我一直说的双赢,其实就是在寻找几个可以和我在编程这条路上一直走下去的朋友。奈何高手离我太远,我只好和新手交流,或者和同等水平的网友交流,算是伙伴培养,也算是复习语法功课吧。
写这个东西呢,主要是上次写的那个《写给C语言新手的话》吧,后来总觉得少了一点东西,直到今天晚上和网友聊天的时候,才发现原来少了练习题目怎么选了。
如果你有任何编程上的想法,可以随时和我交流,
我的邮箱:1164891473@qq.com
QQ:1164891473
博客地址:http://blog.csdn.net/u010153631?viewmode=contents
//下面的是一些闲话,可以不看
曾记得那些年我追过的强哥。
很多人说谭浩强的书只适合非计算机专业的人用来考二级,也有很多人认为谭浩强是自己的编程启蒙老师,还有人写了一个谭浩强错误之不完全总结。
我说一下我的看法的改变:
从始至终,我真正看过的语法书籍,只有谭浩强老师的C语言第四版。
我刚开始看的时候,觉得这本书真的是太好了,为我打开了C语言的大门。当然我也曾经抱着书看指针,看文件,一遍又一遍,但是木有看懂。。。。。。。。。。那个时候,我觉得谭浩强老师就是我的编程启蒙老师。也跟很多新手推荐过这本书。
后来,慢慢了解的多了,才发现,真正称得上世界经典的书里面,是没有老谭的书的。于是我也和很多人一样,对于谭浩强的书深恶痛绝,觉得自己当初用他的书来入门C语言真是一个重大的错误。于是我又给新手推荐CPP,The C programming languaga,C语言程序设计现代方法,且跟他们说千万别看老谭的书,害人不浅啊。
再后来,随着自己对编程的理解逐渐加深,慢慢的理解了【任何编程语言只是一个工具】这句话,我觉得那么那么多的人骂老谭,真的有意义吗?谭浩强的书真的就一无是处?我不再和新手说老谭很坑人,看书只能看外国的,而是先问他们是用来考二级还是想学真正的编程,如果是考二级,那么直接老谭,如果只是随便学一下,老谭或者CPP,如果是真心学编程,那么毫无疑问CPP。
其实这个过程可以说是这样的:
看山是山,看水是水;
看山不是山,看水不是水;
看山还是山,看水还是水。
从一个编程白痴,到苦苦的分析一道OJ题目的解体思路,再到现在的选择以后的开发方向,无疑我一直在成长。在这个过程中,我觉得对于一个程序员来说,最重要的不是学会某个语言的语法,也不是写多少道OJ的题目。而是学会怎样学习编程,怎样以最高效的方法学会一门全新的知识,怎样学会收集一门自己完全陌生的学科的知识。换言之,就是学会自学。这个话题估计大家从初中一直听到了现在。但是老人们重复的道理,都是经得起时间考验的。会高效自学的程序员,无疑是一个真正优秀的程序员。
//一点点感慨,可以掠过
我有很多网友都是自学编程。有很多新手会问这些问题:我应该看什么书?什么书最好?我不会数学和英语,能不能学好啊?我是电脑白痴,会不会好辛苦啊?……其实这些都不是问题。还是拿我来举例,我两年之前,看的是大三毕业前夕的专升本,于是我开始默默的努力,第一年,学的是网页和动画,还有一些个小玩意儿。我没有去学C语言,甚至没有怎么学编程,但是那一年我学了那么多,其实只做了一件事,那就是学会如何学计算机,学会如何在一无所知,而又需要的情况下,去学习一门完全陌生的课程。第二年开始学习C语言,这还不是最难熬的时候,当我开始接触OJ的时候,我才发现,原来我不知道的东西太多了,原来我不仅写不出界面,就连控制台下的编程都很菜。于是我有开始接触好多东西,win32,MFC,C++,JAVA,QT,但是搞了那么多,我还是回归到了C语言。因为我发现,语言,只是一个工具。我认为只有理解了这句话,才算是真正地编程入门。
我不知道我能不能成功,但是我知道,现在无论让我学什么东西,只要需要,我就可以,哪怕我要付出十年的时间,只要付出的代价能够换来足够的成果,那么我可以。