惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
B
Blog RSS Feed
宝玉的分享
宝玉的分享
腾讯CDC
博客园_首页
T
Tailwind CSS Blog
月光博客
月光博客
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
M
MIT News - Artificial intelligence
A
About on SuperTechFans
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
V
Visual Studio Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
SecWiki News
SecWiki News
美团技术团队
P
Privacy International News Feed
H
Help Net Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
Know Your Adversary
Know Your Adversary
Y
Y Combinator Blog
D
DataBreaches.Net
Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
Cyberwarzone
Cyberwarzone
C
Cybersecurity and Infrastructure Security Agency CISA
C
Cisco Blogs
S
Schneier on Security
G
GRAHAM CLULEY
博客园 - 三生石上(FineUI控件)
Cisco Talos Blog
Cisco Talos Blog
小众软件
小众软件
Forbes - Security
Forbes - Security
D
Docker
T
Tenable Blog
S
Secure Thoughts
雷峰网
雷峰网
S
Security @ Cisco Blogs
T
The Exploit Database - CXSecurity.com
The Cloudflare Blog
博客园 - 【当耐特】
Spread Privacy
Spread Privacy
阮一峰的网络日志
阮一峰的网络日志

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟 从Python转向Pharo https://blog.just4fun.site/post/iot/iot-open-source-projects/ Python异步编程笔记 https://blog.just4fun.site/post/iot/iot-open-source-hardware-community/ 万物积木化开发者社区 CodeLab ❤️ Blender Scratch3技术分析之云变量 API(第7篇) [译]对管道(Pipes)的偏爱 [译]提出正确的问题比得到正确答案更重要 蓝牙设备与Scratch3.0 创建你的第一个Scratch3.0 Extension Scratch3技术分析之项目内部数据(第6篇) Scratch3技术分析之社区 API(第5篇) Scratch3技术分析之User API(第4篇) Scratch3技术分析之项目主页API(第3篇) Scratch3技术分析之静态资源API(第2篇) Scratch3.0、micro:bit与Windows7 https://blog.just4fun.site/post/iot/zerynth-vs-micropython/ 核聚变、方所与半宅空间 可视化编程为何是个糟糕的主意 codelab.club周末聚会 关于codelab.club '下一件大事'是一个房间 Hungry Robot - Eat everything 编程作为一种思考方式 今日简史 史蒂夫·乔布斯传 罗素自选文集 https://blog.just4fun.site/post/edx/tianjin-scratch-ai/ https://blog.just4fun.site/post/edx/richie-cms-openedx/ 徒步武功山 WebUSB与micro:bit 积木化编程与3D场景 夜宿武功山顶 scratch3-adapter接入优必选Alpha系列机器人 https://blog.just4fun.site/post/edx/video-migration-note/ scratch3-adapter重构笔记 https://blog.just4fun.site/post/edx/edx-community-members/ 两种硬件编程风格的比较 使用micro:bit自制PPT翻页笔 柏拉图对话集 scratch3.0 + micro:bit 七月电影放映计划 非营利组织的管理 Screenly--用树莓派让任何屏幕变为可编程的数字标牌 以最佳实践开始你的Django项目 micro:bit与事件驱动 为Scratch3.0设计的插件系统(上篇) OCR应用一例 近两年读过的一些好书 blockly开发之使用python驱动浏览器中的turtle(2) 牛顿新传 文学理论入门 逻辑的引擎 人生的意义 blockly开发之生成并运行js代码(1) blockly开发之hello world(0) micro:bit使用笔记 神器之Termux https://blog.just4fun.site/post/iot/micropython-notes/ Cozmo what is this Scratch的前世今生 下段旅程 我行在远方 爆裂 途中杂记 https://blog.just4fun.site/post/edx/open-edx-startup/ cozmo系列之入门 - 有性格且可编程的机器人 PaperWeekly开发笔记 创业二三事
Smalltalk学习笔记
2014-09-03 · via 夜行人
  • 所有一切都是物体(Everything is an Object)。这是Smalltalk中最重要的一条规则。
  • 一个变量没有与之关联的类型。变量仅仅指向物体
  • a := 2的真正含义不是“将a的值设置为整数2”,而是“让变量a指向一个值为2的SmallInteger(小整数)物体”
  • 所有的计算都通过消息(message)来触发。你向某个物体发送消息,然后就会发生某些事情。
  • (15 * 19) + (37 squared)可以理解为:向15发送消息 * ,参数为19;向37发送消息squared;最后向15*19的结果发送消息 + ,参数为37 squared的结果。
  • Smalltalk中所有的表达式都是<接受消息的物体> <消息>
  • 消息激发方法。一个消息会对应什么方法是由接受消息的物体决定的。
  • 每条消息(to: do:, whileTrue:, +)都会激发方法,这些方法是Smalltalk中的代码单元,你可以认为方法就是你常用的编程语言中的函数或者过程。方法是计算发生的地方。。你不仅可以查看它们的控制结构和操作是如何实现的——而且还能改动它们!
  • 每一个物体都是某类事物的一个实例。
  • 由于该类(事物)中定义了此实例(物体)的行为,所以必须找到这个接受消息的物体所属于的类,然后通过类来指出应该如何解释收到的消息。这一点非常重要。 (代码的位置,高层和底层视角的切换 很微妙)
  • 类是定义方法(行为)的地方,决定了物体是否有某种能力(能执行某个动作),所有代码都能在类中找到,没有魔术
  • Smalltalk中没有什么要记住的关键字(甚至没有if,你可以自己实现)!使用Smalltalk,就像用小积木,能让你搭建出你想要的任何东西。
  • 在Smalltalk语言中没有条件语句,取而代之的是一些发送给对象true或者false的消息,因此它们不属于语言部分,而属于Smalltalk的类库;也没有循环重复语句(C语言中的for, while),Smalltalk用向数字对象或块对象发送消息来实现重复执行。
  • 语言没有固定的语法,语法分析由类本身完成
  • Smalltalk是一种使用“晚绑定(late-binding”的语言,让相同的消息在不同的数据上执行近似的功能成为多态。当你看到一个printString消息时,你实际上并不知道将会执行什么,直到你了解这个消息被发送给哪个物体后,才能清楚到底会执行什么内容
  • 从smalltalk这里学习对象,从lisp那里学习函数
  • 面向对象编程的精髓在于将行为绑定在数据上
  • 在结构化程序设计之中,我们将精力集中在行为(动词)上,然后弄清楚我们需要哪些数据(名词)才能执行。总而言之,我们将数据绑定在行为上。但在面向对象程序设计之中,我们将程序的中心用名词和数据表示,然后弄清楚我们要将哪些行为绑定在他们之上
  • Smalltalk和Scheme都非常优美纯粹,一致性非常好,相比之下,主流工业语言有些大杂烩,不少由于妥协导致的不一致,以及难以理解
  • 严格遵照一个唯一标准机制的做法已经被证明具有惊人的威力
  • 学习纯粹的语言,能让你更容易搞懂核心概念,而不会被各种枝节分神,而这些概念是大多编程语言的核心

##参考资料

文章作者 种瓜

上次更新 2014-09-03