新的编程语言学什么
编程语言:概述,语法,特性,工具/库,根据设计的目的,对语言的特性进行取舍。
学习编程语言要重点掌握该语言所特有的语言特性,语言因特有的特性而与众不同
- 语法:各个语言语法的差异,比如奇葩的shell
- 语义,功能
- 惯例用法
- 常用特性,
- 语言设计意图
- 编程风格:惯例用法,哲学理念,编程范式,构成了编程风格
- 性能(运行速度),产能(编码速度),通用性(是否是领域特定语言)
语言包含的内容
- 包含的内容
数据类型:基本数据类型和复合数据类型
变量的定义:是否需要声明
方法的定义
运算法
内置的数据集合:
字符串
文件
网络
格式化
数据库安全
数学
并发:线程
错误处理:异常
语法糖
-
语法糖定义:
语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。简而言之,语法糖让程序更加简洁,有更高的可读性。 -
解语法糖:
1.语法糖的存在主要是方便开发人员使用。
2.Java虚拟机并不支持这些语法糖。这些语法糖在编译阶段就会被还原成简单的基础语法结构,这个过程就是解语法糖。
3.编译在Java语言中,javac命令可以将后缀名为.java的源文件编译为后缀名为.class的可以运行于Java虚拟机的字节码。JavaCompiler的源码,compile()中有一个步骤就是调用desugar(),这个方法就是负责解语法糖的实现的。
4.Java 中最常用的语法糖主要有泛型、变长参数、条件编译、自动拆装箱、内部类等。
编程的关键
编程的关键根本就不是编程语言,更不是语法,而在于背后的思想,能不能分层,抽象,分而治之,能不能把变化的部分和不变的部分给隔开来,能不能让各个功能独立地变化和扩展(模块化)。
需要认真学习,积极思考,多加实践
编程语言的动与静
一句趣言,动态一时爽,重构火葬场。各种语言总是有利有弊,与其进行宗教式的争论,不如扬长避短,各取所长,他山之石可以攻玉。
-
动态类型指的是在运行时才进行类型检查;
-
静态类型指的是在运行前就进行类型检查,一般是在编译期。
-
强类型指的是不允许隐式转换;
-
弱类型指的是允许类型转换。
-
动态语言指的是运行时可以改变数据类型,函数的定义,对象的行为;
-
静态语言则不可以