计算机编程语言怎么学。送给新手、大一新生、大二老生:
各大学编程启蒙用的语言是C++,目前它仍是学习数据结构、考研的必备,也是软件大厂高端开发的首选,因为它代码效率高。
如果是大一新生,建议:
1.语法自学。当然上课老师也会讲,慕课就不用看了,教材自己就能看懂。
2.主要精力放在编程逻辑上。这么说可能有点抽象,因为我们国家不开逻辑课,至少不是从逻辑课开始的,逻辑的建立似乎落到了这门课身上。无逻辑或者逻辑性差的人去学这类逻辑性思维要求高的课程,太难,这句话要等到挂科时才能明白。
所以,先建立逻辑最重要,而且还必须是正确的逻辑,因为不同的人有不同的世界观,对于容易陷入极端的人来说,他们有他们的一套逻辑,还挺完整的,但从编程、与人交往就能发现问题,这种逻辑比没逻辑更恐怖。没逻辑可以学,逻辑扭曲很难改变。用扭曲逻辑思维去构造一个例子我实在没那个思维,假装也假装不出来,我讲一个事实做例子吧:一个学生,让他根据这个语句cout<<“hello,world”;去显示其他文字怎么做,他的回答全都是围绕着hello world,翻来覆去和这个世界打招呼,虽然口齿不清楚,但似乎思路很清晰,后来过一年退学了。
3.建立正确的计算逻辑和思维。初学C++,很多例子都是和等比数列、等差数列有关的,这些数列用数学公式能解,所以干脆就直接在程序里写一个公式,这不是计算思维是数学思维!对了,这种人还挺犟,叫嚣着自己没错,不接受意见那就耗几年再改行吧。
4.面向对象部分必须学。这部分其实是遥远的未来软件设计的启蒙和基础,面向对象不是学习类、继承和多态语法怎么写,是针对现实需求如何划分类,这个最重要,也很难学,因为这属于理解性很强的知识,不确定性非常大,并无标准答案,有点类似英语考试中的阅读理解,只有理解的和答案相同才能算对。
个别少数学校,一般都是末流学校,课程设置上就缺少这部分,挂着C++的羊头,讲的是C语言,面向对象就只能自学,但效果就不能指望了,最多只能学学语法,如何划分类这些知识学不到!
面向对象学不好,倒不至于挂科,一般要等到职业生涯中编程做不下去的时候,比如应付不了大项目,或者coding到30-40岁以上智力开始衰退时才能明白,在这之前不会有影响,可以放心地“混”。
如果是大二学生,建议:
1.有了大一编程语言语法基础,学习其他课程,如JAVA,就不要再从语法开始了,要立刻去体会面向对象思想,多体会案例。类的划分也同样需要正确的思维逻辑,逻辑奇怪的人划分的类也奇怪,最后编程阶段才能发现代码越写越别扭,有的时候能写出这种代码,比如:
class A{...
public:
B b;}
class B{...
public:
C c;}
class C{
public:
fun();}
A a;
a.b.c.fun();
你欣赏自己大作的时候,别人会吐。
2.Python这种课,多学解决实际问题,少用Python去实现C++的例子,因为Python不是为了那种例子而生的,是用来做算法的,擅长处理集合数据,如果还在用Python去写1+2+...+100这种例子,那就是挂着Python的羊头,卖的什么狗肉都说不定了。这种课程要去质疑!
3.C#,也可以学,一般和Java二选一,如果都学,哪个都学不好。