大数跨境
0
0

Python VS. C# VS. C++ VS. Java【0】

Python  VS.  C#  VS.  C++ VS. Java【0】 XR Engineering Technology
2022-05-18
5
导读:知识共享是社区性工作进步的一种方式,为此,对于工科类科研人而言,数学与编程是一项重要的技能。
知识共享是社区性工作进步的一种方式,为此,对于工科类科研人而言,数学与编程是一项重要的技能。根据科研类编程语言主要分为:Python,C#&C++,Java语言。从今天开始,将向大家系统的介绍各类编语言的使用基础,会涉及数据库等内容-----(从代码出发)。每周日更新。
  • 整体介绍

一门编程语言需要了解其基础,在三个方面即可:概念(适用环境和适用对象)、应用(应用领域和工具)和编译器。
  • Python

    1.1 概念介绍

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。主要记住如下几点,即可:
  1. Python 是一种解释型语言:开发过程中没有编译环节,自己定义函数和类,后续可以直接调用,类同PHP和Perl语言。

  2. Python 是交互式语言 代码写完后,可以直接执行代码,进行调试。

  3. Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

  • 1.2 主要应用

  1.  云计算:云计算最热的语言,例如OpenStack

  2. WEB开发:WEB 框架,典型的Web框架包括Django

  3. 科学计算&人工智能:典型的库NumPy、SciPy、Matplotlib、Enided、Pandas、OpeanCV、Math

  4. 系统操作和维护:操作和维护人员的基本语言,例如基于Linux系统。

  5. 日常办公-数据处理:定量交易、金融分析,在金融工程领域,Python 不仅使用最多,而且其重要性逐年增加。包括数据爬取,表格文件读取,数据清洗,分类和回归(预测)。

  6. 图形 GUI:PyQT,WXPython,TkInter等,编写后可以在多系统间调用。

  7. 1.3 编译器使用

编译器有很多,通过网络查询即可。编译器说白了就是当你在做作业时,需要把你的解题过程通过作业本提交给老师,老师经过判断后,对你的答案进行判定。这个过程的作业本就是编译器,就是直接敲代码的地方。个人推荐:Pycharm+Ancaonda【后续会讲解如何配置环境。】

                   

  • C#
    1.1 概念介绍
    C 语言是一种通用的、面向过程式的计算机程序设计语言,为了编写 UNIX 操作系统而被发明的。标准程序框架如下:
  • #include <XXXX头文件>intmain()
    {    /* 这里写下你自己的注释 */    printf("Hello, Girl! \n");    return0;
    }

    上述基本代码框架包括:

  1. 所有的 C 语言程序都需要包含 main() 函数。代码从 main() 函数开始执行。

  2. /* ... */ 用于注释说明。

  3. printf() 用于格式化输出到屏幕。printf() 函数在 "XXXX" 头文件中声明。

  4. XXXX是一个头文件 (标准输入输出头文件) , #include 是一个预处理命令,用来引入头文件。当编译器遇到 printf() 函数时,如果没有找到 XXXX头文件,会发生编译错误。

  5. return 0; 语句用于表示退出程序。

1.2 主要应用

  当前最新标准是C11,采用 C 语言作为系统开发语言主要应用实例如下:
  1. 操作系统

  2. 语言编译器

  3. 汇编器

  4. 文本编辑器

  5. 打印机

  6. 网络驱动器

  7. 现代程序

  8. 数据库

  9. 语言解释器

1.3 编译器使用

个人推荐:Visual Studio 2019 (.Net Core)+ 记事本
                         
  • C++

1.1 概念介绍

C++ 进一步扩充和完善了 C 语言。C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。任何合法的 C 程序都是合法的 C++ 程序。C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。与C#相比,多了using 命名空间,printf(" string")----> count<<"string"<<endl,如下所示:

  • #include <iostream>

    usingnamespacestd;

    intmain()

    {        cout << "Hello, Girl!" << endl;  
        return0;
    }
C++ 支持面向对象的程序设计四大特性:封装,抽象,继承和多态。
1.2 主要应用
  1.  服务器端开发:很多游戏或者互联网公司的后台服务器程序都是基于C++开发的,而且大部分是linux操作系统。

  2. 游戏:目前很多游戏客户端都是基于C++开发,比如计算机图形、多媒体处理。

  3. 混合现实:需要大量基于这些的C++开发,比如封装好的MRTK工具包。

  4. 数字图像处理:比如像AutoCAD的系统开发,像OpenCV的视觉识别等等。

  5. 在科学计算领域,FORTRAN是使用最多的语言之一。但是近年来,C++凭借先进的数值计算库、泛型编程等优势在这一领域也应用颇多。

  6. 网络软件

  7. C++拥有很多成熟的用于网络通信的库,其中最具有代表性的是跨平台的、重量级的ACE库,该库可以说是C++语言最重要的成果之一,在许多重要的企业、部门甚至是军方都有应用。

  8. 分布式应用。

  9. 操作系统。

  10. 在该领域,C语言是主要使用的编程语言。但是C++凭借其对C的兼容性,面向对象性质也开始在该领域崭露头角。

  11. 设备驱动程序。

1.3 编译器使用

个人推荐:Visual Studio 2019 (.Net Core)+ 记事本,这篇博客已经总结了当前的编译器:最佳 C++ 编译器 - 知乎 (zhihu.com)

                    

  • Java

1.1 概念介绍

Java是一种动态的,分布式,面向对象,可移植,解释型和多线程(提供多线程之间的同步机制的计算机语言。Java 语言的语法与 C 语言和 C++ 语言很接近。Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得用户不必为内存管理而担忧。

  • public class HelloGirl {

   public static void main(String[] args) {        System.out.println("Hello Girl");    

    }

}

第一眼可以看出Java与C#和C++的整体代码形式所差无异,只是语法不同,都是解释性的编程思想。

1.2 主要应用

无处不在

1.3 编译器使用

Eclipse、 IntelliJ IDEANetBeans 等。随个人使用习惯。

                                
  • 对比总结

     编程语言的等级划分,不是高级语言就最好,低级语言就最差,这个“级”不是优秀的意思。这是一项错误的理解!!
    高级编程语言意味着使用者在使用过程中不需要考虑太多的底层代码和管理问题,现成封装好的库和工具包直接调配用即可,比如Python。低级语言通常被称为计算机的本地语言,它非常接近于编写实际的机器指令,它处理计算机的硬件组件和约束。它用于控制计算机的操作语义,并提供很少或不提供编程思想的抽象。与用于开发软件的高级语言相比,低级代码不是人类可读的,而且通常是神秘的,这往往是很重要的。中级语言是连接了低级和高级的部分特性,例如C#,C++和Java。
  • -----【下一章介绍各类语言的环境部署与编译器使用】
                               


































【声明】内容源于网络
0
0
XR Engineering Technology
专注于工程技术领域的XR理论和技术研发应用
内容 6
粉丝 0
XR Engineering Technology 专注于工程技术领域的XR理论和技术研发应用
总阅读15
粉丝0
内容6