程序开发中扩展性语言有哪些?

程序开发中扩展性语言有哪些?,第1张

程序开发中扩展语言有很多,比如lua程序设计。

Lua 是一门扩展式程序设计语言,被设计成支持通用过程式编程,并有相关数据描述设施。 同时对面向对象编程、函数式编程和数据驱动式编程也提供了良好的支持。 它作为一个强大、轻量的嵌入式脚本语言,可供任何需要的程序使用。 Lua 由 clean C(标准 C 和 C++ 间共通的子集) 实现成一个库。

作为一门扩展式语言,Lua 没有 "main" 程序的概念: 它只能 嵌入 一个宿主程序中工作, 该宿主程序被称为 被嵌入程序 或者简称 宿主 。 宿主程序可以调用函数执行一小段 Lua 代码,可以读写 Lua 变量,可以注册 C 函数让 Lua 代码调用。 依靠 C 函数,Lua 可以共享相同的语法框架来定制编程语言,从而适用不同的领域。 Lua 的官方发布版包含一个叫做 lua 的宿主程序示例, 它是一个利用 Lua 库实现的完整独立的 Lua 解释器,可用于交互式应用或批处理。

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

设计目的

其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。

可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。

其它特性:

支持面向过程(procedure-oriented)编程和函数式编程(functional programming);

自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;

语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非 *** 作系统所支持的线程)支持;

通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。

相信大多数程序员都有过对程序进行拓展的一些 *** 作了,但是对于新手工程师来说这还是比较难的一个技术。今天,云南java培训http://www.kmbdqn.cn/就通过案例分析来了解和学习一下,PHP编程拓展的方法都有哪些。

1.使用PHP的APC特性。APC——AlternativePHPCache,虽然官方称为“可选PHP缓存”,但是称为“另一个PHP缓存也不为过”,因为它可以切实的提升网站的性能。

2.把所有不是.php的请求都分配给CDN(内容分发网络),不要使用你的服务器处理静态文件。他们使用S3来存储所有,并使用CloudFront作为他们的CDN。近CloudFront出现的一些问题迫使他们不得不直接使用S3服务。

3.切勿将PHP代码里的链接指向其它的服务器。比如数据库以及memcache服务器,除非是强制性的或者是没有其它方法实现你的目的。在执行流中让链接指向其它服务器是非常没有效率的:可能会使服务器受到限制,从而降低处理的速度。使用APC键/值存储来储存数据,并使用Barnish来缓存整个页面。

4.使用Varnish。一般情况下,站点上的所有网页都不会改变或者是不会做大型的改动。Varnish就对于网络服务器缓存有着Memcache/ModRewrite的作用。同样在压力测试中,使用前后的性能差异很大。

5.使用更大的服务器实例,比如c1.xlarge有8个核心可以应对负载,而m1.medium只有一个核心可以处理请求。

可以使用GoogleAnalytics来分析每个用户在每个页面上花费的时间。收集这些信息,使用Siege来运行压力测试,从而不断的熟悉自己业务的负载类型,以便更好的提升程序的扩展性。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11037319.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存