会多门编程语言的你,最推荐哪3-5门语言?
1、C语言/C++,五星级(宇宙最强语言)
我本身是干嵌入式的,所以我当然是首推C语言啦!学习C语言可以帮助理解计算机原理,提升内功,同时还有实用价值。而且,想要理解Python、Lua等语言的源码,熟练掌握C语言必不可少,C++可以理解为C语言的升级版,增加了一部分面向对象的特性(封装、继承和多态)。下面列举一部分C/C++语言的应用:
- 网络软件:服务器端、客户端程序等。C++拥有很多成熟的用于网络通信的库,其中最具有代表性的是跨平台的、重量级的ACE库,该库可以说是C++语言最重要的成果之一,在许多重要的企业、部门甚至是军方都有应用。
- 操作系统:在该领域,C语言是主要使用的编程语言。但是C++凭借其对C的兼容性,面向对象性质也开始在该领域崭露头角。
- 设备驱动程序:也是因为效率的原因。
- 嵌入式系统:无论是低端嵌入式,还是汇编和C或是中端嵌入式,均是是C和C++。
- 游戏:C++的效率是一个很重要的原因。
- 其它:分布式应用、教育与科研。
- 总之,在操作系统开发上,在涉及到大吞吐量数据的及时处理 ,大规模、高性能计算,游戏开发、嵌入式实时应用开发,以及一些传统的客户端软件和构件开发中,C++的位置是稳定的。
2、Python,五星级
Python帮助你用最少的代码,完成最多的功能,和C语言形成互补。功能多、用法多、思维负担小,想干什么干什么。黑客有一种传统观点:5分钟内快速写出一段有用的程序是基本技能,一般来说你必须掌握Lisp、Perl、Python其中之一。
网络爬虫:Python开发爬虫非常方便,有很多可以直接调用的内置库和第三方库,很多pythoner入门学习Python语言,也都是从开发爬虫开始的。数据分析:numpy和pandas是python开发数据分析的基础库,使得数据分析在python手里变得更加游刃有余。
- 数据可视化:Python可以很方便的开发数据可视化图表甚至数据大屏,深受个人开发者和企业欢迎。
- Web开发:Python有若干个web网页模板系统、以及与web服务器进行交互的库,可以实现web开发,搭建web框架,目前比较主流的web开发框架是Django和Flask。
- 自动化办公:Python拥有众多的第三方库,支持读写word文档、excel文档、PPT文档、PDF文档等操作,可以很方便的开发自动化办公程序,解决打工人日常重复操作,简化办公步骤,提升办公效率。
- 自动化运维:利用Python开发自动化运维脚本,可以实时、定期查看服务器系统各项指标性能,包括CPU、内存、网络、磁盘存储、系统进程、IO读写等信息,辅助系统运维人员准确、高效地完成日常IT运维工作。
- 自动化测试:利用python开发自动化测试脚本,针对程序接口、模块、全流程测试,拥有unittest、selenium、appium等适用于不同场景的自动化测试库,提升测试团队的测试效率和准确率,规范管理自动化测试流程。
- 人工智能:随着5G、人工智能、大数据在近几年的迅速发展,Python拥有scikit-learn等机器学习的入门级开发框架,TensorFlow和Pytorch等深度学习的开发框架,使得其在各行业内的机器学习、神经网络、深度学习等技术都有用武之地,如人脸识别、语音合成、文本数据挖掘、自动驾驶等,得到广泛的支持和应用。
3、C#(或Java),四星级
C/C++是高执行速度,低开发效率;Python是低执行速度、高开发效率。二者都很极致。但是对有一定规模的软件和程序来说,更希望各方面均衡一点,不要走极端。学习了C#你会发现它确实是为解决实际问题而设计的,关键字多、语法多样的同时,还非常好用。很多开发者表示如果工程大到一定程度,C#或者Java比过于灵活的Python开发效率反而更高,维护难度也更低。下面说说C#的应用:
C#是在.NET平台上开发应用程序
C#是一种编程语言,而.NET是一个软件框架。C#是.NET框架的主要编程语言之一,它是为开发.NET应用程序而创建的。.NET是由微软开发的一个跨平台的应用程序开发框架,它提供了一系列的工具和库,用于开发各种类型的应用程序,包括桌面应用程序、Web应用程序、移动应用程序和云服务等。.NET框架提供了一种统一的开发环境和运行时环境,使开发人员能够使用不同的编程语言(如C#、http://VB.NET、F#等)来开发应用程序。具体能干什么呢?
- 桌面应用程序,开发出来的叫Winform应用程序
- Internet应用程序,开发出来的叫http://ASP.NET应用程序
- 手机应用程序,Wp8
4、iVX,四星级
iVX本来应该算在“其它语言”里面,但是因为个人偏爱就单拿出来了。iVX是国内零代码编程的代表,它基本上可以零代码编写,只需要拖拽操作,就提供最丰富的功能,前中后端都可以同一语言,同时保持很高的运行性能和实用性。iVX对于常见的需求是可以零代码编写的,特殊需求可以通过自定义函数去编程,开发效率特别高,可以直接开发,然后一站式部署,特别方便。学起来也快,不到2个月时间应该都可以制作一些常见的小程序或者web了。具体应用包括:
- Web应用
- 小程序
- 原生app
- 桌面应用
5、Javascript、Lisp、PHP、F#等其它语言,拓宽知识面
如果你在工作中需要用到其它语言,就不妨都学习一下,每一种语言都有它的优缺点。但是都学也不大有必要。需要做网页工作的,难免会用到PHP、Javascript,高级游戏开发肯定会用C++,等等。只有Lisp真的是很少见,大部分人是因为兴趣而学习的,当然它的独特性也更强。
6 大纲