首页 > 编程语言 >Python 与 Smalltalk 相比如何?

Python 与 Smalltalk 相比如何?

时间:2022-09-19 11:01:32浏览次数:106  
标签:语言 编程语言 Python 编程 Smalltalk 相比 属性

Python 与 Smalltalk 相比如何?

Python 是目前世界上最流行的编程语言,根据 TIOBE , PYPL , 和 IEEE频谱 . 红僧 将 Python 排在第 2 位。

Python 是两种最受欢迎​​的职位发布语言之一。

那么,Python 的巨大吸引力是什么?主要是 Python 易于学习并且读起来像英语。对于大多数编程新手来说,它是平易近人的。

其次,Python 拥有丰富的库和工具生态系统。

但是,如果我告诉你有一种编程语言比 Python 更简单、更容易学习呢?事实上,Smalltalk 是专门为向年轻人教授编程而设计的(Python 不是)。 Smalltalk 的所有语法都可以总结在一张明信片上(Python 的语法不能)。

Smalltalk 非常容易学习,您可以在 15 分钟内掌握它的所有语法!用 Python 试试。 与 ProfStef 一起学习 Smalltalk .

事实是,尽管 Python 非常容易学习,但该语言确实有许多怪癖,可能会使初学者感到困惑,并使 Python 成为一种更复杂的语言。让我们看几个……

首先,虽然 Python 和 Smalltalk 都是面向对象的语言,但 Smalltalk 是纯粹且始终如一的面向对象的,而 Python 主要是一种具有面向对象和功能特性的过程语言。

当您查看 Python 中的方法定义时,这一点最为明显:第一个参数必须始终是“self”对象。但是,当您在代码中调用此方法时,您不会将“self”对象作为第一个参数传递。很奇怪,你不觉得吗?

看信息隐藏。 Python 通过在名称前加下划线来“隐藏”实例变量。 Python 使用此约定和程序员规则来支持信息隐藏。感觉很笨拙,不是吗?

Python 对属性和属性进行了区分。属性不断更新,而属性是静态的。经典的例子是对象的“长度”。这个属性需要被修饰为一个属性,以便它可以根据需要不断更新。对象的实际“长度”由全局函数确定, len() .迷茫了吗?

其次,Python 和 Smalltalk 都以某种方式支持函数式编程(数据不变性不可用)。但是,在 Python 中,lambda 被限制为一行代码。这是一个非常不方便的限制。

第三,在 Python 中,范围是半开区间。例如, 范围(1,6) 产生值 1、2、3、4、5 但不是 6。这是不直观的,这就是大多数语言使用闭区间的原因。

第四,Python 中的多线程操作可能会受到全局解释器锁或 GIL 的阻碍。

第五,Python 有可能令人困惑的特殊范围规则。查看关键字,例如 全球的非本地 , 例如。

第六,Python 不需要变量声明。即使新变量是印刷错误,您也可以通过为其分配一些东西来创建一个新变量!

第七,虽然理论上可以用 Python 进行“实时编程”,但这并不常见。部分原因是 PyCharm 等工具并非旨在支持这一点。

另一方面,Smalltalk 是现场编程之王。这几乎是使用 Smalltalk 的唯一方式,这也是 Smalltalk 是所有主要编程语言中效率最高的原因,根据 Capers Jones 于 2017 年发表的一项研究 .

重要的是要记住,20 年前,Python 远没有今天那么流行,它的生态系统也没有今天那么丰富。近年来人们开始大量采用 Python,这也是它成功的原因。

给 Smalltalk 相同的机会,我预计它将把 Python 从水中吹走。 让 Smalltalk 再次伟大!

手表 Smalltalk 50 年 .

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/37800/51491910

标签:语言,编程语言,Python,编程,Smalltalk,相比,属性
From: https://www.cnblogs.com/amboke/p/16706957.html

相关文章

  • CTP For Python
    GitHub地址:https://github.com/shizhuolin/PyCTP这是程序化期货交易上期ctp接口版本.将其包装为python版本.支持python3编译需求:vs2010/gcc编译方法pythonsetup.py......
  • 使用脚本修改hosts文件(bat+python)
    使用脚本修改hosts文件(bat+python)一、使用bat脚本方式  使用bat修改hosts文件,首先判断默认路径是否存在,如不存在,手工输入目标文件地址(一般用不着):SEThosts=C:\Windows......
  • 【股票爬虫】我用100行Python代码,爬了雪球网5000只股票,还发现一个网站bug!
    一、爬取目标您好,我是@马哥python说,今天继续分享爬虫案例。爬取网站:雪球网的沪深股市行情数据具体菜单:雪球网>行情中心>沪深股市>沪深一览爬取字段,含:股票代码,......
  • python自动更新pom文件
    前言项目越来越多,版本管理越来越麻烦,在项目上我使用mavenversion来进行版本管理。主要还是在分布式项目中模块众多的场景中使用,毕竟各个模块对外的版本需要保持统一......
  • 崩溃!学了三年Python,这几道面试题还是答不好
    每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试Python语......
  • python网络爬虫常用解析器
    BeautifulSoupBeautifulSoup是一个HTML/XML的解析器,主要用于解析和提取HTML/XML数据。它基于HTMLDOM的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,......
  • pythonbiji
     Python基础入门笔记(二)_Jaybo_的博客-CSDN博客Python基础入门笔记(一)-腾讯云开发者社区-腾讯云(tencent.com)......
  • python logging模块
    logging模块处理流程:分为几个模块:logger:最高层模块,用来输出loglogger.level来筛选loglogger.debug()/info()/warning()/error()等输出loghandler:经过logger......
  • python-装饰器
    装饰器什么是装饰器?装饰器本质上是一个Python函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象。装饰器......
  • python爬虫入门笔记(随便记记,持续更新)
    准备:安装库pip3installbeautifulsoup4apt-getinstallpython-lxmlpip3installparse 一、获得从baidu.com中能够跳转到的页面(的链接)importrequests......