概述
编程语言趋势
tiobe
PYPL
每一门语言都有优势和劣势,都有自个擅长的领域。没有绝对的好,也没有绝对的差,只有适合或不适合。关键还得看人。
计算机语言发展史:机器语言,汇编语言,高级语言,面向对象的语言。
现代程序设计始于 C,过渡到 C++,然后是 Java,(然后是 Python)。
组成
- 数据类型
- int、string、list…
- 数据类型决定了数据的存储与表示方式,取值范围与能执行的操作
- 语言元素
- 关键词
- 控制结构
- if、for
- 程序模块
- module、def
大小写敏感与注释方法
| 大小写敏感 | 注释方法 | |
|---|---|---|
| HTML | ||
| CSS | ||
| JS | ||
| Java | ||
| Python | 敏感 | |
| SQL | 不敏感 |
集成开发环境:IDE:集编辑 Edit、编译 Compile、执行 Execute、调试 Debug 为一体的开发环境
编程风格
- 声明式编程和命令式编程站的角度不同,一个关注的式结果,一个关注的是过程,声明式编程对于接口的使用者来说是非常好的,但是接口的内部还是得要用命令式编程来实现。
- 命令式 Imperative 编程
- 关注:计算机执行的具体步骤。即先做什么, 再做什么
- 比如在 列表中筛选大于 2 的数字,需要告诉它:先创建一个结果列表、再遍历这个列表,再判断每个数字是否大于 2,如果是就添加到结果变量列表中。
- 声明式 Declarative 编程
- 关注:最后的结果,以数据结构的形式来表达程序执行的逻辑。
- 告诉计算机应该做什么,但不指定具体要怎么做
- HTML、CSS 也是声明式的
- 它不需要创建变量用来存储数据。 另一个特点是它不包含循环控制的代码如
for,while。
- 函数式编程
- 关注:
- 在声明式编程上更进一步,将函数作为第一公民
- 函数式编程和声明式编程是有所关联的,因为他们思想是一致的:即只关注做什么而不是怎么做。但函数式编程不仅仅局限于声明式编程。 函数式编程最重要的特点是**“函数第一位”**,即函数可以出现在任何地方,比如你可以把函数作为参数传递给另一个函数,不仅如此你还可以将函数作为返回值。大部分常见的编程语言一半都已经提供了对这种编程方式的支持,比如 JavaScript,再有 C# 中的 LINQ 和 Java 中的 Lambda 和闭包的概念。
Java 8最大的一个对函数式编程支持的更新就是Stream API,
C
C:主要用于开发底层模块 (如驱动、解码器、算法实现)、服务应用(如 web 服务器)、嵌入式开发。
如果不了解 C 或 C ++,你就不能成为程序员。这是一个非常强烈的声明- 知道 C 的软件工程师或开发人员比不懂 C 的程序员更好,而且不仅仅是巧合。
C++
C++:游戏开发, 大规模, 高性能, 分布式要求的程序开发。
- 适用于复杂但又需要高效率的开发。
C
C#:
Java
Java:网页,企业级开发,过去二十年来最流行的语言之一,具有好的语言特性,丰富的框架。
Android 开发、企业级 web 开发, 普通应用软件, 游戏后台。
- 安全性高、结构合理
- 高并发、集群性部署
- 电商平台基本都是由 Java 开发而成
名词解释
JDBC:Java Data Base Connectivity:Java 数据库连接,由一些接口与类构成的 Java 数据库连接 API
JSP(Java Server Page)
相关工具
jeesite:Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring MVC、Apache Shiro、MyBatis、Beetl、Bootstrap、AdminLTE),当年服装项目初始版本的框架。
Python
Python:胶水语言,可将其语言制作的各种模块轻松地联结在一起,服务器开发、物联网开发、大数据、数据可视化、机器学习
- 动态、解释、
- 开发效率高,开源,灵活,入门门槛低
- python 之解释器相当于 Java 之虚拟机
- 主要场景:人工智能、爬虫、脚本、机器学习、人工智能、科学计算、数据挖掘、信息安全、大数据处理、物联网开发
HTML/CSS
HTML/CSS:web 的前端开发
- 炫酷界面
JavaScript
JavaScript:浏览器的脚本语言。操作网站传过来的标签式文档实现客户端动态效果。
- 不易学,不易写(相对而言)
- 优势:前后端通吃,生态发展壮大,平均收入略高
- 超过 80% 的开发者和 95% 的网站都使用 JavaScript 来实现页面上的动态逻辑。
- 对网站的一堆标签型文档进行动态效果的展示,
Node.js
Node.js:
- 主要用于服务器端的开发
PHP
PHP:personal home page
- 主要是网络前端,用于生成网页。也可以整个 web 服务器都用 php,比如很多论坛引擎。
ASP
ASP(active server page)
