Python

Python被称为胶水语言,哪里都可以用。

有句话说:人生苦短,我用Python。

有程序员网友调侃,python最适合女生学……因为包多!

python有很多方便的库,丢弃c语言复杂的指针,简化语法,它的存在就是解决问题,而不是让你理解语言本身。

特点

易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
易于阅读:Python代码定义的更清晰。
易于维护:Python的成功在于它的源代码是相当容易维护的。
一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
数据库:Python提供所有主要的商业数据库的接口。
GUI编程:Python支持GUI可以创建和移植到许多系统调用。
可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
免费、开源 : Python 是 FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS 是基于一个团体分享知识的概念。这是为什么 Python 如此优秀的原因之一——它是由一群希望看到一个更加优秀的 Python 的人创造并经常改进着的。
缺点

运行速度,有速度要求的话,用 C++ 改写关键部分吧。
国内市场较小(国内以 Python 来做主要开发的,目前只有一些 web2.0 公司)。但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规模使用他。
中文资料匮乏(好的 Python 中文资料屈指可数,现在应该变多了)。托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容还是只能看英语版。
构架选择太多(没有像 C# 这样的官方 .net 构架,也没有像 ruby 由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。


C

C语言是通用的基础编程语言,编程开发人员加班加点必备武器。

它的特点在于偏向计算机底层操作,多用于性能要求严格的领域。

C语言相对来说会难点,光一个指针就足以把你搞晕。入门一般都是啃着谭浩强的C程序设计。

在硬件、虚拟现实VR/AR,C语言和C++占据主导地位。

特点

易于学习
结构化语言
它产生高效率的程序
它可以处理底层的活动
它可以在多种计算机平台上编译
关于C

C 语言是为了编写 UNIX 操作系统而被发明的。
C 语言是以 B 语言为基础的,B 语言大概是在 1970 年被引进的。
C语言标准是于 1988 年由美国国家标准协会(ANSI,全称 American National Standard
Institute)制定的。
截至 1973 年,UNIX 操作系统完全使用 C 语言编写。
目前,C 语言是最广泛使用的系统程序设计语言。
大多数先进的软件都是使用 C 语言实现的。
当今最流行的 Linux 操作系统和 RDBMS(Relational Database Management System:关系数据库管理系统) MySQL 都是使用 C 语言编写的。
为什么要使用C

C 语言最初是用于系统开发工作,特别是组成操作系统的程序。由于 C 语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样,所以采用 C 语言作为系统开发语言。下面列举几个使用 C 的实例:

操作系统
语言编译器
汇编器
文本编辑器
打印机
网络驱动器
现代程序
数据库
语言解释器
实体工具


C++


C++以C发展而来,它比C语言多增加了类、继承、重载、类模板、C++标准库、模板库等。

一句话,C面向过程,C++面向对象。
特点

C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。
C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。
C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。
C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。
面向对象程序设计

C++ 完全支持面向对象的程序设计,包括面向对象开发的四大特性:

封装
抽象
继承
多态
标准库

标准的 C++ 由三个重要部分组成:

核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
C++ 标准库,提供了大量的函数,用于操作文件、字符串等。
标准模板库(STL),提供了大量的方法,用于操作数据结构等。
学习C++

学习 C++,关键是要理解概念,而不应过于深究语言的技术细节。

学习程序设计语言的目的是为了成为一个更好的程序员,也就是说,是为了能更有效率地设计和实现新系统,以及维护旧系统。

C++ 支持多种编程风格。您可以使用 Fortran、C、Smalltalk 等任意一种语言的编程风格来编写代码。每种风格都能有效地保证运行时间效率和空间效率。

C++的使用

基本上每个应用程序领域的程序员都有使用 C++。

C++ 通常用于编写设备驱动程序和其他要求实时性的直接操作硬件的软件。

C++ 广泛用于教学和研究。

任何一个使用苹果电脑或 Windows PC 机的用户都在间接地使用 C++,因为这些系统的主要用户接口是使用 C++ 编写的。


Java


Java可能是目前运用最广的项目语言。

它的特点是,概念简单,无数的库,轻松入门so easy!

可应用于服务端编程、高性能网络程序、分布式计算、安卓移动终端应用开发等。
主要特性

Java语言是简单的
Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
Java语言是面向对象的
Java语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
Java语言是分布式的
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
Java语言是健壮的
Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
Java语言是安全的
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
Java语言是体系结构中立的
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
Java语言是可移植的
这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。
Java语言是解释型的
如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
Java是高性能的
与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
Java语言是多线程的
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子类将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
Java语言是动态的
Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

---------------------------------------------------------------PHP

PHP被程序员网友称为是世界上最好的语言,但是可能也是被黑的最惨的一门语言。

PHP语法和C类似,有很多的模板和框架,简单易懂,也许你可以在短短几天做出web app。

它主要用于web端,快速建站网络开发必备。


Javascript


JavaScript是JavaScript 是目前所有主流浏览器上唯一支持的脚本语言,仅用10天的时间设计出来。

在前端开发中,占有不可替代的地位。

编程日记-主要编程语言简介相关推荐

  1. 决策树编程python_Python如何制定决策:编程中的控制流简介

    决策树编程python by Ivan Leo 伊万·利奥(Ivan Leo) Python如何制定决策:编程中的控制流简介 (How Python makes decisions: an intro ...

  2. 编程语言python怎么读-Python之编程基础(编程语言分类)

    一.编程语言简介 编程语言主要从以下几个角度进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 1.编译型跟解释型 编译型,其实他和汇编语言是一样的,也是有一个负责翻译的程 ...

  3. 编程日记——第一次写博客

    2020.3.27 今天是一个值得纪念的日子,因为这是我第一次在CSDN写博客的日子. 欢迎各位来阅读我的编程日记 大家好,我是一名大二的学生,因为对编程一直很感兴趣,所以在填报专业的时候,非常开心得 ...

  4. Matlab编程入门指南:简介、安装、学习路线和几十个编程案例分析。

    一.Matlab编程入门指南:简介.安装.学习路线和几十个编程案例分析. 1.Matlab编程语言是一种广泛应用于科学计算.工程计算.数据分析.统计分析.信号处理等领域的高级数值计算和数据可视化软件. ...

  5. Java并发编程一线程池简介

    推荐:Java并发编程汇总 Java并发编程一线程池简介 为什么我们需要使用线程池? 我们知道线程是一种比较昂贵的资源,我们通过程序每创建一个线程去执行,其实操作系统都会对应地创建一个线程去执行我们的 ...

  6. 网络编程:网络协议简介

    这是张富涛的第10篇原创 网络编程:网络协议简介 网络协议在网络编程中是一个比较神秘的概念,今天就由我们揭开它神秘的面纱吧. 1. 什么是网络协议? 网络协议是指对于网络中传输的数据格式的规定.在计算 ...

  7. 学习编程与学习编程语言不同

    译注:本文来自phpocean,使用机翻后由Mr.Wei校对.[语言往往给程序员带来的成就感往往让其忘了初衷,当你不再买各种<XXX从入门到精通>就说明你要么放弃了要么明白了._] 我们都 ...

  8. basic计算机编程基础,QBASIC编程语言基础

    QBASIC编程语言基础 语音 编辑 锁定 讨论 上传视频 <QBASIC编程语言基础>是2005年1月电子工业出版社出版的图书,作者是尹作林.本书包括QBASIC语言的基本知识.QBAS ...

  9. P4学习笔记(三)P4编程语言简介

    文章目录 P4学习笔记(三)P4编程语言简介 基本数据类型 Typedef 声明和初始化变量 元数据 参考资料 P4学习笔记(三)P4编程语言简介 上图展示了P4语言主要结构,下面简单讲解一下P4的基 ...

最新文章

  1. java int 127_Integer类型中奇怪的127和128
  2. 【Scratch】青少年蓝桥杯_每日一题_4.01_踢足球
  3. mysql 开发进阶篇系列 32 工具篇(mysqladmin工具)
  4. nginx配置文件中的location中文详解
  5. php上传图片管理系统,php 登录操作的文件上传管理系统
  6. easyui中combotree只能选子选项,父级不被选中
  7. HTML基础知识(w3school)
  8. Linux工作笔记032---Centos7.3/8.2 下安装mysql_不局限于MySql版本
  9. 统计学习方法读书笔记7-K近邻习题
  10. 我的kindle书单
  11. 2022年贵州大学计算机考研(初试+复试+实验室经验贴)
  12. 【UWB定位】 - DWM1000模块调试简单心得 - 1
  13. 基于OpenCv的人脸识别系统设计
  14. 最简单24点算法,可任意实现n数n点,一看就明!
  15. python大于号怎么写_大于号怎么写
  16. 30分钟快速了解云计算
  17. 点微同城小程序配置教程及提交审核包过审经验分享
  18. 微信开启指纹支付功能 单账户每日限额5000元
  19. erp系统有哪些功能模块?
  20. ESP32串口通信 双机串口通信

热门文章

  1. jstack命令相关参数解释(tid,nid,prio,os_prio)
  2. 什么是Mbps、Kbps、bps、KB、MB及其换算和区别
  3. python速度_只需一行代码,让你的Python运算速度更加流畅!
  4. BetaFlight统一硬件配置文件研读之feature命令
  5. Redis - 更新数据时如何保证MySQL和Redis中的数据一致性?
  6. 港大女生闻判拭泪 教师梦恐粉碎
  7. Ipad2发布会最大的惊喜是乔布斯的出现
  8. 新手入门:介绍JSP中request属性的用法
  9. AI技不如人 Siri表现差 为补短板苹果挖完谷歌挖惠普
  10. mysql 查询每日、每月、每年数据