毕设小窥

简介: 上班以后就一直没搭理毕设的事情,结果可想而知,这两天连日的熬夜,上班都在打哈欠,呵呵。 不过,现在也是越来越能体会那句话:“编码其实很快,主要是设计慢。”这次毕设,设计比编码还不仅仅是慢一点!我从去年年底开始思考,直到上周才算正式敲定,编码倒是只花了两天(途中还抽空陪学弟学妹们玩了一下ACM选拔)就基本上搞定,这几天主要是完善完善,让系统更稳定。 简单介绍一下我的毕设:这次的目标是设计并开

上班以后就一直没搭理毕设的事情,结果可想而知,这两天连日的熬夜,上班都在打哈欠,呵呵。

不过,现在也是越来越能体会那句话:“编码其实很快,主要是设计慢。”这次毕设,设计比编码还不仅仅是慢一点!我从去年年底开始思考,直到上周才算正式敲定,编码倒是只花了两天(途中还抽空陪学弟学妹们玩了一下ACM选拔)就基本上搞定,这几天主要是完善完善,让系统更稳定。

简单介绍一下我的毕设:这次的目标是设计并开发一门新的编程语言,用于并行程序的开发。这门新语言的名字还没来得及起呢,谁有空给它取一个?

因为我们的目标之一也是让大家容易学习和接受一门新语言,所以这门语言的语法大部分还是继承C语言的,哈哈。其中一项重点特色就是改进了结束符:C语言里,一条语句结束都是用分号“;”;而在我的新语言里,我另加入句号作为并行结束符,而分号的意义和传统的一致,代表是语句之间是串行关系。其实这也符合我们自然语言里的标点符号,分号表示我还没说完,而句号才表示一句话已经说完了。其他的特性,也就是一些类似“弱类型”、“关联数组”、“无限精度”等脚本语言的小甜品,呵呵。

看两个例子吧,^_^:

代码1:biginteger.sc

sum = 1;
for (i = 1; i < 100; i++) {
    sum *= i;
};;
println(sum).

结果1:

933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000

这段代码基本上都是用分号结尾(忘了说,这门语言里,块(大括号之间的内容)也是一条语句,所以也需要加结束符,而for语句也是一条语句,所以上面的代码里,for后面跟了两个分号)。代码的含义还是直观的,就是求99!,这段代码只是掩饰一下高精度运算的特性。

代码2:if.sc

/*
 * 有时是 True,有时是 False
 * 看谁先获得锁
 */
i = 1 on locking i.
if (i) {
    println("True");
} else {
    println("False");
} on locking i.

这段代码很有意思,它没用到随机函数,但执行结果却是随机的!其实这也就是并行编程让人很崩溃的地方,两个线程同时争夺资源时,你真的无法确定谁先谁后。

这段代码意思有两条语句(两个句号结尾),这么语言里,你使用变量无需声明,可以直接使用。对于字符串,默认值是空串;对于数字,默认值是0。而“on locking”是这么语言的两个关键字,出现在语句的尾部,作用么顾名思义,就是锁住对应的变量进行同步处理。

先透露这么多,呵呵,其他的有空再啰嗦。


版权声明

请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“redraiment”和主站点地址,方便其他朋友提问和指正。

联系方式

我的邮箱,欢迎来信(redraiment@gmail.com
我的Blogger(子清行):http://redraiment.blogspot.com/
我的Google Sites(子清行):https://sites.google.com/site/redraiment
我的CSDN博客(梦婷轩):http://blog.csdn.net/redraiment
我的百度空间(梦婷轩):http://hi.baidu.com/redraiment

目录
相关文章
|
8月前
|
设计模式 SpringCloudAlibaba 负载均衡
每天打卡,跟冰河肝这些项目,技术能力嗖嗖往上提升
前几天,就有不少小伙伴问我,冰河,你星球有哪些项目呢?我想肝你星球的项目,可以吗?今天,我就给大家简单聊聊我星球里有哪些系统性的项目吧。其实,每一个项目的价值都会远超门票。
106 0
每天打卡,跟冰河肝这些项目,技术能力嗖嗖往上提升
|
5天前
|
人工智能 开发框架 前端开发
适合假期自学一战成名的必看秘籍-五板斧打造AgentScope应用
本文写给有一定编程基础的学习者,得以入门 源码级 开发Agentscope应用,并上线创空间,参加AgentScope的应用开发挑战赛。
适合假期自学一战成名的必看秘籍-五板斧打造AgentScope应用
|
8月前
|
前端开发 JavaScript 小程序
预备金九银十,这套前端面试小册阁下请收好
预备金九银十,这套前端面试小册阁下请收好
58 0
|
10月前
|
运维 算法 架构师
又爆新作!阿里甩出架构师进阶必备神仙笔记,底层知识全梳理
据有关数据表明,目前Java程序员这个群体的数量不减反增,行业内的竞争也是越来越严重。在同一时间入行的人,经过一段时间的学习后,差距就会显示出来。其实出现这样的原因大多数都是因为学习的方向出了问题。大多数人学Java刚开始只是为了快速就业,但是在工作了之后却没有一个好的学习路线,那些其实很重要的东西只是因为工作上用不到从而忽略掉了,慢慢的才发现自己与别人之间已经存在很大差距了!
连夜整理七个开源项目:练手、毕设、接私活都不愁了
项目一:cloud-platform 学习重点: 服务鉴权中心 用户间鉴权 服务之间鉴权 springcloud组件大回顾
|
机器学习/深度学习 人工智能 Java
【C++】初窥C++
【C++】初窥C++
165 0
【C++】初窥C++
|
机器学习/深度学习 传感器 算法
毕业季快到了,在为毕业设计担心嘛?收下这份毕设知识大扫盲
毕业季快到了,在为毕业设计担心嘛?收下这份毕设知识大扫盲
319 0
毕业季快到了,在为毕业设计担心嘛?收下这份毕设知识大扫盲
|
监控 安全 网络安全
开发人员,怎能没有个人博客!开经络,识秘籍
开发人员,怎能没有个人博客!开经络,识秘籍
142 0
开发人员,怎能没有个人博客!开经络,识秘籍
|
XML 前端开发 Android开发
实战技巧-学会这一招让前端工程师都刮目相看
实战技巧-学会这一招让前端工程师都刮目相看
95 0