各编程语言用途及分类
1 常用编程语言汇总及其用途
- C:操作系统、嵌入式、驱动开发
- C++:图形图像、科研、通信、桌面软件、游戏、游戏服务器
- C#:Windows桌面软件、.NET Web、服务器
- Java: Java SE:跨平台的桌面应用,Android;Java EE:企业级应用,web开发、服务器后端;Java ME:手机应用、流行于非智能机时代;Java Android:用于安卓开发应用
- GO:高性能服务器应用,比较年轻
- Erlang:高并发服务器应用,多用于游戏
- Python:Web、科学计算、运维
- Ruby:web
- Perl:运维、文本处理,用的较少
- Lisp:科研,一种逻辑语言,用于人工智能
- Node:一个JavaScript运行环境(runtime)
- Haskell:Haskell是一种标准化的、通用纯函数编程语言,数学逻辑方面
- Scala:一种类似Java的编程语言,集成面向对象编程和函数式编程的各种特性
- Javascript:前端,在node中可以做后端
- HTML/CSS:标记语言,主要是给前端工程师构建页面使用
2 编程语言的分类
1、高级语言和低级语言:
- 高级语言: C、C++、Java、Python、Pascal、Lisp、Prolog、FoxPro、易语言等都是高级语言,相对于低级语言来说,高级语言采用易于识别和记忆的字符来作为关键字,也更接近人类的思维方式,编写容易读写性好,开发效率更高。
a=a+b 的表达方式:
int a;
int b;
a=a+b;
重点是,高级语言是可移植的,做少量修改甚至无需修改,即可将代码运行在不同平台的计算机上。
- 低级语言(包括机器语言和汇编语言) :
机器语言:
计算机硬件只能识别“断开”和“闭合”两种物理状态,也就是0和1。使用机器指令效率最高,因为无需对指令进行翻译。但是机器语言对人类不友好,一大串0和1,很难识别和记忆,且容易出错。
但是对于机器来说,秒懂。
汇编语言:
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
汇编语言采用人类容易记忆和识别的助记符来代表一些0和1的指令,比如AND代表加法。
a=a+b 的表达方式:
MOV AX,2
MOV BX,3
ADD AX,BX
越是低级的语言对机器越是友好,越是符合机器的思考方式,因此执行效率高。
越是高级的语言对人类越是友好,越是符合人类的思考方式,因此开发效率高。
2、编译型语言和解释型语言(相对于高级语言而言)。
高级语言的可移植性是基于编译或者解释这个过程,对人类友好的高级语言只有经过处理才能被操作系统识别并加载到计算机硬件上最终执行。
高级语言的编译和解释都是面向操作系统而言,并非面对计算机硬件。
编译型语言
编译就是把一个事先编好的叫做“编译程序”的机器语言程序安装在计算机内,当需要执行高级语言程序时,编译程序就把整个“高级语言的源程序”翻译成“机器语言的目标程序”。
解释型语言
高级语言进入计算机后,解释程序一边扫描一边解释,逐句输入逐句翻译,计算机一行一行执行,并不产生目标程序。
比如JAVA就是一种解释型高级语言。
3、强类型语言(静态态语言)和弱类型语言(动态语言)
强类型语言(静态语言):是编译时变量的数据类型就可以确定的语言,大多数静态语言要求在使用变量之前必须生命数据类型。比如Java、C、C++、C#等。
String s="hello"; //String 类型的变量
boolean b=true; //boolean 类型的变量
int i=0; //int 类型的变量
弱类型语言(动态语言):是运行时才确定数据类型的语言,变量在使用之前无需申明类型,通常变量的值是被赋值的那个值的类型。比如Php、Asp、JavaScript、Python、Perl等等。
var s ="hello";
var i = 0;
var b = true;
弱类型语言是数据类型可以被忽略的语言。它与强类型语言相反,一个变量可以赋不同数据类型的值。一个变量的类型是由其上下文决定的,效率更高。
强类型语言是必须强制确定数据类型的语言,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这种数据类型。一个变量的类型是申明的时候就已经确定的,更安全。
静态语言由于强制声明数据类型,让开发工具(IDE)对代码有很强的判断能力,在实现复杂的业务逻辑和开发大型商业系统、以及那些声明周期很长的应用中,开发者可以依托强大的IDE来更高效、更安全地开发。
动态语言思维不受约束,可以任意发挥,把更多的精力放在产品本身上;集中思考业务逻辑实现,思考过程就是实现过程。
各编程语言用途及分类相关推荐
- spring-data-jpa原理探秘(2)-RepositoryQuery的用途和分类
为什么80%的码农都做不了架构师?>>> 本系列的第二篇文章,主要讲解在spring-data-jpa中占有重要地位的RepositoryQuery接口的用途和分类. 首先我们 ...
- (理财六)贷款用途的分类
(理财六)贷款用途的分类 贷款是什么? 在遇到诸如买房.买车.大额消费的时候,该不该贷款,该贷多少,还是选择用存款或理财的资金.在贷款之前先要了解不同用途下的贷款分类,至于如何选择不同分类的贷款性价比 ...
- 3C证书办理流程,3c认证的用途和分类
3C证书办理流程,3c认证的用途和分类 3c,中国强制性产品认证,英文名称China Compulsory Certification,英文缩写CCC. 3C认证的全称为"中国强制性产品认证 ...
- 雷达多普勒频率计算公式_雷达系统的用途、分类,影响雷达性能的关键要素
雷达通信电子战,专业知识服务! 雷达通信电子战定位于基础知识科普和前沿技术跟踪,专注于资料的搜集和整理分类.发送"0502"获取今日分享资料. 节日专属,限时招收: 5.1~5.5 ...
- 最全GIS开发编程语言汇总及分类
目录 编程语言的特征 GIS开发通用编程语言 一级流行编程语言 Python JavaScript C# C++ Java 二级流行编程语言 C PHP R/S Ruby Rust Shell SQL ...
- 几种flash存储芯片的用途和分类
1.IIC EEPROM------容量小,采用的是IIC通信协议:用于在掉电时,存系统配置参数,比如屏幕亮度等.常用芯片型号有 AT24C02.FM24C02.CAT24C02等,其常见的封装多为D ...
- 台式机和便携机属于小型计算机吗,计算机的分类方法有多种,按照计算机的性能和用途来分类,台式机和便携机均属于传统的小型计算机。...
[单选题]按键10的作用 [单选题]下列哪个病不是由真菌引起的:() [多选题]3DP技术应用目前主要应用于 [单选题]Identify which type of writing is being ...
- 探索编程语言的本质:了解编程语言的定义与分类
前言: 由于我看了一眼我的粉丝列表,发现好像关于开发语言的童鞋占比较多哈,所以出一下这篇专栏. 要关注的小伙伴可以提前订阅哈. 目录 前言: 引言 1.1. 编程语言的重要性 1.2. 本文的目的与结 ...
- 1.1 编程语言介绍
本节重点: 让学生理解为编程语言是什么?为什么要编程? 让学生大体明白,编程语言是如何与计算机底层通信的 编程语言有哪些分类? 分别列举主流编程语言的特点 本节时长需控制在25-30分钟内 什么是编程 ...
- 走进Java中的持有对象(容器类)之一 容器分类
转载自 https://www.cnblogs.com/ACFLOOD/p/5555555.html Java容器可以说是增强程序员编程能力的基本工具,本系列将带您深入理解容器类. 容器的用途 如果对 ...
最新文章
- 如何授予邮箱的代理发送权限
- 深入css布局 (1) — 盒模型 元素分类
- 分析 linux /var/log/messages,2009-11-30 15:30 Linux系统日志/var/log/messages (转)
- 《Head.First设计模式读书笔记》之设计原则一、二和三
- 单曲循环 翻译_“单曲循环”用英语怎么说?
- html中text函数,text函数的使用方法
- [图像处理]指定任意灰度变换
- python mysql批量insert数据_使用python往mysql批量插入数据时,报错not all arguments converted...
- 常用的工具网站和收藏文章
- 替代传统C/S和B/S技术的下一代客户/服务器编程技术
- BIM应用落地:基于BIM的群塔作业方案优化
- Use SageMath with PyCharm/PyDev (Use PyCharm/PyDev to run and debug SageMath scripts)
- 2022 AI趋势8大预测
- 2020-12-28
- XCELSIUS例子---柱形图部件的使用
- java 断点跳到注释,一个空指针异常,代码如下,打了断点,一到“TOPICID”那里(在下方注释4那里)就抛异常-_-||...
- android web3j 代币查询_ERC20代币转账以及余额查询--java(web3j)
- 基于javaweb+mysql的农产品水果店销售管理系统
- python:calendar 日历相关库
- HTML+CSS+js搭建简易网页(1)构建网页的骨架
热门文章
- 超详细的LSA内容解析及SPF算法分析,一看就懂
- HTML段落前面怎么加黑点,word文档前面的黑点是怎么加的?(组图)
- 用python找千字文的重复字
- win11使用win10右键菜单的四种办法
- 【esp8266】【Node.js】【Websocket】esp8266和Node.js通过websocket进行通信,实验记录及踩坑记录
- Postgresql 学习记录,模式,分区表,触发器,事务,窗口函数,视图,建表,约束等
- rms 公式 有效值_真有效值RMS定义及推导
- oracle locked time,Oracle里面的用户无法登录 LOCKED(TIMED)解决方法
- 借助科技的力量,让物联网更好的服务鱼虾养殖业
- linux文件权限651,Linux基础之文件权限详解