想设计一门全新的编程语言

从零开始设计一个编程语言-缘起 作为一个中老年攻城狮,谁不想拥有自己的{编程语言|操作系统|CPU|数据库...}呢?开个玩笑。咱正经说说自己的想法,也欢迎道友评论区批评指正。 阅读详情
先想好一个名字,如果我真的可以把这个编程语言弄出来,就叫:p语言
想法是这样的。总结一下:
让所有对象的操作都是通过指针操作,每个对象的成员函数和成量变量都是指向缓冲内存池的一个指针,当通过旧变量值给新变量赋值时,不改变原来内存中的数据,只复制指针,并增加内存数据的引用计数。当某个变量要改变变量值时,马上从在内存池中分配一个新的数据,并将变量指针指向这个新数据,同时原数据的引用计数减1,原内存中的数据值不变。当内存池中数据引用计数为0时,内存池将会回收这个数据的内存。内存池管理程序专门使用一个线程来进行管理。
所有数据都以二进制字节流表示,不区分具体的数据类型,具体的数据类型通过对象的数据指针结构中的字节位标志来确定。所有的数据都是以二进制字节流的形式存在于数据内存池中。对象类型池中只保存对象数据指针结构,和指针所指数据类型标志字节。
内存池分成大小相同的无数个块区,比如以64Kb为一个块区,每个时刻都保证有三块内存块可用,新释放的数据内存,在数据分配时优先再分配,以减少内存碎片化。
程序设计上学习python的简结语法,写一个中间处理C++对象映射到p语言指针对象的中间工具,这样就可以使用P语言轻松使用和调用C++对象。并且可以轻松方便的支持所有C++库。以方便C++与P语言混合编程。如果可以再写一个python对象的过度工具,他就可以快速的支持python库了。
另外,因为所有的数据只创建不修改,这样就不会出现多线程时两个线程同时修改同一个内存的情况。方便实现像Erlang语言的无锁多线程编程。即,适用于多核处理器的面向并发编程。
设计并实现一个简单的编程语言 设计一个支持函数递归调用的程序语言,学习编译器原理。 阅读详情

相关推荐

想要自创一门编程语言,首先要能做到这 14 点!

现在,很多人对他们现在每天使用的编程语言感到困惑和不解,他们都有各自的需求,无论你是一名职业的 IT 人员还是普通的开发爱好者,你可能曾经想要创造一门新的编程语言。下面就来告诉你如何创造一门编程语言,如果你能够做到这 14 点的话,说不定那时候的你真的已经成功了呢! Step1对专业术语十分熟悉 写编译器的人通常会使用一些你不是那么熟悉的术语,所以你一定要在开发前先了解编译器,确保你知...

致力于C语言C++知识分享! 3394

如何设计一门编程语言?

思考了解如何设计一门编程语言~

专注于输出大概有用的软硬件技术! 3602

智能体在车联网中的应用:一份详尽到每日的100天学习路线图

这100天的旅程,是一次对毅力、学习方法和工程实践能力的综合考验。它不仅关乎掌握一系列技术点,更关乎培养解决复杂系统性问题的思维模式——将宏观的交通需求分解为微观的智能体决策,再通过多智能体协同涌现出宏观的智能行为。当你完成这份大纲时,你将拥有的不仅是一个项目作品集,更是一套应对“智能体+车联网”乃至更广泛AI+垂直领域挑战的方法论。未来已来,期待你成为构建智能交通新生态的关键贡献者。

IT深耕十余载,大道之简 1334

如何设计一门计算机编程语言

一、概述计算机编程语言顾名思义,是用来和计算机进行沟通的语言。计算机编程语言伴随着计算机的发明,作为计算机领域各种软件的基础,不断推动着计算机技术的发展。本文中,将主要关注设计开发一种计算机编程语言,对于其他类似的语言,比如MarkDown、数据查询语言、数据交换语言等不涉及。计算机编程语言自从诞生以来,不断发展,很多已经逐渐消失在历史的长河中,当前(2022年)最流行的...

内核工匠 5293

Star CCM+ 实战:旋风分离器网格加密策略与湍流模拟优化

本文针对Star CCM+中旋风分离器模拟精度不足的常见问题,深入剖析了网格质量的关键影响。文章重点介绍了通过局部网格加密策略,精准优化旋流核心区与入口区域的网格密度,从而在保证计算效率的前提下,显著提升湍流模拟的准确性与流场细节的捕捉能力,为工程实践提供了一套有效的优化方案。

water的专栏 535

从零构建基于ZYNQ与AD9361的SDR信号源:FPGA逻辑与射频前端的协同设计

本文详细介绍了从零开始构建基于ZYNQ与AD9361的SDR信号源的完整流程。通过解析FPGA逻辑与射频前端的协同设计,重点阐述了如何利用FPGA生成基带信号,并通过ARM处理器配置AD9361,最终实现一个可编程的2.4GHz载波信号发生器。内容涵盖硬件选型、Vivado环境搭建、AXI总线通信、LVDS接口设计及软件驱动开发,为SDR开发者提供了实用的实战指南。

weixin_29200485的博客 214

现在的编程语言这么繁杂,难道你就不想知道它最早是如何开始的吗

现在的编程语言这么繁杂,难道你就不想知道它最早是如何开始的吗

一名正义的白帽黑客 1067

ANSYS材料库实战:手把手教你用APDL命令流定义混凝土和形状记忆合金

本文详细介绍了在ANSYS中使用APDL命令流定义混凝土和形状记忆合金(SMA)的高级建模技巧。通过SOLID65单元和SMA本构模型,工程师可以精确模拟非线性材料行为,包括混凝土的开裂和SMA的超弹性效应。文章提供了完整的命令流示例和求解策略优化建议,帮助用户提升工程仿真效率。

hh234的博客 486

MoJo全新编程语言

MoJo全新编程语言

zhangyy57的博客 1282

从代码仓库到知识库:自动化构建与RAG技术实践

在软件工程领域,代码库的规模与复杂性日益增长,如何高效管理和利用其中的知识成为关键挑战。传统文档工具主要依赖注释提取API信息,而现代知识构建技术则通过抽象语法树(AST)解析、自然语言处理等手段,深入理解代码结构、调用关系和业务逻辑。其核心价值在于将非结构化代码转化为机器可理解、可检索的结构化知识,显著提升代码资产的可维护性和团队协作效率。这一过程通常涉及代码解析、信息提取、向量化表示和存储索引四个关键阶段,其中向量化技术将代码语义转化为高维向量,为语义搜索奠定基础。结合检索增强生成(RAG)架构,开发者

weixin_42545292的博客 415

Spring AI 实战:如何使用 MCP Server 搭建 MCP 天气查询服务

MCP(Model Context Protocol)是 Anthropic 提出的一种开放协议,它定义了AI 模型与外部世界交互的标准方式。通俗地说:大模型本身只拥有训练数据中的知识,它不知道今天的天气、无法查询你的数据库、不能调用你的内部 API。MCP 就是解决这个问题的"桥梁"——它让模型能够发现并使用外部工具(Tools),就像人用手去操作工具一样。角色职责对应依赖MCP Server暴露工具(Tool),供模型调用MCP Client连接 Server,让模型发现和使用工具本文我们先聚焦。

SmartSi 760

哪一门编程语言入门很难学呢?看看这份编程语言排行榜

编程语言是开发者们代码工作的核心,也是许多开发者最爱讨论的话题。编程语言的选择对开发者和工具制造商都十分重要,前者需要保持最新和具备市场潜力的技能,后者则需确保他们能够提供最有用的SDK。 开发者经济分析公司SlashData曾发布了《2018年第2季度各国开发者状况》调查报告,共有167个国家的20500多名开发者参与其中。 报告面向全球所有类型的程序员,对使用每种主要编程语言的活跃开发者数量进...

xiaoxijing的博客 2613

笔试题-2023-思特威-数字电路设计(CIS)【纯净题目版】

10 笔试题-2023-思特威-数字电路设计(CIS)【纯净题目版】

w0shishabi的博客 1472

微软发布全新的编程语言Bosque

告别for循环!微软发全新开源编程语言Bosque 提起微软相信大家并不陌生,旗下Windows系统可以说世界上使用率最频繁的系统,使我们的生活和工作更加方便,近日,微软宣布,推出一种全新的开源编程语言,名为Bosque,开发者为Mark Barron。 据了解,全新的编程语言不需要“for”、“while”、“do while”循环,开发效率更高,对于熟悉TypeS...

qq_27802435的博客 1222

14 ABSOLUTE评估肿瘤纯度

14 ABSOLUTE评估肿瘤纯度 Absolute介绍 ABSOLUTE可以直接从体细胞突变和拷贝数变异的结果中推断肿瘤纯度和倍性的计算方法。 通常来说,我们取肿瘤组织进行测序,往往是一个混合样品,既包括肿瘤细胞也包括正常细胞,因此需要进行肿瘤纯度 purity 的评估。当从混合样品中提取 DNA 进行测序后,得到的也是一个混合样品的结果。肿瘤不一定是单纯的二倍体了,其本身异质性高,存在部分突变部分不突变的情况,直接分析拷贝数变异,得到的结果并不准确,评估肿瘤倍性 ploidy 也更加必要。而 ABSO

qq_23435961的博客 4215

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

想要自创一门编程语言,事情哪有这么简单?除非能做到这 14 点!

现在,很多人对他们现在每天使用的编程语言感到困惑和不解,他们都有各自的需求,无论你是一名职业的 IT 人员还是普通的开发爱好者,你可能曾经想要创造一门新的编程语言。下面就来告诉你如何创造一门编程语言,如果你能够做到这 14 点的话,说不定那时候的你真的已经成功了呢! Step 1 对专业术语十分熟悉 写编译器的人通常会使用一些你不是那么熟悉的术语,所以你一定要在开发前先了解编译器,确保你知道编译...

每日分享程序员技巧 1064

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JAVA————一门强大的面向对象编程语言

JAVA————一门强大的面向对象编程语言 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程...

yuxy36的博客 4万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

全新编程语言【Mojo】诞生

Mojo 是一种新的编程语言,它通过将最佳的 Python 语法与系统编程和元编程相结合,弥合了研究与生产之间的差距。使用 Mojo,您可以编写比 C 更快的可移植代码,并与 Python 生态系统无缝互操作。

m0_46369686的博客 4924

【全网唯一】第一篇 我要创造一门全新中文编程语言——华夏本源语言

《华夏本源语言:为中文世界打造的全新编程语言》 作者提出创造"华夏本源语言"的构想,旨在解决现有西方编程语言与中文思维不匹配的问题。文章指出当前主流语言存在思维门槛割裂、过度包装、忽略功耗与文化适配等四大痛点。该语言将基于华夏文明的"平衡、失衡回归、朴素逻辑"三大本源规律,采用全中文语法,精简至30个关键字和5条核心规则,追求"重记忆轻算力"的设计理念。首版将聚焦基础功能开发,支持跨平台运行,目标让中文用户实现零门槛编程。作者强调这不是情怀之作,而

chuangshitianzun的博客 141

不同语言编程能整合到一起吗_想要自创一门编程语言,首先要能做到这 14 点!...

现在,很多人对他们现在每天使用的编程语言感到困惑和不解,他们都有各自的需求,无论你是一名职业的 IT 人员还是普通的开发爱好者,你可能曾经想要创造一门新的编程语言。下面就来告诉你如何创造一门编程语言,如果你能够做到这 14 点的话,说不定那时候的你真的已经成功了呢!Step 1 对专业术语十分熟悉写编译器的人通常会使用一些你不是那么熟悉的术语,所以你一定要在开发前先了解编译器,确保你知道编译的所有...

weixin_39833290的博客 508

如何系统学习一门编程语言? | 黑马程序员

语言有很多种,包括汉语、英语、法语、韩语等,尽管输出的形式不同,但可以达到同样的目的。同样,我们也可以通过「语言」来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言。你用过全自动洗衣机吗?你知道它是怎么工作的吗?​全自动洗衣机的工作步骤如下:“进水加洗涤剂 — 洗涤 — 脱水(放水)—进水 — 漂洗 — 脱水(放水)—(烘干)—鸣笛示意 ”的程序工作,井井有条,自动地把衣物洗得干干净净,好不便捷!它是怎么做到的呢?原来,厂商在洗衣机的控制芯片中,预先输入了一条条的指令代码,预设了不同的算法程序,使

黑马程序员官方博客 1185

程序员要学习一门新的编程语言,该怎么做

在现代编程环境下,这个问题是涉及开发思想的一个核心问题,几乎每种语言都会用足功夫,比如.NET的delegate,Java的anonymous inner class,Java7的closure,C++ OX的tr1::function/bind等等。需要注意的是,泛型技术跟多线程技术一样,用不好就成为万恶之源,必须系统学习,谨慎使用,否则不如不学不用。就算是临时使用的语言,把上面这个提纲精简一下,只看重体字的部分,大致能在几天到一周内搞定,不算是太耗时,而且写出来的代码不会太不靠谱。

a_juvenile的博客 580

clay:通用编程语言的全新尝试

clay:通用编程语言的全新尝试 项目介绍 Clay 是一种专为通用编程设计的编程语言。通用编程(Generic Programming)是一种编程范式,它强调编写可重用的代码,以处理不同类型的数据。Clay 旨在为开发者提供一种更加灵活、高效的编程方式。目前,Clay 处于开发中的分支,版本为 0.2-WIP,意味着文档可能过时,源代码兼容性也可能随时发生变化。如果你需要稳定版本的 Clay,建...

gitblog_00369的博客 680

【高效秘诀】用最短的时间掌握并使用一门从未接触的编程语言的要诀

虽说是快速掌握,但也必须是系统的学习,绝不能是大致了解或者⾛马观花。其实对 于学习一门新的编程语⾔来讲,也是有最佳实践的,只要遵照本教程的⽅法练习,你一定可以在一周内掌握并使⽤一门新的编程语⾔开始写项目。但如果要把语言学到精 通的程度,除了下面的训练⽅法,还需要一个真实需求的项⽬来锻炼⾃己。

Mr_Roki的博客 774

走进C++:一门兼具高效与灵活的编程语言

与许多高层编程语言不同,C++允许开发者直接操作内存,这意味着我们能够精准控制程序的执行细节,写出运行效率极高的代码——这一特性在对性能要求苛刻的场景中至关重要,比如大型游戏的实时渲染、操作系统的内核开发、金融领域的高频交易系统等。例如,指针的学习会让你明白数据在内存中的存储与访问方式,多态的理解会让你掌握代码复用与扩展的核心技巧,模板的应用则能让你写出具有通用性的高效代码。在接下来的学习旅程中,我们将遵循由浅入深、循序渐进的原则,从C++的基础语法开始,逐步探索它的核心特性。

2402_84929584的博客 404

0基础,入职一周完成第一个需求|如何快速自学一门编程语言?

用了大概四、五天左右,我就把项目里所有代码基本看懂了。

Stay Hungry Stay Foolish 求知若饥 虚心若愚 2609
上一篇: Cocos Studio相关下载(转)
下一篇: python中Decorators的用法
woodcol
博客等级 码龄19年 288粉丝 429原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值