为什么选择Python?

我正在研究学习python,但我想知道它的 优势和劣势是在我投入大量时间学习之前. 我的 首先想到的是对编程有益的,但是我希望 Python新闻组的回答是"一切". 所以 也许一个更好的问题是哪种类型的编程项目是Python A 不好的选择? 是什么使它比Perl,PHP,Delphi或 C ++? 感谢您的意见. 托德.

# 回答1

在2004年3月1日星期一02:11:46 GMT,TODD7写道: 应该有用的Google搜索: - - \"政治家是可以坐在篱笆上的动物,但| `\将两只耳朵都放在地面上." - 亨利·麦肯| _o__)| Ben Finney
# 回答2

>>>>>" todd7" == todd7 写入: todd7>是什么使它比Perl这样的语言更好或更糟, todd7> php,delphi或c ++? Perl- Python和Perl都有许多编写的许多外部模块 为他们. perl *可以 *还有更多. 有些人喜欢Perl有CPAN, 模块的中央存储库. 我认为,事实并非如此 现在我们有Google很重要. python是针对对象的 骨头; 有了perl,oo是一个黑客. Python偏爱干净,简单, 显而易见的语法,佩尔接受了"还有更多的方法." 因此,大多数Python编码人员都认为Python代码更容易 阅读和维护. PHP-广泛用于网络开发,并有很多不错的软件包 在这个利基市场中 - 公告板,数据库界面等. python将为每个区域中的每个区域都有包裹,但它们不像 广泛使用,不是行业标准,例如 phymyadmin是. PHP不像编程语言那样强大 Python曾经并且不在网络领域外广泛使用 发展. 请参阅最近的线程http://groups.google.com/groups?hl=e...%26Scoring%3DD C ++ - 一种大型,强大,复杂的语言. 适合设计复合物 性能很重要的软件包和代码. 制作 诸如文件IO,DBASE和Web连接之类的东西比他们需要的要困难得多 成为. 许多使用Python的人都喜欢混合语言编程风格: 将Python用于大多数所有内容,并编写(或重用)C/C ++/Fortran 处理器/性能密集型零件的扩展. 有许多 自动化过程的好工具(swig,f2py,boost :: python等) 从这些其他语言中创建代码的Python扩展. 如果 您需要高性能代码,很高兴知道如何在 这些编译的语言中至少有一种. 我的建议:首先学习Python. 社区非常友好, 接受新来者(您不会在Perl或C ++上找到它 新闻组). 您将从世界专家那里获得有关编码和的建议 风格. Python编码器重视优雅,可读,高效,写得很好 鳕鱼 E,将为您提供很多建议. JDH
# 回答3

好吧,我是新手(大约2个月前开始为高级准备 设计项目),我看到的一件事总体上是更好的 文档; 有时很难找到您要寻找的东西 (尤其是在诸如GUI编程的Tkinter图书馆中 网络编程). 可能,很难. 我注意到的好东西? 好吧,做我到目前为止在Java所做的事情 本来会服用至少5个,可能是我的代码的10倍 书面. 在大约30行代码中,一个简单但不错的TCP聊天服务器是 在看Python之前,我从未考虑过. " todd7" 在消息中写道 新闻:XN**********************************************************************************************.(_@@_ ) >我正在研究学习Python,但我想知道它的 上面的所有其他答案都很好. 我会说followng: * Python很容易学习. 我在一个下午学到了它 - 那是 经验丰富的程序员. 这也是初学者的理想选择. *良好的跨平台支持Windows和Linux. 永远不要重写 再次代码. 还要开始写得很快 - 良好的RAD工具. *写几乎所有您需要知道的一切都是Python,C/C ++, 如果您想制作网页,请进行一点JavaScript. 而已. Python拥有巨大的应用程序范围 - 小脚本,完整 应用程序,网络的CGI脚本. 您甚至可以将其集成 Mozilla本地CGI功能的平台. Python不好的东西: *如果速度比编码时间更重要,而是使用C/C ++. *如果您想观察您的代码,也许Langague会更好. 罗布
# 回答4

感谢所有合理的答复. 我想我会做 暴跌. todd7 写信 新闻:xn **************************************************************************************** 6 :( _@_) Todd7写道: 我将专注于Python而不是优势的弱点. 1.计算激烈的Python程序往往比优化的 用语言编写的等效程序编译为本机代码. 2.与程序相比,Python程序很难分发 用编译为本机代码的语言. 3.其他一些语言使检测某些类别的错误变得更容易 在您的代码中. 除少数例外,python代码中的错误只能是 通过实际运行代码或手工检查而找到. 4. Python只能允许您自定义 语言中的语言. 您可以定义新功能和新功能 数据类型,但没有新的操作员,没有新的控制结构,也没有任何类型的 新语法. 如果您需要在您的中定义特定领域的语言 程序,Python可能不是您的最佳选择. - - rainer deyke -raxporwood.com- http://eldwood.com
# 回答5

Rainer Deyke在2004年3月1日星期一05:12:48 +0000写道: 我会专注于我们 python而不是优势. [SNIP] 2.与编译本机代码的语言中的程序相比,Python程序在某种程度上很难分发. 您如何弄清楚这个? 与静态链接有关的事情 图书馆? (我是Python的新手,但总体上已经编程 将近20年,大约是专业的一半.)
# 回答6

埃德·墨菲(Ed Murphy)写道:您如何看待这个? 与静态链接的库有关吗? (我是Python Newbie,但总体上已经编程了将近20年,大约是专业的一半.) 基本上,您必须与您的 程序,因为您通常不能依靠最终用户(正确 已安装Python的版本. - - rainer deyke -raxporwoodwood.com -http://eldwood.com
# 回答7

您如何看待这个? 与静态LinkedLibraries有关的事情吗? (我是Python Newbie,但已经在一般20年中进行编程,大约是专业的一半.)基本上,您必须与您的计划一起分发Python的解释器,因为您通常不能依靠最终用户( 安装了Python的正确交流. 比共享库或 与C程序一样.
# 回答8

" Rainer Deyke" 在消息中写道 新闻:L6C0C.8261$ KO6.195399@ATTBI_S02 ...基本上您必须将Python解释器与程序一起分发,因为您通常不能依靠最终用户( 已安装Python的正确版本. PY2EXE和McMillan Installer等实用程序使此问题变得很大 更简单. 现实世界示例:我需要为客户提供 *非常 * 简单的HTTP服务器,用于集中服务全局配置文件. 我的 原型是2行Python代码(实际完成版本约为50 线,包括一些信号处理),使用McInstaller创建一个 独立的可分发.exe文件(适合3-1/2"软盘!).非常非常 便携式,不需要在目标平台上安装Python. - 保罗
# 回答9

>是什么使它比喜欢的语言更好或更糟 Python有大量的模块,这些模块易于安装. Python有良好的文档,有有用的例子. 我目前正在尝试学习计划,以扩大我的编程 地平线. 我通常认为这是一场艰苦的斗争. 计划可能是 理论上更好的语言设计,但是在Python中,您可以得到 继续做. 曾经有人建议python有仁慈的事实 生命的独裁者可能对其受欢迎程度有利,我 认为建议有优点. 已经努力做到这一点 可以访问普通程序员. 只举个例子... 常用表达. 麻省理工学院方案解释了其REXP抽象:"除了提供 标准常规表达支持,MIT方案还提供了REXP 抽象. "但是它 S不举个例子. 我找不到 任何通过谷歌搜索. 现在看Python. 第4.2.1节(正则表达语法)友善 提醒我们Regexp语法 - 麻省理工学院没有的东西. 部分 4.2.2和4.2.6然后继续为我们提供一些REGEXP示例. Python之所以受欢迎,是因为它试图流行. 方案似乎更多 学术,更多的是"为什么要gui?" 类型 态度.
# 回答10

在文章<10 ***********@corp.supernews.com>中 Robert M. Emmons 写道:( _@_) " todd7" 在消息中写道 新闻:xn ******************************************************************************************************************************************************************************************* 为什么不python? 我是一个菜鸟,但是到目前为止,我喜欢它. 放大程序很容易 很快使用它. 另外,即使我不得不编写一些编码,也要说 C ++,我仍然可以首先将Python的原型放在一起,以变得更好 了解问题空间. (Ya必须" ...扔掉……" 无论如何,为什么不先使用Python呢?) 我知道这不是_直接_回答您的问题,但它在某种程度上做到了. WR
# 回答11

> 3.其他一些语言使检测某些类别的错误变得更容易 是的,也许,但我认为python对很多人都不可疑 并非在C/C ++编码中生成和发现的大多数错误. 你 还可以减少巨大的代码量,这也有帮助. Python也有静态代码检查器,也可以帮助一些. 我个人认为Python在调试中的整体上都有它 - 即 几乎缺乏进行很多复杂的调试的需求. 我尚不清楚C编译器可以捕获什么样的错误 在Python中很难处理(尽管我敢肯定 一些). 恕我直言,C/C ++具有复杂的调试工具的全部原因是 在C中进行的代码调试是一场噩梦. 感谢您提供的信息 - 我喜欢您的评论和其他人对它们的答复. 小心. 罗布
# 回答12

罗伯特·艾蒙斯(Robert M. Emmons)写道: 那也是我的看法. Python不支持的一项调试功能是"编辑"(编辑)(编辑) 您只是调试的功能/方法),在VB和VC6中可能发生的事情, 例如)我认为这不是 *难以实施它. 也许是Python Ide 供应商将有一天实施. -Gerhard
# 回答13

一切 但是你期待的. 怎么样 在各种情况下的各个方面的一切 最重要的是Python是一种清晰,强大的语言,具有 伟大的文化. 您有选择: 1.您想为手头的每个项目学习"完美"语言. 即使您擅长学习新语言 - 我认为我是 - 它仍然需要您一段时间才能惯用语言 而不是在Python中编程Perl. 更不用说找到"完美"的语言可能需要一些 每个项目的时间. 您将在 问题. 这个项目自然适合LISP吗? 哦,不,Ruby很多 为此更实用. 是的 ,但是Foobar有一个包裹 正是你想要的. 等等,等等... 2.学习一种通用语言,可以轻松与许多语言一起使用 不同的范式(OO,功能等)具有一个不错的库集 (网络,数学等),并具有灵活的文化. 这种语言应该 合理众所周知,这样您就可以广泛地找到它,可以找到书籍 它,等等 有人可能会说Perl 6将是#2的缩影,尽管我的看法 Perl将设法以一种语言实现#1. 如果您想使用选项#2,则Python位于列表的顶部,in 我的意见. (实际上,有一个#3:您想高度销售.取决于 关于您要工作的地方,De Jour语言可能是C ++, Java或Visual Basic.)
# 回答14

在2004-03-01 09:02:01 -0500,clteydey@lairds.com(Cameron Laird)说:注意Pyobfuscate的可用性. 我本人在没有更多细节的情况下,我建议人们在Python中工作的速度很重要 - 但请准备将其与C编码(甚至是汇编器!我最近尝试的...)相结合. 要注意的一件事是,结合C,C ++, *合理 *是合理的 * 与Python组装等,因为Python API一致,并且 可以理解的,并且不需要令人困惑的"预编译器"(不过, Pyrex是一个很棒的人). -bob
# 回答15

gerhardHäring写道: 抱歉..."调试时编辑"是什么意思? 像Xcode的" Fix-N-Continue"之类的东西? 换句话说,可以在运行程序中重新定义功能的能力 (甚至可能在堆栈发生错误之前解开堆栈之前(或 遇到断点)? [在许多人中,这是该语言的固有部分 LISP家族的成员数十年,顺便说一句] 如果您忘记不放弃堆栈,Python肯定会支持 这个. 现在,当例外时,如何防止堆栈不愿意 ....为了允许用户检查堆栈帧导航 他们,重新提供任何功能,然后允许继续? [我想我可以在PDB源中找到答案.]
# 回答16

>GerhardHäring写道: Jacek Generowicz写道:对不起..."调试时编辑"是什么意思? 您可以在功能中设置一个断点,然后在该断点停止时 您可以在同一函数中编辑代码. 然后,您可以继续 执行,它将执行您的新代码. 尽管我不喜欢C ++,Visual Studio的编辑和继续功能是一个 巨大的好处. 我经常写函数的骨架,启动程序 并跟踪到功能中,然后将代码直接写在此处 程序运行,并带有实时数据进行编码时测试. 您还可以在断点停止时更改执行指针. 所以 您可以编写一些代码并测试它,然后如果要更改代码 并再次测试它,只需将执行指针移回开始 您的代码. -Mike
# 回答17

gerhardHäring在消息新闻中写道: ... 我已经使用Python的重新加载和弱者来建立课程,并拥有 成功地开发了简单的UI程序,以不间断的冒险性,即 您在运行时构建应用程序,而无需 将其关闭并重新启动(理论上.)就像开放的心 手术. 我相信vb和vc6的"编辑和结合"不会回滚状态 (我的Python程序也不 有用. 我的意思是,您不能使用此功能来构建应用程序 真正以连续的,不间断的方式. 如果由于某种原因您有 修改了一些状态,您必须手动恢复它们 您将继续使用新的调试代码. 真实的"编辑和计算"与 我知道的计算:(a)可逆计算,(b) 基于原型的编程语言. 第一个是高度的 理论上,并声称如果一切都正确,我们 由于熵的保护,计算机将耗散零热量. 这些软件/硬件组合中的逆转执行效果是 总是可能的. 第二个允许程序员轻松构建 代理对象,并仅在最后提交更改. (这将 使用当前的硬件/软件配置散发热量.) 此外,可以作为洋葱皮制成替代物,因此即使您 在外面层上提交更改,您仍然可以在 内层以后. 因此,基于原型的语言可能会喜欢 基于类的OOP语言没有的领域没有. 理论上 可以这样以不间断的方式构建应用程序, 但是,当然,内存大小和 不合规于以传统库编写的现有库 不支持回滚的语言. 问候, Hung Jung

标签: python

添加新评论