- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 C 风格语言方面有很强的背景。并从事过几种不同类型的项目。在阅读 Programming Collective Intelligence 之后,我才开始认真研究 Python。 .我知道 Python 可以解决 C# 可以解决的任何问题,反之亦然。但我很想知道那些经常使用两者的人,他们什么时候选择一个而不是另一个。去除其他因素,如同事经验等。
您什么时候选择使用 Python 而不是 C# 或 Java 等静态类型的纯 OO 语言来创建应用程序?
我担心这个问题会偏离主题。 Python 是一种面向对象的语言。但是,如下所述,当您的应用程序具有非常繁重的业务领域等时,它可能不是首选语言。我知道 Python 广泛使用对象,甚至函数也是对象,这在所有语言中都不是真的我之前提出的“OO”语言。
尽管我在问题中的用词选择不当(几乎没有一种语言可以很好地符合两三个词的描述,而且如果不表现出你是在与某一类开发人员交谈,就很难指出语言之间的差异.),当你更喜欢 Python 而不是其他语言时,我仍然对你要说的话很感兴趣。
最佳答案
我的座右铭是(并且一直是)“能用 Python,必须用 C++”(总有一天我会找到机会在实际项目中实际使用 Java、C#、&c &C,但我还没有,除了 Java 1.1 中的试点项目,十多年前...;-) -- 当代码必须在客户端浏览器中运行时使用 Javascript(带有 dojo),而当它必须在客户端浏览器中运行时使用 SQL当然是 DB 服务器,但 C++ 和 Python 是我在“普通”服务器和我开发的客户端上的日常工作,而且我在谷歌的所有部门都是这种情况,我已经工作了 4 年多(有很多部分也使用 Java,我从来没有碰巧在那里工作;-)。嗯,当我处理 Python 核心和相关扩展时,当然也有纯 C;-)。
Python 和 C++ 都不是“严格的面向对象”——它们是多范式的,其中很大一部分力量掌握在精通面向对象的程序员手中和范式,例如函数式、泛型、声明式等。我收集到 C# 也吸收了其中的一些(有时超过 C++,例如通过提供 lambda),甚至 Java 也不得不在很小的程度上屈服于某些(至少是通用的),所以很明显“一个大小适合所有人”不 -- 多范式编程还很流行!-)
C++(和 C 一样)迫使我小心地控制所有内存(我们的内部 C++ 风格指南禁止使用“智能指针”,这相当于垃圾收集的糟糕实现!-),这使我的工作成倍增加,但有帮助确保我在任何时候都不会使用超过严格需要的内存:因此,当内存紧张且宝贵时,C++(或需要时使用 C)是选择。否则,Python 的极高生产率(如果您习惯使用 Ruby 或 Javascript,它们也没什么不同)使其更受欢迎。
我敢肯定,对于一种可以进行垃圾收集但主要是静态的语言,如 Java(或 C#,在它开始积累越来越多的功能,包括 4.0 中的动态功能,我听说)之前,肯定有一个利基市场,或者否则那些语言和同源语言就不会如此广泛——到目前为止,我还从未发现自己处于那个特殊的位置。
关于c# - 与严格的 OO 语言相比,您更喜欢 Python 的哪些应用程序或问题类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1022971/
我相信 OO,但不至于应该使用不适当的设计/实现来实现“OO 兼容”。 那么,如何应对 Serlvet/EJB/DataContainer 分层架构: Servlet 接收请求并调用“业务层”(例如
我有一个员工分为两类(国内和国际)。我还有一个类Refund,是用来给员工退款的。我有一个名为银行账户的类,由 Refund 类用于退款。 现在我的直接设计是这样的: 员工界面,分国内和国际2个子类型
为什么基于类的 OO 而不是基于原型(prototype)的 OO 如此受欢迎?他们在学校教后者吗?尽管 Javascript 是基于原型(prototype)的,但大多数人主要在功能上使用它,或者通
为什么基于类的 OO 而不是基于原型(prototype)的 OO 如此受欢迎?他们在学校教后者吗?尽管 Javascript 是基于原型(prototype)的,但大多数人主要在功能上使用它,或者通
我找不到主要区别。我很困惑什么时候可以使用继承,什么时候可以使用子类型。我找到了一些定义,但它们不是很清楚。 在面向对象编程中,子类型化和继承有什么区别? 最佳答案 除了已经给出的答案,这里还有一个
我想在类中动态定义方法。我正在写一个跟踪器,比下面的框架稍微复杂一些,它也有状态意识,但这与我的问题无关。我写了一个 TraceSlave 类,它带有调用 sprintf 的跟踪方法,用文本\n 替换
如果你看过Going Deep shows of the Channel9最近,一个经常被提及的话题是mathematical duality在编程中。 TomasP 有一个不错的blog post关
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
我是软件设计原则的忠实粉丝,例如 固体 和 干 .面向对象软件设计还有哪些其他原则? 笔记。我不是在寻找诸如“评论您的代码”之类的答案,而是在寻找 OO 设计原则,例如 Uncle Bob 讨论的那些
我找不到主要区别。我很困惑什么时候可以使用继承,什么时候可以使用子类型。我找到了一些定义,但它们不是很清楚。 面向对象编程中的子类型和继承有什么区别? 最佳答案 除了已经给出的答案,这里还有一个 li
这个问题已经有答案了: Javascript: Do I need to put this.var for every variable in an object? (6 个回答) 已关闭 9 年前。
我正在构建一个应用程序,该应用程序在一个对象内有一个对象数组,而它的自身位于一个数组中。我希望能够从子对象访问父对象的属性。我知道我可以简单地通过索引引用父级,如下所示: var parents =
我有一个像这样的html页面 和 2 个像这样的 JavaScript 文件 /// /// /// $(document).ready(fu
我正在尝试用 javascript 做一个巨大的 Web 应用程序,如果我不想搞乱一切,我想我必须以面向对象的方式来做。因此,我进行了很多搜索,发现了很多在 JS 中声明类和创建实例的不同方法,例如环
我在理解 OO 模式如何工作时遇到了一些问题,我的讲师给了我以下问题,但我思考了一整天后无法解决它 我的问题的场景。 有一个名为“ShapeManager”的类,用于管理 Shape 对象。名为“Sh
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 1年前关闭。 Improve this
我正在阅读科学 paper关于 Robert martin 编写的 OO Design Quality Metrics。 在他的论文中,他描述了“一组指标,可用于衡量面向对象设计的质量,根据该设计的子
我有一个与 OOP 相关的问题。我有一个界面,说: class MyInterface { public int getValue(); } 在我的项目中,这个接口(interface)由 7
是否有更好的Pythonic/面向对象方法来选择在运行时执行哪个特定类方法,具体取决于对象的类型,因为使用 type() 方法不被认为优雅(?) 我为我正在使用的三种数据类型编写了以下代码。它基本上将
就 Perl OO 而言,-> 到底做了什么? 例如我打了一个主电话: $result = a::b->mymethod( ); 在我定义 mymethod() 的包中,我使用了以下内容: m
我是一名优秀的程序员,十分优秀!