面向零基础的编程辅导教程

写程序,学编程,一对一辅导,代码调试Debug 微信:ittutor QQ:14061936

自学编程先学什么语言

现在学习和应用比较多的语言有C/C++、Java、Python和JavaScript,对于零基础的初学者来说,先学什么的确是个问题。

这个首先要看学习的目标,比如中学生为了信息竞赛,那就学C/C++吧,之所以把C语言和C++放在一起,一方面C语言是C++的一个子集,后者兼容前者,另一方面信息竞赛所用的知识其实是C语言加上C++的STL,而最核心的面向对象思想反而是不用的,因此C和C++很多时候分不了那么清楚。

如果学编程为了快速上手人工智能相关的技术,那么可能Python是最急需学的,因为很多数据分析框架是基于Python的。如果对网页前端技术感兴趣,那直接学JavaScript(当然严格说现在已经不是这个名字了)也是可以的。

但是,如果你没有明确的目标,反而有充足的时间,那么我建议你从Java开始学。在这些语言里面,Java的语法最为严格,也是最标准的面向对象语言,应用范围也最为广泛,就业岗位也最多,在学习过程中,成就感也最足。

国内的大学喜欢从C语言开始学,这主要是历史原因,因为C比较早,大学里的古董老师们也是这样学过来的,自然这样排课,但这没有做到与时俱进,就连嵌入式领域C都逐渐要被Go取代,C的应用前景并不好,因为它能做的事情少,相比另外几种语言,开发效率极低。

C++虽然比C强大不少,但也好不到哪去,尤其从C++11开始,语法越来越复杂,学习成本太高,能做的事情同样很少,跨平台编译非常头疼,相比Java程序崩溃的概率极高。

Python简单,这是大家公认的,一句代码就可以执行,可以当计算器用,然而也只是当计算器用,你用它做个可视化软件试试?Python的计算能力很强,在计算领域,自带无限精度是其他语言不能比拟的,变量不需要声明类型,类型里的属性方法都可以动态定义,是很灵活,但灵活就带来另外一个问题。程序复杂到一定程度,怕是连写程序的人自己都不记得某个变量的类型和包含的属性了,调用一个函数,传什么类型的参数不知道,它返回的是什么内容也不知道,可读性极差,而且错误不能在编译期间被发现,隐藏的风险也很高。Python入门简单,一句print就可以运行,但不代表会写print就会写程序了,离真正的入门还很远,还会养成写代码随意的习惯。

JavaScript和Python的问题差不多,语法不够严格,太随意了反而成为构建复杂系统的弊端。

Java在专业的IDE里会有很强大的辅助提示和生成功能,写错了代码会有很友好的错误提醒,程序出错会有很详细的Stack Trace打印出来,帮你快速定位错误,同时程序可以继续运行而不是崩溃。Java里所有的类型默认继承Object,这让Java形成了树状类型体系,树根只有一个,所有的类型都是Object(primitive的除外,但1.5以后可以自动转换),这样对象管理起来太方便了,C++能做到一个print函数默认接受所有类型的数据吗?Java的内存也不需要自己管理,虽然要new,但不需要free或delete,这使得我们把精力放到业务处理上就可以了。

最关键的是Java可以用很简单的代码做出常用的功能,比如电脑上的一个窗口应用或游戏,Android手机上的一个App或者一个简单的网站,这些都是Java擅长的,用C/C++或Python相对困难很多,不能学以致用,学它何用?又怎么谈得上精通呢?

我2006年大学毕业,一开始在一个做通信的大公司做高端路由设备的操作系统模块,只用C语言,后来在一个做电力系统的小公司做数据服务器,用C++,再后来我把所有C++的产品自己改成了Java的,从此摆脱了C和C++的各种头疼的问题,开发和运行效率都得到很大的提升。Python是我后来学的,有它自由和强大的地方,但解决问题,我还是最喜欢Java。

如果你想学编程,或有编程问题,欢迎加我微信 ittutor或QQ 14061936。

C C++ Python Java MIPS Processing 程序编写 软件定制 远程教学 网络家教

写程序,学编程,一对一辅导,代码调试Debug 微信:ittutor QQ:14061936

Copyright 小艾米编程 鲁ICP备18032308号-1