这个想法大概一开始是从某语言的变量提升开始的,刚学到那语言就觉得怎么会有这么天才的设计,真是太符合心目中的「语言的经典设计」(恶趣味角度)了。

虽然后来慢慢也理解到了这个设计的缘由,而且其实对这个语言接近 Lisp 和函数式的一些角度还是蛮喜欢的。

后来接触了一些其他的语言,例如某个 J 开头的语言,包括各种设计模式,有时候写着代码的时候,看到一些奇怪的约束和很不方便的地方,也会想,是不是可以做个集这一些短处为一体的语言呢。

现在想的话,大概想到的可能还有这些想法吧:

- for 关键字同时用于不同的循环、分支里面
- 混淆 true/false 、0 、非 0 、void 等概念
- 遍历集合的时候会改变原集合的结构
- 用 plunk 之类的字符串匹配而不是 map/forEach/filter
- 用同一个东西和语法表达列表、字典等多种数据结构,并且不关心顺序
- 每个函数都有个 this 指针
- 没有泛型,并且需要强转
- 所有的对象都可以 call ,函数也可以 new

目前大概想到的是这么多吧。
举报· 1442 次点击
登录 注册 站外分享
13 条回复  
kneo 小成 1 小时前
每个变量和函数参数/返回值都必须声明类型 声明了类型但是不强制编译器检查类型 即使编译器检查了类型也不保证运行时没有类型错误 必须支持泛型 泛型必须很详细,什么也不能省 泛型不保证你没有运行时错误 泛型不能带来性能提升 代码必须要先编译才能运行 编译必须很仔细,没一个小时不能完成 编译应该是单线程的 编译也可以选择多线程 多线程编译不保证正确性 多线程编译不能带来性能提升 程序员必须手动管理内存 虽然需要手动管理内存并且要编译,但是运行时还有虚拟机 虚拟机的指令必须要是解释执行的 虽然程序员必须手动管理内存但是虚拟机实现了 GC GC 是用引用计数 引用计数可能会有内存泄漏 程序编译之后,如果想在其他机器上运行,必须要在目标机器安装编译开发环境 动态链接库必须要完全一致 如果机器上有旧版本的链接库请先卸载 如果有新版本的也请一并卸载 如果运行不了建议在虚拟机或者 docker 中运行 环境变量不正确可能运行不了 以防外一,编译出来的程序最好是从 IDE 中启动 本语言没有规范,以实现为准 如果有新版本请以新版本为准 如果版本过新,请卸载新版本,重新安装大家都在用的版本!
nyxsonsleep 初学 2 小时前
@songray 确实
FalconD 初学 2 小时前
回答 esolangs 多少有点算跑题了 核心还是让各种语言特性相互冲突和耦合 建议直接干掉过程的形参列表,类型系统随便乱来
woctordho 小成 昨天 23:23
esolangs.org 去集齐这些语言的缺点吧
SchwarzeR 小成 昨天 23:19
你说得对,但是《 Golang 》是一门由 Google 自主研发的全新编程语言,语言发生在一个被称作「 goroutine 」的幻想世界,在这里,被 func 选中的人将被授予「 pointer 」,导引 GO111MODULE 之力,你将扮演一位名为「 20060102150405 」的神秘角色,在自由的 interface 中邂逅性格各异、能力独特的 struct 们,和他们一起击败 err ,找回失散的泛型——同时,逐步发掘「 panic 」的真相。
koykoi 初学 昨天 22:51
parody 的话,可以考虑 https://github.com/TodePond/DreamBerd
auh 初学 昨天 22:34
人才,希望设计出来,提供更多程序员职位的语言
mekingname 初学 昨天 22:32
无论你的项目有多少行代码,你的项目文件夹里面,必须嵌套 10 倍的空文件夹,项目才能正常运行。 例如: com/xxx/yyy/zzz/ppp/ttt/mmm/qqq/service/head/break/main.java
66450146 小成 昨天 22:07
"2006-01-02 15:04:05"
12下一页
返回顶部