编程初学者的学习背景分许多种——需要用编程来解决问题的大学教授、刚刚进入大学计算机学院的大一新生、看到SDE的工资比较高,想要转行的职场人士,甚至觉得编程很神奇想学习一下的小学生……目的不同,给出的选择也不一样。
1、(一)根据语言逻辑选择就A和B两类编程语言来说,如果大家喜欢A类语言的推算逻辑,比较推荐Java或者C++。虽然Java比C++简单,但要把这两种语言学精通都不是一件容易的事情。如果大家喜欢B类语言,比较推荐Python。因为Python属于B类语言中涵盖范围比较广泛的,既可以做维护系统,也可以开发网站,还可以用于这几年大火的人工智能。
(二)根据自身背景和未来发展方向进行选择我们针对当前几大需求给出具体的推荐方向:1、专业学习,励志做未来的程序员对于科班出身的学生来说,学习C++是非常有必要的。C++是一门能够让初学者真正从底层理解编程的语言,万变不离其宗,学了C++后再学其他的程序语言就容易得多。从教学方面来讲,C++有着其他语言的不可替代性,虽然目前越来越多的公司因C++开发效率太低而放弃对其使用,但是结合csapp(《深入了解计算机系统》),完全可以对计算机有一个全面的认识,更有助于在以后的开发中优化代码细节。
2、业余编程爱好者学习秒杀众人新技能
只是好奇且没有明确使用方向的初学者在挑选语言时,我们不太推荐像C、C++这种语法难度过高且短时间内难以学成的编程语言,按照推荐顺序,更倾向于推荐Python、Java/Kotlin for Android、Objective-c/Swift for Ios、JavaScript、html、css。推荐的原因是入门都不难,而且可以做到所见即所得,可以迅速实现初学者心中的想法,得到正反馈。
对于上班族来说可以用Python处理一些实际生产中的问题,比如做个表格,做个统计计算,画个统计图等等,并且你不需要知道多少计算机的工作原理、语言结构、语言原理等等,给个例子就可以照葫芦画瓢的开工。
Android和ios简单应用的开发入门门槛也比较低,手机中装上一个自己写的app还是很拉风的。把ios排在Android之后是因为把未发布的app装在ios手机上比装在Android手机上麻烦的多。JavaScript、html、css放在最后是因为做web开发想弄出个自嗨的demo比较容易,但是如果想弄出个像样的成品,其实并不简单,涉及到服务器的部署,后端的协调等等因素,如果没人指导,自己抱着本书学习还是有一定难度的。
3、想要转行并迅速缩小差距
市场需求是不断变化的,所以,对于想要转行提高薪资水平的人士来说,这个答案是具有时效性的。就目前来讲,比较推荐JavaScript、html和css。首先,学习成本不高,前端工程师缺口比较大,且由于技术的快速更新,学习最新的前端技术与老工程师和其他科班出身的人竞争中劣势不大。另外,简历关对于转行人士来说是一个巨大的门槛,非科班背景且没有任何项目经历、相关工作经验,找第一份工作是比较困难的。所以学习前端技术并且做出一个漂亮的项目是可以给简历增加许多竞争力的。