脚本语言, 领域语言与软件自动构造

本文探讨了领域特定语言(DSL)的特点及其在软件开发中的作用,并对比了面向对象语言与脚本语言的优势,提出了在特定领域内定义标准语言的重要性。

我对MDA一向不太关心它的层次结构以及转换方法,因为最重要的而且最难解决的是领域语言,如何让开发者制定最合适的领域语言才是关键。SQL是一种领域语言,它只对关系数据库进行一般操作,而且有标准的语法,世界通用。操作系统的的shell语言也是局限在宿主操作系统中的领域语言,他们的共同特征是:
1。局限在某一领域
2。不包含或很少包含界面,大多采用command line交互
3。开发者很容易掌握,说明他们很好的描述了这个领域的特征
4。基本命令都是上下文无关的服务,命令的粒度有大有小,很容易组合。
5。命令格式包括:命令名称,操作对象,操作选项,当然和普通的函数表示也没有太大差别,但是可读性就好多了,更何况在使用时还有帮助显示


今天本来想再写一点关于面向对象语言的缺点,在搜集资料的时候突然翻到这个帖子:

脚本语言:21世纪的高级编程语言 http://www.tclchina.com/article/translation/scripting_21/jiaobenbiancheng_cn.htm
Scripting: Higher Level Programming for the 21st Century
http://www.tclchina.com/article/translation/scripting_21/jiaobenbiancheng.htm

发现我的想法和作者的还是比较相近的,作者提到的很多观点都和我每天在公交车里遐想的差不多。而且作者确实做了一些面向对象语言和最近流行的脚本语言之间的比较,就更有说服力了。

每一次程序语言的变革就像资本论中生产力和生产关系的发展一样,程序语言代表生产关系,软件工程代表生产力,当软件项目越来越复杂,程序语言也需要不断变化以提高开发效率,降低开发风险。具体到语言结构上,基本反映在以下几个方面:可读性,可重用性,可扩展性。

C++,Java等语言至少还将统治计算机领域十年,以后是否会成为脚本语言的天下也很难说,然而可以肯定的是,现在开发中遇到的很多困难可以在语言层面上得到解决,比如C++中的悬挂指针,Java中的NullPointerException,在新的开发语言中将转化成更容易被处理的形式。整天埋头坐在电脑面前调试的程序员将成为稀有动物。

对于嵌入式领域,即使脚本语言可施展的空间很小,也并非没有用武之地。手机中的软件动辄几十万的代码也是很正常的,维护最基本的一行一行的代码是一件很痛苦的事情,不仅工作量大,还要冒着引入新问题的风险。相反换一个思考方向,手机软件是一个相对固定的领域(至少相对PC是这样),定义一套这个领域内部的标准语言,一边整合内部的程序,一边向用户开放接口,将非常有助于提升企业的竞争力。
 
### 回答1: 是的,我知道。 程序员可以通过多种方式私活。其中一种方法是,程序员可以自己寻找客户,并根据客户的需求完成相应的开发任务。这种方式通常是通过网络平台、社交媒体或者个人网站来寻找客户。 另一种方法是,程序员可以通过加入自由职业者网站或者加入自由职业者团队,为不同的客户提供开发服务。这种方式通常会提供一定的帮助和支持,帮助程序员寻找客户和完成任务。 无论选择哪种方式,都需要程序员具备良好的技术能力和良好的沟通能力,并且要充分考虑自己的能力和时间,避免承担过多的任务。 ### 回答2: 程序员如何私活这个问题确实是一个很重要的话题。首先,程序员可以通过以下途径来私活。 1.建立个人品牌和专业形象:程序员可以在专业社交平台上展示自己的技术能力和项目经验,如GitHub、LinkedIn等。定期发布自己的项目和代码,以建立自己的个人品牌。 2.参加技术社区和活动:积极参与技术社区和活动,如技术讨论会、行业研讨会等。这将提供机会结识潜在客户和合作伙伴。 3.建立良好的口碑和信誉:通过提供高质量的代码和解决方案,积极与客户沟通和合作,建立良好的口碑和信誉。满足客户需求,并提供优质的售后服务。 4.通过网络平台接单程序员可以注册在一些程序员私活的网站上,如猪八戒、码市等。这些平台提供了一个集中的市场,可以让程序员找到潜在的项目机会。 5.与设计师和产品经理合作:与设计师和产品经理建立良好的合作关系,跟随他们的项目,受他们的推荐和介绍。他们通常有更多的项目资源,并为程序员提供更多的私活机会。 6.维护好现有客户关系:通过给现有客户提供更多的增值服务,拓展他们的业务需求,并保持良好的沟通,维持好现有的客户关系。好的客户口碑和推荐,将帮助程序员到更多的私活。 在私活的过程中,程序员应当明确自己的技术范围和能力,并选择适合自己的项目。同时,合理安排时间和资源,设定合理的价格和工期,以保证完成高质量的工作。 总之,程序员私活需要建立个人品牌、参与社区和活动、建立好口碑和信誉、通过网络平台接单、与设计师和产品经理合作、并维护好现有客户关系,以获得更多私活机会。同时,要始终保持专业性和高质量的工作,以赢得客户的信任和口碑。 ### 回答3: 程序员私活是指在个人时间或业余时间,受他人或企业的个人编程项目或任务。下面是程序员私活的一般步骤和方法: 1. 个人技术准备:作为程序员,首先需要具备良好的编程技术和相关领域的知识,并不断学习和提升自己的技能水平,以应对不同的项目需求。 2. 建立个人品牌和口碑:在私活之前,可以通过开源项目、技术博客、社交媒体等方式展示个人的技术实力和专业素养,吸引潜在客户的关注,并积累良好的口碑。 3. 寻找项目机会:可以通过多种渠道找到私活项目,如在技术社区、论坛、招聘网站发布自己的技术能力和活需求,并积极参与社区讨论和技术交流,结识潜在客户。 4. 确定需求和报价:与客户沟通明确项目需求,了解时间要求、功能要求和预算等因素,并根据项目的复杂度和工作量进行报价。 5. 签订合同和支付方式:在项目开始前与客户签订合同,明确双方的权责和项目交付标准,并商定付款方式和进度。 6. 开展项目工作:根据项目需求,合理规划工作进度,按时完成各个阶段的任务,并与客户保持沟通,及时解决问题和反馈进展情况。 7. 进行测试和修复:完成项目后进行测试和调试,确保软件的稳定性和可靠性,并根据客户的反馈进行必要的修复和改进。 8. 项目交付和售后支持:按照合同规定将项目交付给客户,并提供相应的文档和培训,确保客户能够顺利使用。在项目后期,提供必要的售后支持和维护服务。 尽管私活可以获得额外的收入和个人技术成长,但需要注意合理规划时间、合法合规操作,并与客户保持良好的沟通和合作关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值