这是我一周左右回答的两个 问题的后续行动.这些的结果是我正在为网络构建基于AI的应用程序的原型,我想知道使用什么语言.结论似乎是我应该选择类似python的东西,然后将任何关键位转换为更快的东西,如Java或C/C++.
这对我来说听起来不错,但我现在想知道python是否真的是用于构建Web应用程序的正确语言.我过去使用过的大多数Web应用程序都是C/C++ CGI,然后是php.我发现php更容易使用,因为它将用户界面链接到后端变得更加容易,而且对我来说更具逻辑意义.
我之前没有使用过python,但我基本上想知道python中的CGI编程有多简单?我是否必须回到在C/C++中进行繁琐的繁琐工作,你需要在模板中存储HTML代码并让CGI读入它们并用适当的值替换特殊代码,或者是否可以将模板设置为代码与PHP一样?
我可能在这里问一个非常无知的问题,为此我道歉,但希望有人会知道我在做什么!我的整体问题是:在python中编写Web应用程序是一个好主意,它是否像使用php一样简单?
Python是一个不错的选择.
我会避免CGI模型 - 你会为每个请求的解释器启动付出很大的代价.大多数Python Web框架都支持WSGI标准,并且可以通过多种方式连接到服务器,但大多数都存在于Web服务器与之通信的某种长时间运行的过程中(通过代理,FastCGI,SCGI等).
说到框架,Python环境已经成熟.这既好又坏.有很多很好的选择,但它对新手来说可能是令人生畏的.
如果您正在寻找预先包装了web/DB /模板集成的东西,我建议您查看Django,TurboGears或Pylons.如果你想拥有在各个部件的控制,看CherryPy的,虎斑颈槽或web.py.
至于它是否像"PHP一样简单",这是主观的.通常鼓励在Python Web编程世界中将模板和应用程序逻辑分开,这样可以使您的生活更轻松.另一方面,能够在PHP文件中编写页面的所有代码是"简单"的另一个定义.
祝好运.
"在python中CGI编程有多容易?" 比C更容易,这是肯定的.Python更容易,因为 - 简单地说 - 它比C更容易使用.首先是:没有内存分配 - 释放.除此之外,OO编程模型非常出色.
除了基本的语言简洁性之外,Python WSGI标准比CGI标准更容易应对.
然而,与全Python框架(TurboGears,CherryPy,Django等)的大大简化的世界相比,原始CGI是一个巨大的痛苦.
框架强加了许多(必要的)结构.CGI程序员的开箱即用体验是,学习太多了.真正.所有新事物都无法学习.但是,这个价值远远超过了投资.
使用Django,您可以在几分钟内启动并运行.认真. django-admin.py startproject
并且你有一些你几乎可以立即运行的东西.您必须设计URL,编写视图函数和设计页面模板.所有这些都是有效的.但它比C中的CGI工作少.
Django具有比PHP更好的架构,因为演示模板与处理完全分离.当你想在Django框架上使用free-and-unconstrained PHP样式时,这会导致一些混淆(当我将python代码放入django模板时,请参阅语法错误).
将用户界面链接到后端
Python前端(例如Django)使用Python视图函数.这些视图函数可以包含任何Python代码.如有必要,这包括用C编写并可从Python调用的模块.
这意味着您可以使用Python友好的界面编译CLIPS模块.它随着import
语句变成了Python代码可用的东西.
但是,有时因为你的Django页面正在等待CLIPS引擎完成而无效.另一种方法是使用类似命名管道的东西.
您有基于CLIPS的应用程序,完全用C语言编写,从命名管道读取.你的Django应用程序完全用Python编写,写入该命名管道.由于您有两个独立的进程,因此您可以非常快速地将所有内核最大化.
我建议Django,但鉴于你要求"像php一样简单",你必须看看PSP(Python服务器页面).虽然Django是一个完整的网站框架,但PSP可以像PHP一样使用,没有任何框架.