英语轻松读发新版了,欢迎下载、更新

构思一门新语言时,怎样超越面向对象思维?

尼克徐 发布于 2014年07月14日
无人欣赏。

最近正在构思一门新语言,然后思维陷入在面向对象里去了,觉得面向对象的继承,封装,多态等多么多么好用,可以避免重写代码等。

大家能否帮忙提示一下,如何走出面向对象思维?

在我的新的语言的构思里,会有类似结构体和集合(数组以及hashmap,队列等)的东西,但不会有继承。

我知道至少c语言的思维方式可以用上,可以封装方法来调用(复用)。除了这个想不起别的来了。

共28条回复
ithinco 回复于 2014年07月14日

你都做新语言了,难道不应该先了解各种设计范式吗?

尼克徐 回复于 2014年07月14日

1楼 @ithinco 哎,所谓时间紧任务重啊。

我做这些都是为了解决一些编程问题来的,不是研究型的,如果有更多的时间,我会尽情去探索几本书...

但这两三个月就得弄出个大概齐,至少原型得能跑起来。

kxdd2002 回复于 2014年07月14日

你把现在的语言榜top50都了解并学会后,这就不是问题了。哦,对,还有Io,prolog,lisp等等经典语言。

tinyfool 回复于 2014年07月14日

你为什么要做一个新语言?

kxdd2002 回复于 2014年07月14日

推荐我之前读的一本程序员进阶经典书,七周七语言。。。

经典不多说。

尼克徐 回复于 2014年07月14日

5楼 @kxdd2002 这是个好推荐!谢谢!

4楼 @tinyfool

目的:

1, 能更加快速高效的开发程序。

2,让秘书都能编程,解放我们这里的编程人力资源稀缺的问题。

简单的说,就是把excel的表格改造成了一门语言(不包括vbscript),在表格里可以赋值、定义和调用函数,并加上所见即所得的ui设计和事件处理。

力求让会excel的同学,一两天就会用这个来编程。

口号是:只要会excel就能写程序!

tinyfool 回复于 2014年07月14日

6楼 @尼克徐 哦,那你应该参考一些领域语言的资料吧

BBAO 回复于 2014年07月14日

楼主一直坚定的在蛋疼的道路上行走着,渐行渐远~

尼克徐 回复于 2014年07月14日

7楼 @tinyfool 谢谢推荐!

8楼 @BBAO 咳咳...

梦中醒不过来 回复于 2014年07月14日

好像离散数学是干这个的,熟练脚本编程的话这些都不是问题

nowherekai 回复于 2014年07月14日

写DSL,干嘛写个新语言,新语言肯定会复杂的, 再说了面向对象也很好用啊。

尼克徐 回复于 2014年07月15日

11楼 @nowherekai 主要是,小语言解析器已经弄过两个了,这次搞个好玩的。

董一凡 回复于 2014年07月16日

看一下几个函数式语言,这些语言和面向对象基本没有半毛钱关系,有些代码用函数式来写简洁的离谱:

  • SML(名字够酷,静态函数式,语法非常少)
  • Scheme(动态函数式,语法非常少)
  • Haskell(锻炼脑力不二之选)

个人推荐SML。个把小时就能看完核心语法了。

byunting 回复于 2014年07月16日

Microsoft Excel 会让你嵌入语言进去?VB Script 难道还不够简单吗?

尼克徐 回复于 2014年07月16日

14楼 @byunting

是借鉴excel的思路,在表格上建立一个语言。不是嵌入语言到excel中去。

该语言的语法很简单,只有表达式和函数。

尼克徐 回复于 2014年07月16日

13楼 @董一凡 谢谢推荐和提醒!我会关注一下Scheme,以前有些基础。

xiaotie 回复于 2014年07月17日

解决现实问题即可。比如,现实中,对语言有哪些哪些不满,然后动手去改造或创建新的。

尼克徐 回复于 2014年07月17日

17楼 @xiaotie 哈哈,这方面我是恨意满满。

cnsoft 回复于 2014年07月17日

可以考虑设计一些语法糖 哈哈.

athom 回复于 2014年07月17日

lz可以参考诺记的 robotframework 我记得可以通过在HTML的表格编写测试用例 个人感觉在表格里编程这种方式很奇葩,但是当时厂里的同事都很喜欢这种"可视化"的感觉~~ 另外它只是一种输入格式,不知道离你想要的语言还有多少差距,权当参考吧

尼克徐 回复于 2014年07月17日

20楼 @athom 多谢啊,这是个好玩的东东。

19楼 @cnsoft 嗯,语法糖这个还没来得及想。

在语法方面,限制语法只能包括函数和表达式,不加入更多需要学的东西。

数据嘛,就是表格里的格子。代码嘛,也在格子里。

然后设计一些ui控件,所见即所得的可以做界面和连接数据库。

争取让初学者半天就可以做出可以用的东西来。例如一个留言本,或一个小游戏之类的。

快速上手,轻松起步。

表面上很容易,内部实现却不会轻松。

会把表格里的东西,编译成机器代码来执行。

至于ui控件以及其他控件的开发接口,以及函数的开发接口,会留出来,供高级编程者扩展。

terencez127 回复于 2014年07月21日

21楼 @尼克徐 如果你们已经有一套写好的代码实现业务逻辑了,只是要设计个新的语法对应上去的话,也可以用一些工具写个翻译机,把新语言的代码翻译成旧语言的代码,比如可以用antlr写个编译器生成java代码。说是编译器,其实就是翻译机,工作量会比从0开始写个新语言要小得多。

tsiannian 回复于 2014年07月21日

有点浑浑噩噩,无病呻吟的感觉。不如从实际上入手,先解决一件有意义的事情,再推而广之。

mjahsz 回复于 2015年04月25日

首先,为什么不能使用OO思想呢?我想大概还是数据结构等各方面的原因使OO思想显得那么冗余或者有不直接的感觉,也许在这个层次上就是不适合使用OO思想。呵呵,也许我回答的不是你想问的。不过没关系交流么,我也是想到什么说什么,这是我刚看到的网站也是第一个回帖。

mjahsz 回复于 2015年04月25日

6楼 @尼克徐 很牛逼的想法,已经感觉出市场的味道了

尼克徐 回复于 2015年04月26日

25楼 @mjahsz 谢谢。由于一些事情,搁下了这方面的探索。

脑子里这个语言的原型还在,简单的实现一个不难,但想要做的漂亮些,需要两方面的补充。

一个是reactive programming方面的,另一个是执行表达式的流程控制方面的。

哎,希望有时间捡起来。

kasicass 回复于 2015年04月27日

你需要的是 Microsoft Workflow Foundation :-)。将业务点搞成一个个 workflow func,然后让业务人员拼写流程图。

要不就参考下 Unreal 4 的 blueprint,将代码可视化的一套东西。

hrong 回复于 2015年04月27日

@尼克徐 为何不用 excel 设计一套自动生成某种语言的傻瓜型程序 ,让你们公司前台在表单里填入程序逻辑,按个按钮,vba 就会按你的预设生成程序,你想生成什么程序由你定,bat 也行,java 也 Ok

本帖有28个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]