如何删除我不喜欢Python的东西?

Ted*_*dyB -5 python programming-languages

Python是一种很棒的编程语言,但是关于它的某些事情只是让我烦恼不已.

因此,我:

1)想要找出如何从语言本身中消除这些烦恼,或者

2)找到一种类似Python的语言,没有这些烦恼.


我喜欢Python的一切,除了:

  • 自我:对我来说似乎很愚蠢,我需要将"self"作为函数的第一个参数
  • 双重下划线:它看起来很丑陋而且是一个可怕的特殊角色.
  • __name__总觉得对我来说是个黑客.尝试向新手程序员解释,或者更糟糕的是以perl或ruby或java为生.将魔法变量名称与魔法常量" main "进行比较会感觉倍增
  • 积木给我带来红宝石嫉妒或小叮叮.我喜欢当地的功能.爱他们.我容忍lambda.但我真的非常希望看到更多rubyesque迭代器设置,我们将可调用的函数传递给列表,并且可调用的内联函数可以定义为自由格式.Python并没有真正做到这一点,所以它不像我想的那样是一个语言实验室.
  • 属性没有吸引力,部分原因是块不存在.我真的不想定义一个命名参数(最有可能是双下划线),然后是两个命名函数,然后THEN声明一个属性.对于如此简单的情况来说,这似乎是非常重要的.如果所有其他方法都失败了,或者所有其他方法都覆盖了setattrgetattr,那么我将只会这样做.

我确实意识到这可能是小烦恼,但对于我每天编程的语言,这些小烦恼可能会变得非常大.

Ale*_*lli 7

pypy是Python本身的一个完整的Python实现(包含你认为烦恼的所有东西,然而它是一种非常高级的实现语言,它甚至可以比以往更容易地为你自己的目的更改语言本身的核心).下载它,分叉它,并编辑它来修复你喜欢的任何东西(当然,最好还是将编译器和运行时转换为新的非Python语言).

如果这只是太多的工作(抱怨者很少有兴趣修复他们自己的抱怨,无论你为他们做这样的工作多么容易),只需切换到Ruby,这似乎更贴合你的口味 - 或者找到Ruby实现用Ruby编写(我不知道它是如何调用的,但肯定会有这么强大的语言会有一个)并且破解那个(修复你对Ruby的任何唠叨).

与此同时,至少你的一些烦恼让我感到非常困惑.举例来说,关于财产的咆哮:我不明白你的意思.定义R/W属性的常规方法是:

@property
def thename(self):
    """add the geting-code here""

@property.set
def thename(self, value):
    """add the seting-code here""
Run Code Online (Sandbox Code Playgroud)

还等什么嘿,你的意思是

定义一个命名参数(最有可能是双下划线),然后是两个命名函数,然后THEN声明一个属性

???

关于其他呜呜声,我可以问同样困惑的问题,但是我们等着看你是否先澄清这个问题(如果澄清的是那种"哦我不知道它",即你是在抱怨没有语言知道其基本原理,当然,我可以猜测这对你的可信度有什么影响;-).