在自然界,类似于男生女生的概念是很多的。如雄与雌,代码与数据,算法与数据结构。采用中国古代哲学里的概念可以称为阴阳或者两仪。今天我们探讨的问题是代码生成器中的这个问题。具体说来,我们分析的是代码生成器的效率与实用性问题。这就是代码生成器的操作和代码生成器里包含的生成的代码之间的关系问题。我称之为超级语言和高级语言问题。
当然,有些人可能说,不是所有的代码生成器有生成器脚本,或者说是超级语言的。的确,在现在的代码生成器界,有如下的常见做法,有些代码生成器是没有生成器脚本的,他们采用的是界面操作。有代码生成器脚本的代码生成器也很不一致。我的动词算子式代码生成器阵列采用的是名为SGS的代码生成器脚本,比较新的生成器成员支持和SGS语言有映射关系的Excel模板,最新的第三代动词算子式代码生成器光的版本甚至只支持Excel模板代码生成。关于SGS和Excel模板的优劣我会在乱弹十四中阐明。而其他人的代码生成器有其他做法,有的采用XML,采用JSON或者SQL或者其增强的也大有人在。
为什么说超级语言和高级语言的关系是代码生成器的根本问题。问题在于效率,在于劳动生产率,在于代码生成器存在和发展的客观逻辑。对于界面派我们可以分析出他们的问题所在。我能想到的问题在于重复工作。如果界面操作不能脚本或或可储存可修改在如下的场景下,会显得非常低效。比如说一位程序员使用界面操作的代码生成器生成了一套代码,他很有成就感,因为他用半天时间做完了两周的工作。他把工作成果展示给他的老板或者客户。期望得到他们的认可。于是悲剧产生了,审核者肯定了他的工作,但是希望部分改变数据库设计。如果,单纯使用界面,不借助文件或者数据库保存功能的代码生成器用户不得不重新使用界面操作一遍。这样就大大降低了代码生成器的实用性。
怎么办,我认为一共只有两种解决办法,使用数据库或者使用某种储存媒介。我是使用SGS文件或者Excel模板来表征一切的。对动词算子式代码生成器的用户而言,以上场景不构成障碍,因为,系统在代码生成物中自动保存了元文件。您可以根据审核者的意见,修改原始文件(SGS 脚本或Excel模板),轻松以迭代式的方式完成工作,不必从头开始。
所以,不能保存的界面流有待完善。而使用某种媒介的代码生成器其实都有一共共通的问题,您要做的动作和代码生成物的比数。当然,最好的代码生成器是这样的,您对他说:“我要一套物流管理系统!",他回答到:“好的,主人。已经为您生成好了。”比较不魔幻的代码生成器需要您比较详细的规格描述。显然,您的描述的越多,代码生成器的效率越低。那末,大家要问,代码生成器的描述到何种详细程度是平衡的比较好的?我的分析如下,程序,无非是代码和数据结构。一部分代码生成器要描述数据结构和施加在这些数据结构上的操作。我已经做到只需要定义参与代码生成的数据对象,所有的泛型操作都默认提供了。这就是本代码生成器乱弹一直在推荐的动词算子式代码生成器。
所以,我们得到了超级语言的概念,超级语言是编译生成高级语言的代码生成物的一类效率特别高的语言。他的等效的代码生产物的码量是超级语言的10倍乃至100倍。如此高效的代码生成器,是不是对应的高级语言的白马王子哦。
- 大小: 33.8 KB
分享到:
相关推荐
修复单类代码生成器4个问题。 2.新增创建加载数据库时,表名过滤功能。 3.表名生成命名规则,字符串替换功能。 4.模板中字段排序方法公开。 5.字段默认值函数的处理。 6.导出的sql脚本中,单引号 '的问题。 7.工具-...
目前和平之翼代码生成器SMEU 3.2.0版乌篷船正式版已发布, 此版本支持Service,Dao组件扫描,SGS初始数据导入,多对多初始数据导入,一对多动态标签等先进特性,新增在线文档:代码生成器技术乱弹,欢迎使用。...
对话框乱弹的小程序,点击开始后会不停弹300个大小不等位置不确定的对话框,伴随windows的一些报警声,很有节奏的感觉。
使用fiddler工具进行抓包,使用python进行osc乱弹抢沙发
into沙龙第期康国庆乱弹传统企业转型以及与互联网结合的方式PPT教案.pptx
随着Ajax技术的出现、盛行,本被忽视认为是二流编程语言的JavaScript脚本也开始了新的盛行,大量的JavaScript框架的出现如Microsoft Asp.Net Ajax、jQuery等。Ajax已经成为这些脚本框架必不可少的组成部分了,而且...
《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》.zip
《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》.doc
《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》-论文.zip
高级java笔试题 林氏物语.技术乱弹之hand in hand with antlr(md格式已乱请看列表中的dox版) 版权声明: 本文由林氏原创,遵循GPL许可,你可以自由地对本文进行任何目的的修改、转载、引用和发布,但基于此文所作...
技术乱弹之hive源码之词法语法解析(MD版格式已乱 请查看docx版) 第一章 前言 我们知道 hive是一个基于hadoop上面提供了类sql的接口的组件,以方便熟悉sql的人使用hadoop,对大数据的处理。限于精力,本文...
历史上曾有皮黄、二黄、黄腔、京调、京戏、平剧、国剧等称谓,清朝乾隆五十五年(1790年)四大徽班(三庆、四喜、春台、和春)四班进京后与京剧坛的昆曲、汉剧、乱弹等剧种经过五、六十年的融汇,衍变成为京剧,是...
Vb恶搞程序,逗您玩,关不完的消息框(弹出窗口),其实是能关掉的,只要你一直点下去,而且到最后还可以看到传说中的比尔盖茨,哈哈。程序是个小恶搞程序,对你的系统不会造成任何伤害,只是玩玩的,源代码开源。
1.5. 为什么自己按照例子写的代码,显示出来总找不到图片 1.6. 我们还需要什么? 2. 震撼吧!让你知道ext表格控件的厉害。 2.1. 功能丰富,无人能出其右 2.2. 让我们搞一个grid出来耍耍吧。 2.3. 上边那个是1....
今天就乱弹一番,如何使用动态编译动态生成WS服务调用的代理类,然后通过这个代理类调用WS服务。 首先,动态编译这玩意在.NET里面是非常简单的,实际上只涉及到两个类型:CodeDomProvider以及CompilerParameters...
第1章 设计的数据和分析 1 看不懂数据 2 不配看数据 2 为了看数据而看数据 2 不去筛选数据 3 不关注数据采集的方式和方法 4 只用定量数据,没有定性数据 5 设计中的数据分析 5 数据——判断淘宝店铺页面设计优劣的...
1.4. 为什么自己按照例子写的代码,显示出来总找不到图片 1.5. 我们还需要什么? 1.6. 入门之前,都看helloworld。 1.6.1. 直接使用下载的发布包 1.6.2. 只把必要的东西放进项目中 2. 震撼吧!让你知道ext表格控件的...
《5日精通CSS样式表》 EXE格式的教程,适合初级用户阅读,这是由一个CSS高手自己写的教程,因些没有那些比较老套的官方语言。本教程以天为章节向CSS新手介绍CSS的属性、常用要素的使用、CSS定位以及CSS兼容性的问题...