不是玩具语言,不是玩具语言,不是玩具语言,重要的事情说三遍。
就是常规的通用目标编程语言,不过它有些很独特的特性,很强的,很强的,很强的!!!
希望能找一两个会做编译器或解释器的(不会也行,只要是程序猿都可( • ̀ω•́ )✧,毕竟太高级的程序猿可能会很不屑 d(´ω`*)),还想找一个会写文档的,自己文笔太菜,草案写的很丑 ̄ω ̄=,哈哈。
有兴趣的,都欢迎加入,稍后我看有多少人再决定建个讨论组或群。 还请觉得不屑的大大不要喷,虽然可能看上去很菜,但是实现了绝对能够惊世骇俗,我坚信(`_ゝ´)。
备注:1.没有工资,没有工资,没有工资,本人很穷(/ω\)。 2.希望能做成开源项目,让更多的人用,人人为我,我为人人。
1
0yster 2019-05-07 22:04:33 +08:00 via iPhone 113
不知道是不是钓鱼贴,如果不是,年度 v2 最 zz 楼主预定预订
|
3
rizon 2019-05-07 22:14:13 +08:00 1
emmmmmmmmmmmmm
想了一下,好奇心驱使我还是回了帖子(该死的好奇心啊),建议楼主还是多描述一下你的想法吧,让这个事情变得更加有鼻子有眼的,懂我意思吧 |
4
Qiaogui OP @rizon 嗯,好的呢,我从大概初二的时候开始学习的编程,现在大四了,一直是作为爱好在学习。虽然没参与过实际的什么项目,但是编程语言却学习了一大堆,之后便对大部分的语言结构都很了解。
但是我感觉大量的编程语言都有些用起来不适的地方,面向对象却出现类型限定的繁琐,面向过程则不能很好的阐述思想,像 python 这种却容易出现些不明所以的问题。等等等等。 我想改良他们,完成各种编程范式在同一逻辑结构下的统一,既易用,又简单,逻辑结构清楚静态类型与动态类型相结合,不会出现莫名所以的问题。 于是,我变想创建一门新的语言,我大概花了一年时间去思考,之间写过很多的 flex 和 bison 源代码,但总感觉不对,直到最近想法才完全成型。但受限自身能力。我苦于无法自己实现 |
5
Qiaogui OP 无论面向过程,面向对象,面向函数这些主流的思想都能统一在一个编程逻辑中。
|
6
Qiaogui OP 写点代码示例的干货吧(^_−)☆
|
7
Qiaogui OP // 面向函数示例
var cons(x, y): //组合两个变量 rtn sel(int x): if x == 1 : rtn cons.x _ //返回函数 if x == 2 : rtn cons.y _ _ _ var car(x): //解开函数 rtn x(1) _ var cdr(x): //解开函数 rtn x(2) _ var int q = 1, w = 2 let var i = cons(q, w) //引用绑定 car(i); cdr(i) |
8
Qiaogui OP //面向过程示例
int i = 1 loop for x > 7 : //为了让 x>7 执行,当 x 不大于 7 时执行循环 if x == 3 : print(x * x) _ x++ _ |
9
oott123 2019-05-07 23:27:02 +08:00 1
就,先学学编译原理,然后拿个什么 PEG.js 之类的东西就能简单造出来啦。
|
10
lunafreya 2019-05-07 23:36:30 +08:00 via iPhone
函数范式的没看懂, 面向过程的是有什么特色吗, 另外你的注释真的很难懂。
写过完整编译器,但还是觉得现在一般给 llvm 做个前端就可以了, |
11
Qiaogui OP |
12
Qiaogui OP 一个类型的变量不单单只是只代表这个类型的值,也可以代表能得到这种类型值所用的某种方式,也即函数。
|
13
Kilerd 2019-05-08 01:14:15 +08:00 4
看了这个设计,瞬间笑出声,SICP 看过了吗? 怎么设计一个语言没你想的那么简单。
7L var int q = 1, w = 2 8L int i = 1 连个简单的定义变量都出现了不一致的语法,这还不是 toy language ? 这个设计比我大学做 course homework 的设计都不如啊。 |
14
CEBBCAT 2019-05-08 01:28:29 +08:00 via Android 1
我记得 Python 一个假期就做出了雏形,楼主有创新的思想俺是支持滴。
我记得有人提到 Java 的设计人员说过,Java 有的地方不尽人意其实是向现实妥协的结果。 另外就像楼上所说,您的这门语言还是需要添加更多细节,现在我大概只知道您要创建一门新语言,而不知道它有什么优缺点。 |
15
Qiaogui OP @Kilerd SCIP 不知道你指的是不是 scheme,如果是的话,当然我看过哟,苏珊曼的网络视频和书籍我都看过。
至于语法,并不是不一致哟,不用 var 定义,是像 c 一样默认在栈上创建,使用 var 代表声明一个类型的引用名,而不直接创建对象,至于为什么可以直接等于,这是对基本类型动态创建的一个语法糖。 一般形式 int i 引用形式 var int i 引用显示动态创建 var int i = int +; i = 0 简写形式 var int i = 0 谢谢您的回复 @CEBBCAT 我希望创建的这门语言简单,方便,高效。而我认为达成这些目标并不应该像 basic,和 pascal 为了简单和结构,添加了大量底层关键字,这对国人并不是很友好,不如使用像 C 一样简单的符号代替,采用更加统一的逻辑结构才能是学习更容易。Python 非常方便和高效,我非常认同,但是一旦遇上 bug,可能半天都无法修复,并且他对其他语言模块的基本访问方式也非常困难。而 Java 在开学的时候,一个 main 函数就要加上一堆限定符,虽然它把 C++指针改成了引用,算是一个巨大的改良,但是,各种限定符无疑增加了语言的复杂性,不过限定符的好处还是有的,它对设计模式的应用具有很大的作用,所以我这门语言通过基本的语法,保留了限定符的功能,却不保留他的形式,使其在面向对象形式上用起来更为简单,但在功能上强于 java python。 感谢您的回复 |
17
xuddk727 2019-05-08 08:37:48 +08:00 via iPhone
写解释器比写编译器靠谱,因为简单,而且 lz 预算多少
|
18
sbw 2019-05-08 08:53:41 +08:00
围观
|
19
beingWH 2019-05-08 08:58:19 +08:00 9
玩地卜师的只有两种人,大神和菜狗
|
20
Qiaogui OP |
21
TTLD 2019-05-08 09:18:18 +08:00 via iPhone
@Qiaogui 可是这语法糖是苦的,那为什么不是 Break Loop For X > 7 呢?让人十分费解的语法,通常让人费解的东西都不实用。很同意#13 的看法,这还不是 Toy language ?
|
22
hmzt 2019-05-08 09:22:58 +08:00 5
我想造一个火箭,不过个人能力有限(不会,没钱ヾ(o・ω・)ノ,不过并不影响我对火箭的理解),希望有人帮助我造一个,完整的想法我已经有了,就等实现了。
|
23
trait 2019-05-08 09:27:49 +08:00 via iPhone
多去读点书吧,第一次听说面向函数
|
24
Qiaogui OP @TTLD 因为内部的条件控制语句包括 if for 和 do,跳转方式也与常规的 if else 有所不同,语言没有 else 结构,不存在悬挂的 else。
循环语句 loop 也属于条件控制语句,跳转方式也有 pass break 和 exit 三种,这可能看起来可能很复杂,还有一些简单的逻辑,不过那些只是某些简单语法的组合体而已。 如果你想追求简单,这语言可以给你最简单的实现方式,如果你想追求复杂,它可以让你觉得云里雾里,但不失它的强大。这就取决于个人的风格了。 |
25
marsgt 2019-05-08 09:29:00 +08:00
GitHub 上冷门小众的语言一堆吧。。
不过单就我自己的想法来说,我曾经(极其不切实际的幻)想过,有那么一种语言,它的语法是可配置的,所以可以模仿大部分市面上已有的成功语言的语法,或者说它应该是一种“通用前端”脚手架工具,通过配置可以使用市面上已有的成熟前端去开发,而后端则像是 LLVM 那种,可以指定输出的格式。这样, 大家就可以为配置文件使用的语法开撕了。。🤔🌚🤦♂ |
28
mamahaha 2019-05-08 09:35:14 +08:00 1
建议最好不要在这里深入讨论,这里的人太杂,遇见喷子或许会搞坏了心情。可以找一些更注重技术讨论的论坛,或者自己做个博客,在这里贴个博客地址,细节都在博客里讨论。
|
30
Qiaogui OP @mamahaha 谢谢您善意的提醒,人多口杂,放在博客或技术论坛会确实环境会好更多,但人却不会有这么多。
我希望先有更多的人能了解到它,无论他是喷子也好,还是真正的大神。 如果我会被这些小事搞坏了心情,又怎么会有坚定的决心去完成这门语言呢! 谢谢您的回复,能得到您的回复,我很欣慰。 |
31
KigKrazy 2019-05-08 09:42:05 +08:00
语言这种东西没有大厂支持都不敢随便用吧~~
楼主自写自嗨还是可以的。 |
32
darmau 2019-05-08 09:43:53 +08:00 4
你可以先写一个系统一点的文章详细讲一下设计理念发你博客上,如果设计的好说不定还真有人愿意搞搞。
就这样啥也没拿出来就找人是不可能的。 |
33
Qiaogui OP @lunafreya 完整的函数范式有如 scheme common lisp f# haskell 等等,他们都是完整的函数范式,但是完整的函数范式在很多方面会带来不变,最简单的例子便是赋值了,完整的函数范式赋值会造成底层构架的破坏,而我则想解决这个问题。
函数的柯里化使得接受的参数变少了,但他也可以变多啊,与其说是柯里化,不去说是返回高阶函数。 感谢您的回复 |
34
violence123456 2019-05-08 09:47:55 +08:00
不管怎么样,支持楼主
|
35
pmispig 2019-05-08 09:48:25 +08:00
菜鸟程序员的日常: 我有一个 idea
|
36
Qiaogui OP |
38
Vegetable 2019-05-08 09:49:51 +08:00
看起来像是民科向 IT 领域进发了?
编程语言设计也是一门科学 科学的进步都是循序渐进的,在这里,个体从来不是关键,你无法证明你的价值 |
39
Skifary 2019-05-08 09:52:21 +08:00
为了创造而创造的东西往往华而不实
|
40
attackonFourier 2019-05-08 09:53:39 +08:00
我觉得与其杂糅多范式的语言规范 形成新的编程语言 不如跳出语言的范畴 试着去进化编程思想
如果你想创造类型银弹的完美武器 那么很有可能就和 js 一样 语源来自 awk,c,hypertalk,self 等 又想模仿 Java 最后就是一个狮虎兽 |
41
kcer 2019-05-08 09:55:06 +08:00
脚踏实地。
|
42
Aoang 2019-05-08 09:55:44 +08:00 via Android 2
恕我直言,如果你有完整的想法了,那你自己就能写出解释器来。
你设计的语言真的可行的话,那就自己去做。别人怎么帮你?思维逻辑都不一样。 研究自然语言的科学家并不少,他们也没有说天天跑去设计一门语言,目的是怎样怎样。 一门好用的语言可能不需要任何特性,只需要足够简单、简洁、简约。 你的阅历和研究深度可能并不够支撑你设计出一门能用的语言,而一个设计失误,从你发现开始你就已经没办法解决了。 |
43
zephyru 2019-05-08 09:55:55 +08:00
看到现在依旧只是搞明白了,楼主又个想法,就差一个程序员了...
真心想搞,写一个大纲吧...既然大四了那就写个开题报告和绪论之类的东西吧.. 详细介绍下你想做什么,为什么,怎么做... 项目招标也不会只是,我有一个颠覆式想法,你们来投入吧... |
44
BingoXuan 2019-05-08 09:58:33 +08:00 1
lz 语言变成了 common lisp 的又一种不完整实现。
任何 C 或 Fortran 程序复杂到一定程度之后,都会包含一个临时开发的、不合规范的、充满程序错误的、运行速度很慢的、只有一半功能的 Common Lisp 实现——格林斯潘的第十定律 https://zh.wikipedia.org/wiki/%E6%A0%BC%E6%9E%97%E6%96%AF%E6%BD%98%E7%AC%AC%E5%8D%81%E5%AE%9A%E5%BE%8B |
45
HiCode 2019-05-08 10:01:09 +08:00 1
我也有这个想法啊,不过对比楼主,我还没看那么多程序语言设计的书籍,还没动手去做。
对于楼主,我是有点想笑的,但是又觉得楼主很大胆,很有想法噢! 楼上有说楼主是 IT 民科,我很想点赞,但是觉得自己可能也是 IT 民科。 只能靠默默学习,默默尝试,自己动手,做出东西来了。 我觉得我比楼主差的地方有两点: 我还不够不要脸,不敢大胆的找免费程序员来实现; 我步子迈的太小了,一开始只敢想着魔改 lua 来实现; 楼主你是我的榜样,但是我们的路不同,你是吹牛派 IT 民科,我是实践派 IT 民科。 不过,我们都要努力啊,总有一天会创造出世界第一的语言! |
46
echo1937 2019-05-08 10:01:13 +08:00
@zephyru #43 开题报告和绪论是不够的,楼主是语言设计者,那么来个完整的 Language Specification 吧,例子我给他找好了,就按这么来,有了这个,他想要多好的程序员都能找到。
https://docs.oracle.com/javase/specs/jls/se8/html/index.html |
47
fwrq41251 2019-05-08 10:01:20 +08:00
建议去知乎发
|
48
TTLD 2019-05-08 10:02:07 +08:00 via iPhone
@Qiaogui 你没看懂我加 break 的目的,世上最好的编程语言是自然语言。你的想法及出发点都是如何制作编译器,而不是创造一门编程语言。
|
49
henryhu 2019-05-08 10:02:35 +08:00
其他都好,唯一的问题是编程语言书看得太多了
|
50
websong188 2019-05-08 10:02:46 +08:00
实话,很羡慕楼主,愿楼主激情永存
|
51
UtsunomiyaShion 2019-05-08 10:04:17 +08:00
你很有想法,跟我学做菜吧
|
52
oxa71a5 2019-05-08 10:06:44 +08:00 via Android
你目前提出的描述无法吸引大神联系你。建议系统化描述你的想法并用正式文档发布。
|
53
luozic 2019-05-08 10:08:02 +08:00
不知道是不是钓鱼贴,如果不是,年度 v2 最 zz 楼主提前预订。
如果不是 去抄 typescript c# llvm 的架構和工具 很快就可以操一個工業級別的語言,但是 有卵用啊,大家還不是都用啥 Java go C |
54
masker 2019-05-08 10:12:17 +08:00 via Android 9
空手套毕设
|
55
zhangdawei 2019-05-08 10:13:47 +08:00 via iPhone
🐂
|
56
Tenma 2019-05-08 10:17:38 +08:00
我认为语言最重要的不是糖,而是生态,而是社区…… JAVA 由于其强大的社区和生态,尽管有着各种各样的缺点,但是仍然是很多企业的第一选择。
|
58
alexmy 2019-05-08 10:19:30 +08:00
何苦为难自己,为难别人,为难大众。
|
59
Tiom 2019-05-08 10:20:10 +08:00
有点东西。。。。
|
60
pinews 2019-05-08 10:23:14 +08:00 1
建议将关键字全部换成中文,以中文为卖点。
|
61
xuanwu 2019-05-08 10:24:05 +08:00
建议使用中文语法,实现中使用中文命名
《国人创造中文编程语言的优势》 https://zhuanlan.zhihu.com/p/31162122 |
63
slamDunkLINk 2019-05-08 10:28:20 +08:00
有想法挺好的,但是楼主要想有人帮助你,得自己先做出点东西,写个大纲啥的.
|
64
darmau 2019-05-08 10:30:10 +08:00 6
@Qiaogui 你不是写小说,文采不重要。
其实很多人说自己“文笔”不行的实际含义是“逻辑不清”。 而我认为写作逻辑跟思考是等同的,即思考的内容一定能写出来。如果写不出来,说明你就没思考清楚。因为思想的是建立在语言之上的——想象一下无法用语言描述的想象是否存在——如果不能用语言描述出来,说明也不能准确的思考出来。 所以你需要好好想想,到底是所谓“文笔”不行,还是逻辑上压根就没想好。 |
65
littlewing 2019-05-08 10:32:47 +08:00 via iPhone 3
滚
|
66
s4nd 2019-05-08 10:37:18 +08:00 via Android
我有一个想法,就差一个程序员了
|
67
zimv 2019-05-08 10:38:58 +08:00
想当 ceo 自己文采又不行,我有个想法,我做不来,你们来一起做吧,不发工资那种,这是耍流氓啊。建议还是自己多学习吧,也不要一来就要搞这么复杂的东西。我觉得你对任何一门语言可能都没有真正的理解,脚踏实地一点吧。
|
68
some3284 2019-05-08 10:39:18 +08:00
(__)
/oo\\________ \ / \---\ \/ / \ \ \\_|___\\_|/ * || YY| || || |
69
reus 2019-05-08 10:42:12 +08:00
就像很多语言都有“语言规范”,你可以先把语法和语义详细写出来,这些不需要实现编译器
如果可以写出来,是好设计,自然会有人感兴趣,和你一起实现 |
70
shuizhengqi 2019-05-08 10:43:01 +08:00
假设,假如你真的搞出来这个语言,你的优势在哪,自己造一个语言给自己玩?就算别人可能会考虑,但是你没有钱,没有人,别人敢用一个说停就停,bug 也不会修的语言?现有的那些语言哪些没有大佬?都是有资源做背书的。就跟你说你想做一个淘宝,现在你没有资源,没有钱,别人怎么相信你能做出来,而且做出来,怎么能够提供后续支持
|
71
crackhopper 2019-05-08 10:43:16 +08:00
其实设计也没那么简单。一般来说你能开发个 50%以上,才能设计的好一点。建议你先做好设计(也即自己开发出来 demo )
|
72
ztcaoll222 2019-05-08 10:43:25 +08:00
“我有一个绝妙的创意和一个靠谱的团队,就差一个写代码的了”
你这里甚至没有一个靠谱的团队 |
73
shuizhengqi 2019-05-08 10:43:50 +08:00
而且这个东西,你三两天也写不出来,找俩程序员帮你搞,名利你收,你这不是白嫖程序员么
|
74
BCy66drFCvk1Ou87 2019-05-08 10:43:51 +08:00
lz 的探索精神是值得学习的。现在想法不值钱,lz 可以先做点东西出来才更有说服力。
|
75
GX88624 2019-05-08 10:46:30 +08:00
有想法啊楼主,可以搞中文的吗?支持下楼主(o゜▽゜)o☆
|
76
l00t 2019-05-08 10:50:28 +08:00
你又不会写具体代码,又说自己文笔不好写不了文章介绍自己的设计。那你让别人怎么合作呢,你要怎样把你的想法和别人说清楚呢?
|
77
DEANHZED 2019-05-08 10:54:36 +08:00 via iPhone
我想自己开发一个系统,包括内核,啥都暂时没有,请大家帮助。
|
78
limit7 2019-05-08 10:56:08 +08:00
我曾经也有个想法,我以为做出来会有很大的成就,历经千辛万苦做出来才发现,没有多少人关注。
|
79
lukaz 2019-05-08 10:59:39 +08:00
要不先把你的完整的设计拿出来看看?
|
80
zjddp 2019-05-08 10:59:47 +08:00
我想要钱,不过个人能力有限(赚钱技术很菜ヾ(o・ω・)ノ,不过并不影响我钱的渴望),希望有人帮助我直接给我钱,钱包啊二维码什么的我已经有了,就等你们给我打钱了。
|
81
easylee 2019-05-08 11:02:33 +08:00
先系统描述出你的 idea,然后再去寻找语言吧,切勿重复造轮子,目前在服役的编程语言超过三位数,说不定就有符合你的要求的。
|
82
Qiaogui OP @violence123456 谢谢
@pmispig 我不是一个合格的程序员,我也不想成为一个合格的程序员,那会限制我自身对于事物的想象力。 您能回复,我还是很高兴的 @Vegetable 编程语言设计确实是一门科学,但科学难道只有专门人士才能懂吗?我不像信,如果真这样,就没有民间出大神这一说了(虽然我并不是大神*罒▽罒*)。 @Skifary 我并不是为了创造而创造,是因为我学了大量的编程语言,在使用时都觉得有所不便,而这种不便性,随着我学的更多,而在不断的增长,我期待解决这种问题。 古人筑瓦以避雨,众人见之,能得利于自身,便习之筑,故瓦传于后世。 @attackonFourier 狮虎兽之所以成为狮虎兽,很简单,他们只是在形式上创新了下,而本质并无改动。 @kcer 谢谢 @Aoang 设计的初始想法其实很早就有了,为何一直没公开,只是总觉的内部有些令人不甚满意的地方,就一直在修修补补,最近总算是成型了。 @zephyru 蓝本是有的,写成开题报告那种就太复杂了。 @BingoXuan 我听说过,但我不信这个邪。 @echo1937 java 的那个我看过,还看过 pascal basic c c++ iso pascal 10--- 还有威尔士博士的 73 年的报告,一个人完成,臣妾做不到啊ಥ_ @masker 本业是建筑。,在做建筑,毕业还要答辩,好烦的。 @Tenma 说的没错,不过社区的起始需要先有人爱上这门语言,而且应当是对社区很重要的人。 |
83
Qiaogui OP @pinews
@xuanwu 谢谢你们的建议,中文编程这个仅仅取决于源文件的编码格式。并不是什么大问题,国内已经有很多这一类的了,如果本质上与其他语言没有区别的话,就没什么意义了。 @slamDunkLINK 有个小蓝本,稍显丑陋 等了 1800s 的回复限制,好烦。。。 |
84
Qiaogui OP @zimv 我没想过我要当 CEO 哦,我只想以一个设计师的身份参与如果不成功,那也是你们的功劳,我什么也不是。不过真要实现了,并且大获成功了,不让我当 CEO 我可不干了 o(´^`)o,当然了,要先取得成功。
@some3284 哈哈 @ztcaoll222 是没有团队哦,这不是想组吗,难道没有第一个吃螃蟹的人么? @HuasLeung 主要是自己做不来 @crackhopper 语言是需要发展的,当前也有了很完善的语法结构,未来还会更好。 @GX88624 好的呢! |
86
niubee1 2019-05-08 11:13:09 +08:00 1
自己编程都很菜的话, 你怎么知道那些特性是好的, 那些是不好的? 你又不是银王
另, 就事论事的说, 你给出的实例, 并没有解决什么亟待解决的问题, just another toy |
87
Mutoo 2019-05-08 11:14:04 +08:00
专业搞程序语言设计的垠神准备设计个 Yin 语言,几年过去了也没见着。
https://segmentfault.com/a/1190000000504889 |
88
wuweijia 2019-05-08 11:15:37 +08:00
你这都不如那些一张 PPT 融资的~
|
89
Qiaogui OP |
90
Qiaogui OP 有几份文档是谷歌机翻的,本来想外国友人能帮忙的,无奈语言不通 o(╥﹏╥)o
|
91
jiangwei2222 2019-05-08 11:19:05 +08:00
吓了我一跳,你先学会全部编程语言吧
|
92
jiangwei2222 2019-05-08 11:20:39 +08:00
我曾经也有这么一个想法,然后去学了 c c++ php java python go js,然后现在在写 php python java js
|
93
javaluo 2019-05-08 11:26:32 +08:00 via Android
楼主态度很好,,推测可是可能低估了一项工程的复杂性,还低估了复杂场景下,你的最开始考虑的优点可能都变成了限制和包袱?
|
94
oops1900 2019-05-08 11:28:37 +08:00
楼主可以做几个项目试试,站在门外看可能觉得什么都简单。
|
95
googlecomhk 2019-05-08 11:33:49 +08:00 via Android
[SPAM REMOVED]
|
96
BCy66drFCvk1Ou87 2019-05-08 11:35:05 +08:00
@Qiaogui 不是搞低层的,但下载看了你发的文档,觉得还是很有想法的,lz 英语好的话可以试着到 reddit 或其他国外论坛发一下看看。后续如果有进展的话文档方面我还是可以帮忙的,英语自我感觉还 ok。
|
97
maplelin 2019-05-08 11:39:48 +08:00
建议先写一个几百页的企划,不然就自己动手做,不然别人根本不知道你要做什么
|
98
hpj 2019-05-08 11:40:02 +08:00 5
V2EX 第 409720 号会员,加入于 2019-05-07 13:24:30 +08:00
|
100
liuxey 2019-05-08 11:42:34 +08:00
标准的“理想很丰满,现实很残酷”
|