|
54
|
| Aaron Silverman · 技术社区 · 16 年前 |
|
|
1
43
“.NET”不是一种语言。也许是Python对C#,或者Python/Django对C#/ASP.NET(或者选择任何你想要的“webwork”;Python和“.NET”都有很多不同的解决方案,选择Django或bat的MVC2可能会严重限制更好的可行选项。作为Python与“.NET”的反例:有 IronPython 我会考虑: 尽管单元/集成测试对于任何[规模庞大的]项目都是必须的,但我发现 静态类型语言 (C#/F#)可以 与类型相关的“愚蠢错误”的数量。 打开游戏场地:-) 编辑以供评论: 那你只是在比较语言。 在这种情况下,C#是一种非常枯燥的命令式静态类型语言,只使用基于单一继承/接口类的OO(但是比Java更精巧的技巧,Java只是一个彻头彻尾的石器时代)。这是 这两种语言都是强类型的 (机制不同,但最终结果在语言谱上非常相似)。实际上,python有MI,但是在python中使用'lambda'关键字似乎不太被接受,而且由于python是动态类型化的,因此没有编译时支持来确定接口/类型契约(但是,有些模块试图提供这种支持)。 如果你能学会Python,那么你就能学会C。 虽然新的“动态”确实模糊了界限(它很少有好的用途——在几乎所有相同的地方,人们可能不得不退回到以前的C版本中的反射——这不是真的,但关键是它通常是“错误的方式”,除非在少数情况下它恰好是“最佳/唯一的方式”),“var”不是。也就是说,“var”变量的类型是 编译时已知 与动态键入无关 ; 全是类型推断。一些语言,如F#/SML和Haskell,在保留静态类型的同时,具有非常、非常强大的类型推理,消除了对“所有难看的类型声明”的需要(尽管显式注释允许的类型或类型集可以使意图更加清晰)。 就我个人而言, 其他的都放在一边 ,我将使用静态类型的语言。我不是说C#(我绝对不是说Java!),但是 静态类型语言可以将类型错误推到最前面,并需要预先显式约定 (这对我来说是一个巨大的胜利)。虽然你确实错过了一些精巧的动态技巧,但用目标语言执行同样的操作几乎总是有更好的方法——你只需要用这种语言来思考,用螺丝刀拧螺丝,用锤子钉钉子。例如,不要期望将依赖于local()或global()的(ab)用法的Python代码按原样引入C。 在“缺点”方面,大多数静态类型语言(这里是C语言)首先需要显式编译(但这并不是很糟糕,因为它会生成漂亮的程序集),而像“REPL”这样的工具不会被视为一级公民(它是F/VS2010中的一级公民)。另外,如果您有一个Python/C#的基本库(而且它在其他语言中不可用),那么这可能是选择一种语言而不是另一种语言的决定性因素。 |
|
|
2
30
我在Quora上写了一个非常全面的答案: How does Python compare to C#?
|
|
|
3
6
当我们将ASP.NET应用程序托管在IIS上的单个工作进程上时,ASP.NET仍然可以利用线程技术在不同的内核上同时服务多个web请求,而CPython依赖多个工作进程在不同的内核上实现并行计算。 所有这些导致了一个大问题,我们将如何在windows上托管Python/Django应用程序。我们都知道windows上的分叉过程比Linux要昂贵得多。因此,理想情况下托管Python/Django应用程序;最好的环境是Linux而不是windows。 如果你选择Python,开发和托管Python的合适环境将是Linux…如果你像我一样来自windows,选择Python也将引入Linux的新的学习曲线…虽然现在不是很难。。。 |
|
|
4
3
工业中的主要问题是python的动态特性。 因为使用静态类型语言有某种安全性。 但现在我们有了像PyCharm这样的现代ide。当您输入代码时,它们集成了pylint和pep8“代码检查”和“样式向导检查”。这就消除了最愚蠢的错误。所以你现在在python中几乎有了同样的安全性。 当你需要的时候。这就是python的实用本质。 GIL是个问题,但是可以使用gevent或ZMQ来执行某种线程。但PyPy-STM的研究仍在进行中。 Python几乎可以在任何地方运行,您可以选择不同的运行时,大部分是兼容的(Wikipedia上有12个) Wikipedia python interpreter list |
|
|
Patrick Bond · 如何将模型中的函数结果添加到列表中? 1 年前 |
|
|
bur · 每次从模板调用方法都会查询数据库吗? 1 年前 |
|
|
Stefan · 在子目录中设置Django 1 年前 |
|
|
vale383 · 如何在Django端点中查找user_id 1 年前 |
|
|
Kovy Jacob · Django在动态URL段中添加斜线 1 年前 |
|
|
user987 · 如何在Django中访问提交的表单请求数据 1 年前 |
|
|
user24242514 · 将嵌套查询字符串请求转换为字典 1 年前 |