谢
@牛揉揉邀
首先黑一把目前的高票答案,不回答问题而武断的攻击题主,又要别人”不要因此批评我,我不爱听“,这简直是双重标准过头了。
以这样的姿态自然很难当一个好老师。我是听说一些老师,教育方法不对,完全不能和别人沟通,回头觉得,哎呀学生真是难教啊。
我给题主的建议就是,首先远离这种教育者,他们会把这种心态传染到你身上,传染到你的各个领域。当然如果你的学校背景不好的话可能会有许多这样的教育者,那就尽量告诉自己,不要受这样的人影响。
顺便一提,一个好的程序猿一定是与人友善的,这意味着写的代码要为后来接手的同事考虑。让所谓“伸手党”不用伸手就看得懂,是最好的。耐心平和甚至有些话唠,才是一个受人喜欢的coder,所以我怀疑高票答案本身就不是一个很好的团队成猿
当然作为一个java一生黑,我实在是很难告诉你怎么去学java,但是高级语言的原理基本是类似的,无非只是表达形式的不同。Java也好,C#也好,PHP,JS,都只是某个语系下的不同方言,也许发音和词汇不同,但是语法都是一样的,学起来会很快——至少在你成为某个领域的大神之前,是这样。
首先我想说的一点是,心态放平。社会对你的要求,没那么高
先讲我自己的故事吧
我自己刚去公司面试时,对于我接下来常用的几种东西完全没有任何概念:Javascript,见过,不知道怎么用。C#倒是经常用,仅限于日常语句,写个扫雷的水平。MVC框架,噢天呐这是个啥。
就这水平。月薪5k
我十分庆幸我遇到了一个耐心的好老师,在我实习的时候带我的那位经理。他很耐心的从一开始就把正我的方向,避免我养成不好的编程习惯,在每一个细节指导我。有了好的想法,会兴冲冲的把我叫去一起讨论,虽然多数时候我就是听着。
我感谢他的善意,同样我会愿意把这份善意传播给每一个后来者——没有不好的学生,只有方法不对的老师。
刚刚我说道扫雷,我可以告诉你一点,你在学生生涯,能独立完整的做一个扫雷,那你的水平就足够了。
进去学校头一年半,我要你忘记扫雷。学好基础
基础分两类,理论基础和实践基础。
理论基础不需要很深刻,举个例子:你要知道继承和抽象是什么东西 ,哪怕你可以没用过。但是你要知道概念和他们的区别,哪怕背也要背下来。
实践基础,很简单,动手做。 从第一个helloworld开始,你要动手写每一个程序。算法你可以照着伪代码或者流程图来亦步亦趋,但是代码,每一行你都要是自己打出来的。
这头一年半的时间里,你要学会怎样使用基本的语句,怎样写一个完整的程序,怎样通过明确的算法描述实现一个算法。怎样使用集成开发环境来帮助开发。
然后你可以做扫雷了。你可以用一个下午把扫雷做出来,然后接下来的一年半,去完善它。
做一个扫雷需要什么:(以下有一些术语,看不懂不要紧,学到那时候自然就懂了)
1,基本:使用集成开发环境去启动一个图形界面的程序。这很容易。
2,扫雷的雷区阵列,涉及到类的应用和实现。这是面向对象语言的核心
3,雷区区隔的点击,涉及到事件响应和事件处理。
4,计时器,多线程。
5,整体的逻辑实现,怎样算是游戏成功,怎样算是失败,这就是基本功了。
到这个时候为止你的扫雷程序基本就有个样子了。
然后优化
优化代码:合理的代码分块,合理的函数化。写让人看得懂的代码。
优化性能:调整逻辑,以及使用多线程来优化雷区阵列的响应速度。
优化体验:包括设计的优化,交互的优化。程序猿还是懂点设计比较好。
到这种程度,你的水平足够边工作边学习,成为一个能胜任多数基本工作的优秀工作者了。
当然你可以更进一步
做一个坦克大战。这里主要涉及的东西和扫雷没什么区别,不过就是有了动态游戏进程,你需要更好的设计整体的逻辑。
还有,写一个A.I.
反正我直到毕业也做不好一个坦克大战就是了。你可以努力。
这里讨论的都是纯粹高级语言(java)的范畴,没涉及数据库。
总结一下,在学习编程这一块,你首先要做的,是动手做。
然后你三年内的目标,是写一个完善的扫雷,再努力做一个坦克大战。
好的老师,会给你经验,让你少走弯路。但是编程上,真要学会什么,主要是靠自己动手。
顺便一提,从0到坦克大战,如果你严格要求自己的话,9个月到一年足够你学会了。
-------------------------
最后鉴于
@萧井陌同学关闭了评论,不得已把话放在这里说。
回来针对萧同学对所题主伸手党,没有准备就来要东西说几句:
我刚刚私下和题主沟通,他目前高中刚毕业,在中学开始就已经自学java,已经有了一定程度的基础。我刚刚找了个oj平台给他。目前题主估计在努力做题。
我不清楚萧是从哪里看出他”伸手党“”抄捷径”又“没有准备”了。
如果就在这个问题里看到的情况而言,萧同学你之所以有了许多“教育失败”的经验,无非是因为你自己的教学态度和方法十分恶劣导致的。
而“没有准备”就武断攻击他人的,还是你自己而已。
武断就不要答题了,这是为你好。
没耐心就不要答题了,这是为你好。
懒得了解情况就不要攻击别人了,这是为你好。