一、python虚拟机没有java强,java虚拟机是java的核心,python的核心是可以很方便地使用c语言函数或c++库。
二、python是全动态性的,可以在运行时自己修改自己的代码,java只能通过变通方法实现。python的变量是动态的,而java的变量是静态的,需要事先声明,所以java ide的代码提示功能优于python ide。
三,python的产生几十年了,几十年前面向过程是主流,所以用python有好多程序用的是面向过程设计方法,很多概念从c语言过来的,class在python中是后加入的,而java是为了实现没有指针的c++(当年com组件用的引用记数,java用的虚拟机),主要采用面向对象的设计方法,很多概念是oop的概念。面向过程,相对简洁直观,但容易设计出面条程序,面向对象,相对抽象优雅,但容易过度抽象。
四,在实际使用的python入门简单,但要学会用python干活,需要再学习python各种库,pyhton的强大在于库,为什么python的库强大,原因是python的库可以用python,c语言,c++等设计,再提供给python使用,所以无论gpu运行,神经网络,智能算法,数据分析,图像处理,科学计算,各式各样的库在等着你用。而java没有python那么多的开源库,很多库是商业公司内部使用,或发布出来只是一个jar包,看不到原始代码。python虚拟机因为编译性没有java的支持的好(或者说故意这么设计的),一般直接使用源码(linux),或源码简单打个包(如pyexe)。
五、python有很多虚拟机实现,如cython,Pyston,pypy,jython, IronPython等等,适合用于业务语言,或插件语言,或面向领域语言,而java因为虚拟机巨大,很少用于插件语言,发布也不方便。
六、java主要用于商业逻辑强的领域,如商城系统,erp,oa,金融,保险等传统数据库事务领域,通过类似ssh框架事务代码,对商业数据库,如oralce,db2,sql server等支持较好,软件工程理念较强,适合软件工程式的多人开发模式。python主要用于web数据分析,科学计算,金融分析,信号分析,图像算法,数学计算,统计分析,算法建模,服务器运维,自动化操作,快速开发理念强,适合快速开发团队或个人敏捷模式。
七、java的商业化公司支持多,如sap,oracle,ibm等,有商业化的容器,中间件,企业框架ejb。python的开源组织支持多,如qt,linux,google,很多开源程序都支持python, 如pyqt,redis,spark等。
八、python用途最多的是脚本,java用途最多的是web,pyhotn是胶水,可以把各类不相关的东西粘在一起用,java是基佬,可以通过软件工程组成几百个人的团队和你pk,商业化气息重。不过我认为还是python强大,因为可以方便调用c或c++的库,但软件工程和商业化运作没有java好,适合快捷开发。
Ⅱ c语言php语言java语言它们跟python语言之间有相同之处吗
这方面的文章很多。大多是比较它们之间的优劣的。
简单的说,它们都是编程语义。是在第三代和第四代编程语言。 都和C有关系。 低层解释器都是C写的。都存在进程管理和数据交换。都支持网络编程,数据库编程。 相互之间可以通讯。
具体来讲,对于个掌握多门语言的程序员来讲,它们之间差别巨大,以至于没有人可以同时精通几门语言。网上简历所谓的熟练与精通,几乎全是假的。
php相对最容易。是函数式编程, java虽然是面向对象的,使用特定的模式后,也可以支持类函数式编程。 C语言是函数式的。 python也是。 但是原则上,它们都同时支持面向对象的编程思维。只是表达方式比较特别。
c语言是比php略难,也是相当容易的语言。
java的工具强大,是一个工程语言。容易学,学精难,工具丰富 ,大多数人在用。是目前最主流的网络服务编程语言。
python仍然是脚本语言之王。 易学,易用,难精通。接口非常丰富。无所不能。
用好任何一门语言,都可以成为你工作的助力。 不过近几年php使用的越来越少了。
Ⅲ 脚本有哪几类和编程语言什么区别不同类的脚本怎么区别
这个应该怎么回答你呢,编程语言确实被分为脚本语言,标记语言,编译语言,解释语言,低级语言,高级语言等等。这些分类对于新手来说,往往会把它们搞乱。就好像一个未上过学的农民伯伯问你,什么是因特网,什么是互联网,什么是万维网,什么是局域网,什么是城域网一样,你很难一下子说明清,让他明白。
这种情况的原因,就在于,这些分类之间并不是严格互斥的,相互之间存在重叠和包容。就你的问题而言,脚本语言根本就没有分类,你的意思可能是想问:脚本语言有哪些。说实话,太多了,其它那些很生僻的就不说了,就一个程序员时常要用到的就不少。平时用得较多的,大致有这些:Ruby,Python,Shell,Javascript,Perl,Awk,Sed,Expect,ActionScript,Lua,PHP等。硬要给这些脚本语言分类的话,只能按它们的用途来分,比如:系统脚本(如Shell,windows批处理),应用脚本,和一般性脚本。
脚本语言中脚本一词,有配置,动态微调的意味。它最初的目的是为一些大型或超大型程序提供可实时编辑、可动态调整的特性。所以脚本语言的正统用途是把它们的解释器嵌入到由编译性语言如C,C++等写的大型程序中(如浏览器,操作系统,大型游戏等),以解释随时可变的用户脚本,提供更改这些大型程序特性,以达到用户期望程序行为的目的。
一句话,脚本语言的正统使命,是一个中介者,提供用户与其它大型程序之间的沟通桥梁。举例来说,浏览器是一个完整的大型程序,它内嵌JavaScript解释器,在运行期间动态解释用户的JavaScript脚本程序,以改变WEB页面的行为,获得各种页面效果。同样,操作系统(以linux为例),就自带了shell解释器,用户通过发shell命令或使用shell脚本程序来获得主机系统的各种信息(如cpu,内存,磁盘,进程等)。再如一些大型游戏(比如魔兽世界)也内嵌一些脚本语言的解释器(通常是lua),实现一些与游戏的交互。大家熟悉的3DMax,Photoshop和autoCAD软件都内嵌有一些脚本语言的解释器,目的都一样。
编译性语言与脚本语言的主要区别在于,脚本是由解释器逐行解释执行的,而编译性语言,则需要将源程序经编译器编译在可执行的计算机二进制代码。然后再执行。其它效率相当高,速度也特别快。但缺点是需要先编译,然后再执行。脚本语言的优势在于它的动态性,可以即改即用。
但是有些脚本语言的功能很强大,远超出了脚本最初的使命。首先,这些脚本语言的解释器经过优化,速度也非常快;其次,这些语言本身的许多特性也很强大,完全可以开发一些独立的大型程序。比如ruby,python,perl,php等。
最后,再回应你的最后一个问题:不同的语言对应不同的脚本这个问题,我不太明白你的本意。不同脚本语言,它们的语法肯定是不同的,不可能在语法上完全兼容,那样的话,你的直观感受就是,它们是同一个语言。
Ⅳ 脚本语言分几种
脚本语言 有很多种,
一、浏览器中的脚本语言主要就是JavaScript了,之前还有过别的比如vbscript 以及 flash动画中用到的 ActionScript等。
二、非浏览器中的脚本语言,或者说是服务端的脚本语言,有的用在web服务器端,比如php,asp,JavaScript(也可以用在服务器)还有可以内嵌到应用程序中的,因为程序编译后是不容易改变的,如果想在程序编译好后需经常调整程序的行为,比如游戏服务器,经常会调整任务奖励,逻辑算法等的会在游戏服务端内嵌入脚本语言 lua等。
三、脚本语言还有很多很多,你提到的 cgi不是语言,这是一种扩展web服务器的方法吧,通过cgi提供程序可以让web服务器提供更多的功能,php就是通过cgi的方式提供给web服务器的,你也可以用c写一个cgi模块让web服务器去调用。
四、系统中也会有脚本语言,比如windows的 bat文件就是脚本语言编写,你用记事本写入命令,然后另存为bat文件 鼠标双击就可以执行,还有 vbs,linux也有自己脚本语言。
脚本语言就是 不用编译的语言,他是由解释器读一行执行一行的,性能很差但灵活性很高这就是他的特点,一般用在web,浏览器,或者用嵌入到c c++ c#等编译程序中来执行一些简单的需要经常变动逻辑配置。
与脚本语言不同的就是编译语言了,C C++ C# java 等这些 不编译是不能运行的,必须要将其编译为二进制或者是特定平台的中间码才能运行,java是语言也是平台可以说java运行在Java平台上(Java虚拟机),C#是语言运行在net或netcore平台。c c++直接编译为二进制运行。
Ⅳ PHP,Java,Python,C,C++ 这几种编程语言都各有什么特点或优点
来自:http://blog.csdn.net/singit/article/details/54919132
以下是其中提及的各种语言的优点,文章中还列举了缺点分析。
(1)PHP的优点:
1. 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,开发成本低,
PHP最经典的组合就是:Linux + Apache + MySQL + PHP。非常适合开发中小型的web应用,因为上手容易,所以开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。
比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大可以考虑换 PostgreSQL或者Oracle,支持N种数据库。(N >= 10)
2. 语法简单,入门快,如果有其它语言基础的程序员二周左右的时间基本可以入门,并且跟ASP有部分类似。有成熟的开发工具,比如NuPHPed,或者Zend Studio等等,再Linux平台下可以使用Eclipse等等。
3. 目前主流技术都支持,比如WebService、Ajax、XML等等,足够应用。
4. 有比较完整的支持,比如使用ADODB或者PEAR::DB做数据库抽象层,用Smarty或者smart template做模板层,如果是PHP 5.1的话,还能够使用PDO(PHP Data Object)来访问数据库。
5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持类似ASP.NET的事件驱动的框架:Prado,支持类似Ruby On Rails的快速开发的框架:Cake等等,足够满足你的应用需求。
6. PHP 5已经有成熟的面向对象体系,能够适应基本的面向对象要求。适合开发大型项目。
7. 有成熟的社区来支持PHP的开发。
8. 目前已经很多大型应用都是使用PHP,比如淘宝网、Yahoo、163、Sina等等大型门户,很多选用PHP来作为他们的开发语言,所以大型门户都能够选用它,我想足够能够你的使用了。(据了解现在内部都在逐渐转向JAVA)
9. 有很多开源的框架或开源的系统可以使用,比如比较知名的开源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,开源论坛有Discuz!、Phpwind等,开源博客 WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。
PHP是解释性的脚本语言,写完代码以后即可以执行,不像c,java,c++等语言还需要去编译执行,相对来说比较节省时间。
10.相对来说,PHP程序员的薪水的平均工资要比c,c++,java程序员的平均工资要低一些,特别是对于中小型企业来说可以节约一些成本。
11.配置及部署相对简单一些,对比JAVA开发来说,JAVA开发的配置就复杂多了,什么Structs、Spring、Hibernate、Tomcat等等很多地方都需要配置,甚至你在程序中每写一个SQL语句都需要先在Hibernate中配置一下,有时重新部署一个class文件或jar文件还可能需要重启Web服务器(Tomcat或Resin或其它的Web服务器)使新部署的库文件生效。PHP开发中主要是PHP自身的配置文件及Web服务器的配置(如Apache或Nginx或Lighttpd等),相对于JAVA来说还是简单一些,而且新修改了文件以后不需要重新启动Web即可以立即生效。
12.有很多开源的框架或开源的系统可以使用,比如比较知名的开源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,开源论坛有Discuz!、Phpwind等,开源博客WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。
(2)JAVA的优点:
1.简单性
2.面向对象性(面向对象的程度可以达到95%)
3.健壮性
4.跨平台性
5.高性能(自动垃圾回收机制)
6.多线程
7.动态性
8.安全性
(3)Python的优点:
1.简单————Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
2.易学————就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。
3.免费、开源————Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。
4.高层语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
5.可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!
6.解释性————这一点需要一些解释。一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码 运行 程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。
7.面向对象————Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
8.可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
9.可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
10.丰富的库————Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
概括————Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色。
规范的代码————Python采用强制缩进的方式使得代码具有极佳的可读性。
(4)C语言的优点:
1.简洁紧凑、灵活方便
2.运算符丰富
3.数据结构丰富
4. C是结构式语言
5. C语法限制不太严格,程序设计自由度大
6. C语言允许直接访问物理地址,可以直接对硬件进行操作
7. C语言程序生成代码质量高,程序执行效率高
8. C语言适用范围大,可移植性好
9. C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型
10.有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护
(5)C++的优点:
1.可扩展性强
2.高效 简洁 快速
3.可移植性
4.面向对象的特性
5.强大而灵活的表达能力和不输于C的效率
6.支持硬件开发
7.程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障
8.通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便