北京皮肤白癜风 http://m.39.net/news/ylzx/bjzkhbzy/ 对于刚接触编程的同学来说,选择适合自己的编程语言肯定是一个大难题,接下来我们就来讨论如何选择一门语言。 上图为年编程语言热门排行榜前十名,分别是Java、C、Python、C++、VisualBasic.NET、JavaScript、C#、PHP、SQL、Objective-C。 Java Java诞生于年,是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。 C C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言出现的时间非常早,年,它的主要目的是取代汇编语言,所以它的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当,C语言一般只比汇编语言效率低10%~20%。 Python Python是一种跨平台的计算机程序设计语言,是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。 C++ C++是C语言的继承升级版,但是它与C语言不是同一个语言,C++既可以进行C语言的过程化程序设计,可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。 VisualBasic.NET 暂时不讨论 JavaScript JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。 C# C#是由C和C++衍生出来的一种安全的、稳定的、简单的、优雅的面向对象编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。 PHP PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法,利于学习,使用广泛,主要适用于Web开发领域,它具有成本低、速度快、可移植性好、内置丰富的函数库等优点,因此被越来越多的企业应用于网站开发中。但随着互联网的不断更新换代,PHP语言也出现了不少问题。 SQL SQL结构化查询语言(StructuredQueryLanguage)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,是后端开发必不可少的语言。 Objective-C Objective-C简称OC,是C语言的升级版,主要是用来编写iOS,OSX和WatchOS软件,如果你想做苹果系列的开发,那么Objective-C是必须要学的。 那么如何选择自己学习的语言呢,接下来就根据方向提出学习的建议。 软件 前端:前端一家独大的是JavaScript,所以这一个必须要学,很多的框架如Vue、React都是JavaScript编写的,其次是TypeScript,Angular就是使用的TypeScript编写的,之后就要了解了解后端语言了,可以选择Java、Python,我个人是比较推荐Python的,毕竟可以做的事情比较多。 后端:现在后端还是以Java为主,所以建议先学Java,其次是JavaScript,做后端也要了解前端,然后是Python,可以作为自动化工具、写一写脚本都是不错的,还有最近比较火热的Go语言,也有很多的大公司使用Go去重构自己的业务,所以Go也有不错的前景。 网络方向:网络涉及一些底层知识,所以建议C或C++,了解底层原理对于安全方向来说是非常重要的,然后就是选学前后端语言,Java、JavaScript、Python。 游戏开发:主要看使用什么引擎开发,使用Unity主要学习C#,使用虚幻主要学习C++。 安卓开发:现在安卓开发主要以Java为主,所以Java必须要学,其次是Kotlin,Kotlin已经被谷歌作为了安卓开发的官方语言。 数据方向:以Java或Python为主,Java大数据方向要学Java,Python同理,然后就是SQL数据库相关。 硬件 嵌入式:以C和C++为主,嵌入式同样是和底层打交道,所以这两个不能少。 组别:硬件组 撰稿:赵鑫玉 执行编辑:宋雯晴 责任编辑:徐榕杨贤娇 |