公共命名空间,2024年11月的笔记
进行类比思维。对于在电脑上显示字符的任务,需要字符集。曾经有人研究算法,希望编出一个神奇的程序,能够显示所有字符。但最终的结果是,需要字符集,人工地把所有字符收集起来,让电脑一个个记住,这样便解决了在电脑上显示字符的问题。
现在开始思考,在电脑上实现自然语言编程,该怎么办?《编译原理》的书很复杂,靠这本书,已经造出了许多计算机语言,它们都不是自然语言编程!有人研究算法,希望编出一个神奇的程序,解决自然语言编程的难题。但最终的结果很可能是,需要像填充字符集一样,填充「公共命名空间」。让电脑记住每一个句子,这样便能实现自然语言编程。
公共命名空间是一个供程序员讨论的空间,程序员在这里讨论语言应该是什么样子。填充公共命名空间的一个忌讳,就是用月薪几万元雇佣许多程序员进行填充,这会消耗太多的钱。
完全免费的进行填充,难以保证质量;完全收费的,又太贵。最终的结果是,多数人免费填充,少数人拿着工资整理公共命名空间。所有将要使用计算机语言的人,都可以加入进来,填充公共命名空间。
再次进行类比思维。汽车是一项发明,许多人都会开汽车,但不一定懂得汽车的原理,这就是工人和司机的区别。发明汽车后的一百年,甚至有未成年人靠模仿和自学,掌握了驾驶汽车的方法。所以,需要考张证书才能合法的开车。
电脑也是一项发明,会用电脑的人不一定懂得电脑的原理,这是程序员和电脑操作员的区别。发明电脑已经70多年了,在一百年的时候,有未成年人靠自学掌握了给电脑编程序的方法。到那时,需要考证才能合法编程?到那时,会编程序的人不一定是程序员,可能他是一个电脑操作员。
分级是可以的,给电脑操作员命名为“初级程序员”,这需要考证才能获得。继续考证,或进入大学,学习计算机专业,获得更高等级程序员的称号。
究竟是否要将电脑操作员命名为初级程序员,有待推敲。或许像汽车那样,区分司机和汽车工程师,是最好的方法。这么一来,电脑操作员将永远是操作员,而不是工程师。操作员也需要考证上岗。
填充公共命名空间应该能在手机上进行,这样一来,能有更多人参与进来,而不是必须买台电脑才能填充。之前的博客中说到,公共命名空间是一个网站,方便所有将要使用计算机语言的人来填充。在其中,人们可以进行讨论,并把自己对于计算机语言的想法表述出来。
然后,语言的制造者看着公共命名空间进行工作,把人们期望的语言制作出来。这就避免了一个“XX语言之父”单打独斗,开发出来的东西总有这样或那样的不合适。
在公共命名空间的作者看来,语言没有统一,是因为修改语言的难度太大。如果语言可以被轻松地修改,它将趋于统一。另外,从软件工程的角度看,应该先设计、再施工。填充公共命名空间的过程,包括大量讨论、取舍,这正是设计语言的过程;之后的施工,交给更专业的团队来完成。
相关文章:
公共命名空间,2024年11月的笔记
进行类比思维。对于在电脑上显示字符的任务,需要字符集。曾经有人研究算法,希望编出一个神奇的程序,能够显示所有字符。但最终的结果是,需要字符集,人工地把所有字符收集起来,让电脑一个个记住,…...
登录功能设计(php+mysql)
一 登录功能 1. 创建一个登录页面(login.php),包含一个表单,用户输入用户名和密码。 2. 在表单的提交事件中,使用PHP代码处理用户输入的用户名和密码。 3. 首先,连接MySQL数据库。然后&a…...
从0开始学习Linux——远程连接工具
往期目录: 从0开始学习Linux——简介&安装 从0开始学习Linux——搭建属于自己的Linux虚拟机 从0开始学习Linux——文本编辑器 从0开始学习Linux——Yum工具 Linux 远程连接工具是指用于从远程计算机连接到 Linux 系统并进行操作的各种工具。它们可以帮助管理员或…...
Java线程6种生命周期及转换
多线程技术是我们后端工程师在面试的时候必问的一个知识点,今天就来盘点一下多线程的相关知识, 先来说下进程,线程及线程的生命周期: 进程:进程就是正在进行中的程序,是没有生命的实体,只有在运…...
关于STM32在代码中的而GPIO里面的寄存器(ODR等)不需要宏定义的问题
1.GPIO为什么需要宏定义地址 在 STM32 这样的微控制器中,硬件寄存器的地址是固定的并且特定于每个外设(比如 GPIOA、GPIOB 等)。为了方便代码访问这些硬件寄存器,我们通常会使用宏定义来指定每个外设的基地址。这样做有几个理由&a…...
【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十七章 交叉编译QT工程
iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…...
高效率的快捷回复软件 —— 客服宝聊天助手
在电商行业日益繁荣的今天,高效的客户沟通对于企业的成功至关重要。无论是电商平台、居家客服还是其他各类客服行业,都需要一款强大的工具来提升工作效率。今天,我们就来介绍一款高效率的快捷回复软件 —— 客服宝聊天助手。 一、跨平台跨店铺…...
Node.js + MongoDB + Vue 3 全栈应用项目开发
🌈个人主页:前端青山 🔥系列专栏:node.js篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来node.js篇专栏内容:Node.js MongoDB Vue 3 全栈应用项目开发 在前几篇文章中,我们已经为 Node.j…...
【云原生开发】如何通过client-go来操作K8S集群
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
CSS基础知识六(浮动的高度塌陷问题及解决方案)
目录 1.浮动高度塌陷概念 2.下面是几种解决高度塌陷的几种方案: 解决方案一: 解决方案二: 解决方案三: 1.浮动高度塌陷概念 在CSS中,高度塌陷问题指的是父元素没有正确地根据其内部的浮动元素或绝对定位元素来计…...
开源模型应用落地-glm模型小试-glm-4-9b-chat-vLLM集成(四)
一、前言 GLM-4是智谱AI团队于2024年1月16日发布的基座大模型,旨在自动理解和规划用户的复杂指令,并能调用网页浏览器。其功能包括数据分析、图表创建、PPT生成等,支持128K的上下文窗口,使其在长文本处理和精度召回方面表现优异&a…...
.net为什么要在单独的项目中定义扩展方法?C#
使用 扩展方法(Extension Methods) 和创建 扩展类(Extension Class) 在 C# 中有几个特定的目的,主要是为了提高代码的可扩展性、灵活性和可读性。让我们来详细解释这些概念以及为什么扩展类需要是静态的。 为什么使用…...
动态规划 —— dp 问题-打家劫舍II
1.打家劫舍II 题目链接: 213. 打家劫舍 II - 力扣(LeetCode)https://leetcode.cn/problems/house-robber-ii/ 2. 题目解析 通过分类讨论,将环形问题转换为两个线性的“打家劫舍|” 当偷第一个位置的时候,rob1在&#…...
Java基础-组件及事件处理(上)
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 Swing 概述 MVC 架构 Swing 特点 控件 SWING UI 元素 JFrame SWING 容器 说明 常用方法 示例&a…...
Python实例:爱心代码
前言 在编程的奇妙世界里,代码不仅仅是冰冷的指令集合,它还可以成为表达情感、传递温暖的独特方式。今天,我们将一同探索用 Python 语言绘制爱心的神奇之旅。 爱心,这个象征着爱与温暖的符号,一直以来都在人类的情感世界中占据着特殊的地位。而通过 Python 的强大功能,…...
图解大模型训练系列:序列并行3,Ring Attention
在序列并行系列中,我们将详细介绍下面四种常用的框架/方法: Megatron Sequence Parallelism:本质是想通过降低单卡激活值大小的方式,尽可能多保存激活值,少做重计算,以此提升整体训练速度,一般…...
pyspark基础准备
1.前言介绍 学习目标:了解什么是Speak、PySpark,了解为什么学习PySpark,了解课程是如何和大数据开发方向进行衔接 使用pyspark库所写出来的代码,既可以在电脑上简单运行,进行数据分析处理,又可以把代码无缝…...
Netty报错
问题:因客户反馈Netty版本低,影响性能,建议提升。于是,我将所有Netty版本从4.1.82.Final到4.1.114.Final后,报下面的错误,java.lang.NoClassDefFoundError: io/netty/util/Recycler$EnhancedHandle…...
Kafka 之顺序消息
前言: 在分布式消息系统中,消息的顺序性是一个重要的问题,也是一个常见的业务场景,那 Kafka 作为一个高性能的分布式消息中间件,又是如何实现顺序消息的呢?本篇我们将对 Kafka 的顺序消息展开讨论。 Kafk…...
Kafka 之批量消息发送消费
前言: 前面我们分享了 Kafka 的一些基础知识,以及 Spring Boot 集成 Kafka 完成消息发送消费,本篇我们来分享一下 Kafka 的批量消息发送消费。 Kafka 系列文章传送门 Kafka 简介及核心概念讲解 Spring Boot 整合 Kafka 详解 Kafka Kafka…...
安科士(AndXe)SPF-10G-T :10G 电口模块,重塑短距网络升级性价比
数字化转型浪潮下,企业园区、数据中心对10Gbps 高速互联的需求呈爆发式增长。但传统 10G 升级方案深陷困境:光纤布线成本高昂、施工周期长且需专业运维技能,而多数企业机架内、相邻机架间及办公楼层内的链路距离普遍低于 30 米,光…...
别再死记硬背了!图解ASCII码表,轻松掌握C语言字符处理的底层逻辑
从ASCII到C语言:用图形化思维解锁字符处理的本质 在初学C语言时,很多人都会对char类型和int类型之间的暧昧关系感到困惑。为什么一个字符可以像整数一样进行加减运算?为什么大小写字母转换只需要简单地加减32?这些看似神奇的操作背…...
Android主流架构演进:从MVC到MVI,聚焦MVVM核心实践
引言 在Android应用开发中,架构设计是确保代码可维护性、可测试性和可扩展性的关键。随着技术演进,主流架构从传统的MVC(Model-View-Controller)逐步过渡到MVP(Model-View-Presenter)、MVVM(Model-View-ViewModel),再到新兴的MVI(Model-View-Intent)。这种演进反映…...
Android 四大组件之 Service
一、Service:没有界面的"长跑选手" 如果说 Activity 是用户能看到的"页面",那么 Service 就是看不见的"长跑选手"——它在后台默默工作,不与用户直接交互。 它适合执行那些用户不需要直接看着、又要持续一段…...
使用workbuddy 30分钟搭建微信小程序
前言 今天发现一个超好用的工具WorkBuddy可以非常快速地进行搭建小程序,还有进行一些代码的修改,简直是一个开发小程序的好帮手,今天用一节很小的短篇介绍一下整个创建部署和搭建过程。 第一步下载workbuddy 创建小程序 首先需要下载work…...
告别Keil4编译报错!手把手教你为STC89C52RC单片机配置头文件路径(保姆级教程)
从零解决Keil4头文件报错:STC89C52RC开发环境配置全指南 当你第一次打开Keil4准备为STC89C52RC单片机编写程序时,满心期待地点下编译按钮,却看到屏幕上跳出"Cannot open source file REG52.H"的红色错误提示——这种挫败感我太熟悉…...
RefineDet检测结果可视化:使用refinedet_demo.py轻松实现目标标注
RefineDet检测结果可视化:使用refinedet_demo.py轻松实现目标标注 【免费下载链接】RefineDet Single-Shot Refinement Neural Network for Object Detection, CVPR, 2018 项目地址: https://gitcode.com/gh_mirrors/re/RefineDet RefineDet是一种高效的单阶…...
Cortex-M3/M4处理器模式判断与调试技巧
1. Cortex-M3/M4处理器模式判断原理在嵌入式开发中,理解Cortex-M3和Cortex-M4处理器的运行模式对调试和异常处理至关重要。这两种处理器架构都采用了两级特权等级和两种执行模式的组合设计:特权等级(Privilege Level):…...
SQL Server报错注入原理与三大稳定Payload实战
1. 报错注入不是“碰运气”,而是SqlServer的确定性行为很多人第一次听说“报错注入”时,下意识觉得这是在赌数据库会不会吐错误信息——输个单引号试试,看页面崩不崩;加个AND 1CONVERT(int, (SELECT version)),看是不是…...
大模型推理层归零:从vLLM到硬件直驱的架构革命
1. 项目概述:这不是一次普通更新,而是一次架构级“蒸发”“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题乍看像科技媒体的夸张头条,但作为连续三年深度跟踪Claude模型演进、亲手部署过从claude-2.1到claud…...
