• 现代代码体系


    ### 现代代码体系
    - 最早的代码体系:程序员世界使用二进制进行编程或者汇编进行编程,性能最好,最难编写
    - 出现操作系统后,程序员使用c c++进行编程, 最终通过编译器编译成机器语言, 不过需要针对不同的cpu进行单独的编译,性能很好,编写ok
    - 跨平台后:针对c++需要一次编写 到处编译的问题, java提出了虚拟机的概念, 通过将代码编译为中间字符在虚拟机上运行, 而虚拟机自己会通过判断不同cpu来执行这些中间字符,性能一般,编写ok
    - 解释器:连编译也不需要了, 直接解释源代码然后执行, 早期浏览器,性能最差,编写ok
    - jit即时编译: 拿到源代码后 立马编译成机器语言, 然后执行,性能媲美java虚拟机,编写ok
    ### 系统调用库与代码执行环境
    - 系统调用库与代码执行环境分别是两个东西,以flutter为例
    - flutter引擎属于系统调用库,他提供了所在平台的sdk,动画,图形绘制,网络请求等能力
    - Dart虚拟机是负责执行dark程序
    - 基础库 dark语言调用flutter引擎的api
    - flutter的执行机制,Dart虚拟机拿到dark程序后开始执行程序,如果遇到sdk调用(就是基础库的调用) 则转到flutter引擎去执行。
    ### flutter架构
    - 用户
    - dark程序
    - dark运行时
    - flutter引擎
    - 驱动
    - 硬件
    ### 为何痴迷于新造语言
    - 理论上c c++已经可以为所有的平台开发程序,本身c++就是跨平台的,为何还要创造新的语言呢?
    - 如果使用c++,你需要自己编写相关库和框架,同时还需要为特定平台设计一个开发环境,同时还需要处理不同平台的差异
    - 目前除了c++ 并没有出现一个所有人都认可的语言
    - 所以 大公司只能自己创造语言,实际上是 帮助开发人员做了 框架和开发环境。使得开发人员不需要关注这些问题。
    - c语言由于过于底层(比如指针),没有考虑现代开发特性导致不适合快速开发项目
    - c++本身是一门优秀的语言,但是其本身设计和理念过于复杂,导致很难使用
    - java简单实用的语言
    - c# swift js等针对特定目的而产生的语言
    ### 为何需要虚拟机
    - 虚拟机最初的引入是屏蔽底层的差异性,是的开发人员可以专注于开发
    - flutter中本可以不引入虚拟机,因为dark语言可以直接编译成对应平台的二进制, 之所以加入虚拟机是为了调试 http://gityuan.com/2019/10/05/dart_vm/
  • 相关阅读:
    数据预处理之数据可视化
    RESTful和JAX-RS
    Mac Security工具使用总结
    《Java核心技术卷一》笔记 多线程同步(底层实现)
    Java SSH库使用简介:Apache sshd和JSch(Java Secure Channel)
    maven资源文件的相关配置
    《Java核心技术卷一》笔记 多线程
    《Ant权威指南》笔记(一)
    《Java核心技术卷二》笔记(三)正则表达式
    《Java核心技术卷二》笔记(二)文件操作和内存映射文件
  • 原文地址:https://www.cnblogs.com/mrzhu/p/13336410.html
Copyright © 2020-2023  润新知