Android 程序员 编程语言分类

分类方式


  • 动态语言(如:Ruby)
    • 程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化,类型的检查是在运行时做的,优点为方便阅读,清晰明了,缺点为不方便调试。
  • 静态语言
    • 静态类型语言的类型判断是在运行前判断(如编译阶段),比如C#、java就是静态类型语言,静态类型语言为了达到多态会采取一些类型鉴别手段,如继承、接口,而动态类型语言却不需要,所以一般动态语言都会采用dynamic typing,常出现于脚本语言中.

需要明确说明一点,那就是,是不是动态类型语言与这门语言是不是类型安全的完全不相干的,不要将它们联系在一起!


  • 编译型语言
    程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言(即计算机识别的二进制文件,因为不同的操作系统计算机识别的二进制文件是不同的)的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器跨平台性差些。如C、C++、Delphi等.

由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统大型应用程序数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言

  • 解释性语言
    编写的程序不进行预先编译,以文本方式存储程序代码。在发布程序时,看起来省了道编译工序。但是,在运行程序的时候,解释性语言必须先解释再运行

而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等

解释性语言,例如java语言,java程序首先通过编译器编译成class文件,如果在windows平台上运行,则通过windows平台上的java虚拟机(VM)进行解释。如果运行在linux平台上,则通过linux平台上的java虚拟机进行解释执行。所以说能跨平台,前提是平台上必须要有相匹配的java虚拟机。如果没有java虚拟机,则不能进行跨平台

Java

Dart

Dart 是一种真正的面向对象的语言,所以即使是函数也是对象
Dart 要比Java更有表现力,最重要的是Dart对函数式编程支持要远强于Java(目前只停留在Lambda表达式)
Dart 目前真正的不足是生态

Erlang

问世于1987年,Erlang是运行于虚拟机的解释性语言,常用开发工具:Sublime text

适合做什么?看看知乎的回答
What’apps的聊天服务器

Erlang最大的优势在于并发,以及并发系统的稳定性

Kotlin

Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由JetBrains设计开发并开源

Kotlin特点:

  • 简洁: 大大减少样板代码的数量。
  • 安全: 避免空指针异常等整个类的错误。
  • 互操作性: 充分利用 JVM、Android 和浏览器的现有库。
  • 工具友好: 可用任何 Java IDE 或者使用命令行构建。

Android Studio 从 3.0(preview)版本开始将内置安装 Kotlin 插件

Swift

Object-C

Objective-C语言基础

PHP

PHP一个慕课网学习链接:PHP入门篇

JavaScript

弱类型 脚本语言
JavaScript无疑是动态化支持最好的脚本语言

Ruby(动态)

  1. 适合于快速开发,一般开发效率是JAVA的5倍
  2. 一种类似于 Python 和 Perl 的服务器端脚本语言

C/C++

C语言 之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言

C语言是一门面向过程、抽象化的通用程序设计语言(70年代出现的一门计算机语言),广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言

C语言知识点:

  1. 指针函数与函数指针的区别

Python(动态)

是一种面向对象的解释型计算机程序设计语言。7月20日,IEEE发布2017年编程语言排行榜:Python高居首位

Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。

Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine

学习Python极好的一个网站:中文,免费,零起点,完整示例,基于最新的Python 3版本

Python应用场景

  • 网络爬虫在爬虫方面,python是独领风骚的。python有非常丰富的库去访问网页文档的接口api以及后期网页文档的快速处理
  • 数据处理python作为一门工程性语言,对于数据处理的类库是相当丰富的,比如有高性能的科学计算类库NumPy和SciPy
  • 人工智能,真正的人工智能的底层语言是C/C++,因为真正的计算全在于C/C++,而python仅仅是调用AI的接口然后去实现一些逻辑而已。但是为什么说人工智能首先python呢?这个其实是由于python作为“胶水语言”的特质才会显的出类拔萃,主要使用python是因为CPython和底层原因的融合使得开发起来更加方便
  • 云计算,大名鼎鼎的云计算框架OpenStack就是python开发的

Groovy(动态)

  1. 是一种基于JVM(Java虚拟机)的敏捷开发语言
  2. 一种成熟的面向对象编程语言
  3. 既可以用于面向对象编程,又可以用作纯粹的脚本语言
  4. Groovy是JVM的一个替代语言(替代是指可以用 Groovy 在Java平台上进行 Java 编程)

Scala(静态)

  1. 一种多范式的编程语言
  2. 设计意图是要集成面向对象编程和函数式编程的各种特性
  3. Scala是一种纯面向对象的语言,每一个值都是对象

Go(静态)

Boo(静态)

Golang

Golang学习这种语言发展方向

  • 区块链研发工程师
  • Go服务器端/游戏软件工程师
  • Golang分布式、云计算
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初心一点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值