毕设小窥
上班以后就一直没搭理毕设的事情,结果可想而知,这两天连日的熬夜,上班都在打哈欠,呵呵。
不过,现在也是越来越能体会那句话:“编码其实很快,主要是设计慢。”这次毕设,设计比编码还不仅仅是慢一点!我从去年年底开始思考,直到上周才算正式敲定,编码倒是只花了两天(途中还抽空陪学弟学妹们玩了一下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
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的