免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: CUTianrui007
打印 上一主题 下一主题

设计属于自己的编程语言你有何高见吗? [复制链接]

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16赛季CBA联赛之浙江
日期:2016-11-05 14:38:4115-16赛季CBA联赛之新疆
日期:2016-11-11 18:38:06
11 [报告]
发表于 2015-05-13 18:30 |只看该作者
forgaoqiang 发表于 2015-05-13 09:14
有些是可以做 但是不是一个人能做好的 比如 《自制操作系统》 啥的


操作系统大多也是从一两个人起步的,开始的规模可以小一点,逐步升级做大。。。

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16赛季CBA联赛之浙江
日期:2016-11-05 14:38:4115-16赛季CBA联赛之新疆
日期:2016-11-11 18:38:06
12 [报告]
发表于 2015-05-13 18:37 |只看该作者
laputa73 发表于 2015-05-13 14:02
巴比伦之塔。。。
我觉得最理想的是一种语言包打天下
既能写底层,也能写应用,


没有这种万能语言,因此会产生来应对各种需求的编程语言。

中国当然也要抓紧研发,编程语言无论是数量还是质量,两手都要抓

论坛徽章:
15
2015七夕节徽章
日期:2015-08-21 11:06:172017金鸡报晓
日期:2017-01-10 15:19:56极客徽章
日期:2016-12-07 14:07:30shanzhi
日期:2016-06-17 17:59:3115-16赛季CBA联赛之四川
日期:2016-04-13 14:36:562016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-01-28 06:20:0015-16赛季CBA联赛之新疆
日期:2016-01-25 14:01:34IT运维版块每周发帖之星
日期:2016-01-07 23:04:26数据库技术版块每日发帖之星
日期:2016-01-03 06:20:00数据库技术版块每日发帖之星
日期:2015-12-01 06:20:00IT运维版块每日发帖之星
日期:2015-11-10 06:20:00
13 [报告]
发表于 2015-05-14 09:21 |只看该作者
这个太高端了,我没看过龙书,随便扯淡一下:
1、设计一问语言,你打算借鉴当前语言的哪些机制?为什么要使用这些机制?你的目的是什么?
当前的语言大多几个流派,很多是从数学的角度出发,无论是面向对象还是函数式编程,都太多复杂。如果我能设计我会从人的思考角度出发来设计,当前语言有很多机制,我比较欣赏的是actor模型,这个机制比较符合人的思维,目的是实现类似多线程且无需复杂的同步机制

2、语言的实现和编译器密切相关,你打算如何实现编译器?请仔细描述至少一项语言机制的编译器实现方式。
实现编译器首先要定义语法和词法的标准,我相信如果精通flex/bison都能轻松解决,然后实现就是对应语法的实现,我称之为翻译,简单做可以讲这个语法转换成C语言,这个是水磨工夫,说句实话,我曾经想做一个简单的类SQL的东东都花了很久时间最后不了了之

3、你打算如何设计对象内存布局?这个和语言机制有什么关系?
这个从来没想过,我觉得除了要做垃圾回收,否则可以直接用现有的如C/C++的对象内存布局

4、如何处理同步异步?
这个我想大致可以用内存屏障或自旋锁等OS的特性来实现同步,异步可以使用回调来做,不过我还是比较喜欢actor机制

论坛徽章:
0
14 [报告]
发表于 2015-05-15 11:17 |只看该作者
1、设计一问语言,你打算借鉴当前语言的哪些机制?为什么要使用这些机制?你的目的是什么?
   要借鉴的多了,C语言的简洁,C++类STL的数据结构封装,java的虚拟机,甚至动态语言的动态加载、解析机制
   为什么要使用这种机制?因为都可以在某些场景下,减轻使用者的工作量,这些机制其本质都是对某些公共功能的封装
   甚至语言本身都是公共功能的封装,比如C语言所有能实现的功能,都可以用汇编实现,可是并非所有功能都必须要用汇编实现。
   我的目的很简单-省事

论坛徽章:
0
15 [报告]
发表于 2015-05-15 11:17 |只看该作者
2、语言的实现和编译器密切相关,你打算如何实现编译器?请仔细描述至少一项语言机制的编译器实现方式。
   编译器的实现,如果走捷径,就用flex/bison来根据语法生成编译器,这样只需要关于词法、语法的定义
   如果实现部分也要自己写的话,那就先分析flex/bison-推荐<lemon语法分析生成器>这本书,然后就是把flex/bison做的事情,
   自己手工实现一遍,手工实现最好采用自顶向下分析法-这种分析法比较符合人的逻辑,逐步分解类似递归实现。
   如果采用自底向上分析,状态实在太多,太杂,还是建议借助语法分析生成器吧

论坛徽章:
0
16 [报告]
发表于 2015-05-15 11:20 |只看该作者
3、你打算如何设计对象内存布局?这个和语言机制有什么关系?
   在回答中,包含不良信息,无法提交。
   
   

论坛徽章:
0
17 [报告]
发表于 2015-05-15 11:20 |只看该作者
本帖最后由 gavenwei 于 2015-05-15 11:21 编辑

3、你打算如何设计对象内存布局?这个和语言机制有什么关系?
   在回答中,包含不良信息,无法提交,没看出哪里有不良信息。难道对象+布局 就成了不良信息?
   
   

论坛徽章:
0
18 [报告]
发表于 2015-05-15 11:20 |只看该作者
4、如何处理同步异步?
   编程语言没必要处理同步异步的问题吧

论坛徽章:
18
卯兔
日期:2013-09-27 17:41:0615-16赛季CBA联赛之佛山
日期:2016-07-09 17:34:45操作系统版块每周发帖之星
日期:2015-12-02 15:01:04IT运维版块每日发帖之星
日期:2015-12-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-07 06:20:00IT运维版块每日发帖之星
日期:2015-10-03 06:20:00IT运维版块每日发帖之星
日期:2015-10-01 06:20:00羊年新春福章
日期:2015-04-01 17:56:06拜羊年徽章
日期:2015-04-01 17:56:062015年迎新春徽章
日期:2015-03-04 09:49:452015年辞旧岁徽章
日期:2015-03-03 16:54:15天秤座
日期:2015-01-14 06:39:28
19 [报告]
发表于 2015-05-16 16:47 |只看该作者
高大上..................

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
20 [报告]
发表于 2015-05-17 17:40 |只看该作者
C语言跟硬件打交道时比较强大,但是入门比较难,指针虽然强大,但是现实中把不少人都淘汰掉了,特别是到了结构的时候……
到了结构再向上走,就到面向对象了,这是c++和java的主要领域,但是java提出那些设计模式,又把一些本来很小巧的应用搞的很复杂……
js+html有时不是给人看的,但浏览器却比较喜欢;perl文本处理强大,但效率稍差;prolog推理性强,但普通应用起来比较麻烦

每种语言都有自己适合的环境,很难有万能的语言。所以要设计属于自己的语言,要看自己的应用环境,就像车一样,在城里跑轿车就不错,越野车就是摆谱;在戈壁滩跟用轿车就惨了;在乡村路土上,五菱之光就不错;在田里跑,拖拉机或履带车吧。

语言的设计,跟用户接触到的就是语法,我本人觉得越容易读懂越好,像java那种,五个点都不到头,熟悉的项目还好,学习新的项目比较麻烦。为什么basic容易入门?因为语法简单,写出来的作品也容易分析。C如果没有指针和一大堆的define,也还是比较好学的。

语法向后,已经编译原理了,太高深,看过几遍也没什么印象了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP