首先要说明下:前端并不是编程语言,它是很多种技能的组合,主要包括HTML/CSS/JavaScript等。工作性质是与UIUX这样的设计师合作,通过代码来呈现他的设计稿。简单来说他就是蓝图,你照图施工通过代码来实现。
其实编程这个事情,很多人有计算机专业相关和非计算机相关的区分,虽然确实有基础底蕴的差别,但是在努力的共性上还是一致的,有以下几个共性,你可以看一看:
1.对编程有求知欲,喜欢自己去探索一些数据或编程的东西。
许多人入行都是听说程序员很赚钱就进来的,虽然对程序没有特别的兴趣,这样的人在经过短暂的训练后,还是可以基本入行的,但他们基本上还是处于初级阶段,升入中级一般都需要主动。有兴趣和基础的人会比别人更进一步。
2.善于发现程序问题,想办法自己解决。
程序设计中最困难的一点是找出错误,任何程序出现问题都是正常的,关键是你有能力发现和解决问题。假如你有很强的Bug问题解决能力,那么你就会像一个优秀的程序员一样快速前进
3.对编程学习有耐心和自学能力。
许多人说编程和武功一样,一天不练,武功全废。不要只凭一时的兴趣,简单的玩一玩,然后问很多问题,就问人。这个学习过程不科学,可以问,但最好有基本的解决办法。
说完了一些注意事项,我们再回到一开始的语言选择问题上来
其实没什么好说的,零基础小白当然是推荐Java。Python固然好,但对一个刚入门的人来说,首先要先找到一份工作。而且,在求职中,Java无疑是最简单的。对跨行业的人来说,实际上第一步是最困难的,那就是如何进入这个行业。假如你进不了门,而且第一份工作迟迟不能开始,那就好好努力,补上数据结构,设计模式,算法设计这些空白就无从谈起
接下来,讲一个具体的学习计划:
1.了解Java运行环境。明确path和classpath的作用,以及如何在命令行执行编译、执行。了解IDE按钮背后实际发生的事情。
2.精通Java语法。明确包、接口、类,并继承这些基本概念。学习多态,overwrite,死背IO的界面,包括InputStream/OutputStream和Writer/Reader,死后背对网络编程和GUI编程界面,死背JDBC界面。
3.精通多线程编程。找出ConcurrencyHashMap是如何实现的,弄清楚synchronized是什么,为什么要使用Runnable接口。
4.错误的数据结构。明确LinkedList和ArrayList的实现机制,了解每个LinkedList的时间复杂性。而且还有其他容器,Map啊,Set啊,都是一样的。堆栈,队列,二叉树,图表贯穿编程始终,如果您无法跨越这一步,那么您将只能在低级程序员中工作。
5.在这个时候,你可以有自己的思考。Java发展到今天,在很多情况下使用过,认为Java是应用最广泛的编程语言也不为过。打好基础之后,你可以考虑该往哪个方向发展。例如服务端的体系结构,最好先了解JavaEE。长期以来,JEE就是让人们觉得门槛太高。这一点实际上可以从Spring开始,弄清楚反射,控制反转,依赖注射(这些神灵唠叨的名词实际上是为了解决Java本身不够动态这一缺陷而出现的,在此,我只是想提醒一下,这些概念没什么大不了的,别被那些爱装逼的家伙吓到)。另外还有消息这件事,还有ORM这件事,快来看看。想想他们能解决什么问题,然后猜想他们是如何实现的。在我采访的时候发现,其实大多数优秀的开发人员,即便是没有想过这个问题,就让他现场设计一下Hibernate,都可以设计的差不多。由此可见,这些框架性的东并不是什么大问题。在基础上,你也可以设计它。重要的是要动脑思考。上面以服务端开发为例,那么在客户机方面,您要考虑事件响应机制是如何工作的(这些我不熟悉,也就不多说了)。深入研究JVM的源代码,以及它的实现机制,还要学习垃圾收集算法等等。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 ivillcn@qq.com 举报,一经查实,本站将立刻删除。文章链接:https://www.shangraobbs.com/n/3348.html