计算机科学 ›› 2014, Vol. 41 ›› Issue (7): 1-8.doi: 10.11896/j.issn.1002-137X.2014.07.001

• 综述 •    下一篇

SIMPLE:一种新型多范型程序设计语言

吴迪,陈林,徐宝文   

  1. 南京大学软件新技术国家重点实验室 南京210046 南京大学计算机科学与技术系 南京210046;南京大学软件新技术国家重点实验室 南京210046 南京大学计算机科学与技术系 南京210046;南京大学软件新技术国家重点实验室 南京210046 南京大学计算机科学与技术系 南京210046
  • 出版日期:2018-11-14 发布日期:2018-11-14
  • 基金资助:
    本文受国家重点基础研究发展计划项目(2014CB340702),国家自然科学基金项目(61170071),江苏省自然科学基金(BK2011190)资助

SIMPLE:A Novel Multi-paradigm Programming Language

WU Di,CHEN Lin and XU Bao-wen   

  • Online:2018-11-14 Published:2018-11-14

摘要: 为了满足越来越高的软件开发需求,许多通用程序设计语言扩充了各种新的语言设施,从而使语言变得复杂而难于学习和使用。为了创造一个核心概念简单明确、同时可以广泛用于各类开发的语言,设计了一种具有简明核心概念和丰富语言设施的程序设计语言SIMPLE。首先对SIMPLE语言进行概述,然后针对SIMPLE的模块化、泛型、内存管理以及异常处理等设施进行阐述。此外,讨论了如何将过程式、面向对象、函数式3种程序设计范型在SIMPLE中实现有机的融合。

关键词: 程序设计语言,语言设计,多范型程序设计,面向过程程序设计,面向对象程序设计,函数式程序设计 中图法分类号TP312文献标识码A

Abstract: Because modern static languages become increasingly complicated with too many extended constructs,we wanted a language with simple core concepts and wide applications.Therefore,we designed SIMPLE,a high-level programming language that possesses concise key concepts and abundant language constructs.We first introduced SIMPLE in a nutshell.Then some illuminating ideas on modular programming,generic programming,garbage collection,and exception handling were proposed.In addition,we discussed how to integrate procedure oriented programming,object oriented programming,functional programming paradigms in the design of SIMPLE.

Key words: Programming language,Language design,Multi-paradigm programming,Procedure oriented programming,Object oriented programming,Functional programming

[1] Sebesta R W.Concepts of Programming Languages(Ninth Edition)[M].Pearson Addison-Wesley,2010
[2] Hoare C A R.Hints on Programming Language Design[C]∥Proceedings ACM SIGACT/SIGPLAN Conference on Principles of Programming Languages.1973
[3] Hoare C A R.The Emperor’s Old Clothes[J].Commun.ACM,1983,24(2):75-83
[4] Pierce B C.Types and Programming Languages[M].The MIT Press,2002
[5] Wilson L B,Clark R G.Comparative Programming Languages(Third Edition)[M].Addison-Wesley,2001
[6] Jones R,Lins R D.Garbage collection:algorithms for automatic dynamic memory management[M].John Wiley & Sons,1996
[7] Goodenough J B.Exception handling:issues and a proposed notation[J].Communications of the ACM,1975,18(12):683-696
[8] Kiniry J R.Exceptions in Java and Eiffel:Two Extremes in Exception Design and Application[J].Exception Handling,LNCS,2006,4119:288-300
[9] Budd T A,Justice T P,Pandey R E.General-Furpose Multiparadigm Programming Languages:An Enabling Technology for Constructing Complex Systems[C]∥First IEEE International Conference on Engineering of Complex Computer Systems.1995
[10] Budd T A.Multiparadigm Programming in Leda[M].Addison-Wesley,1994
[11] van Roy P.Multiparadigm Programming in Mozart/Oz[C]∥Second International Conference MOZ.2004
[12] WG9.ISO/IEC 8652:2007(E)(Ed.3).Ada Reference Manual[M].2007
[13] Barnes J.Ada 2005Rationale:The Language -The Standard Libraries[M].Springer,2008
[14] Carlisle M.Automatic OO parser generation using visitors for Ada 2005[C]∥Proceedings of the 2006Annual ACM SIGAda International Conference on Ada.Albuquerque,New Mexico,USA,November 2006
[15] Schonberg S.Ada 2012Intrim Report[C]∥Proceedings of the 2010Annual ACM SIGAda International Conference on Ada.2010
[16] Barnes J.A Brief Introduction to Ada 2012[M].The GNAT Pro Company,2011
[17] WG9.ISO/IEC 8652:2012(E).Ada Reference Manual[M].December 2012
[18] Odersky M,et al.An Overview of the Scala Programming Language(Second Edition)[R].Technical Report LAMP-REPORT-2006-001.2006
[19] Matsumoto Y.Matsumoto Yukihiro code No Sekai[M].Nikkei Business Publicaions,2011
[20] Tate B A.Seven Languages in Seven Weeks:A Pragmatic Guide to Learning Programming Languages[M].Pragmatic Bookshelf,2010
[21] Beazley D M.Python Essential Reference(Fourth Edition)[M].Addison-Wesley,2011
[22] Lattner C,Adve V.LLVM:A Compilation Framework for Lifelong Program Analysis & Transformation[C]∥Proceedings of the International Symposium on Code Generation and Optimization.2004
[23] Scott M L.Programming Language Pragmatics(Third Edition)[M].Morgan Kaufmann Publishers,2008
[24] ISO/IEC DTR 19768[R].Draft Technical Report on C+ Library Extensions.2005
[25] ISO/IEC 14882:2011.Information Technology-ProgrammingLanguages-C [S].2011
[26] Sun Microsystems,Inc.JavaTM Platform,Enterprise Edition(Java EE) Specification,v5[S].2006
[27] Microsoft Corporation.C# Language Specification Version 3.0[S].2007
[28] Harper R.Programming in Standard ML(Draft:Version 1.2of 11.02.11)[S].2011
[29] Goodenough J B.Exception handling:issues and a proposed notation[J].Communications of the ACM CACM Homepage archive,1975,18(12):683-696
[30] 徐宝文.试论高级程序设计语言的设计与评价标准[J].南京航空学院学报,1987,19(2)

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!