Affiliation:
1. IBM T. J. Watson Research Center, Yorktown Heights, NY, USA
2. CWI, Amsterdam, Netherlands
Abstract
Full-featured integrated development environments have become critical to the adoption of new programming languages. Key to the success of these IDEs is the provision of services tailored to the languages. However, modern IDEs are large and complex, and the cost of constructing one from scratch can be prohibitive. Generators that work from language specifications reduce costs but produce environments that do not fully reflect distinctive language characteristics.
We believe that there is a practical middle ground between these extremes that can be effectively addressed by an open, semi-automated strategy to IDE development. This strategy is to reduce the burden of IDE development as much as possible, especially for internal IDE details, while opening opportunities for significant customizations to IDE services. To reduce the effort needed for customization we provide a combination of frameworks, templates, and generators. We demonstrate an extensible IDE architecture that embodies this strategy, and we show that this architecture can be used to produce customized IDEs, with a moderate amount of effort, for a variety of interesting languages.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference30 articles.
1. Azad Bolour. Notes on the eclipse plugin architecture. http://www.eclipse.org/articles/Article-Plug-in-architecture/plugin-architecture.html. Azad Bolour. Notes on the eclipse plugin architecture. http://www.eclipse.org/articles/Article-Plug-in-architecture/plugin-architecture.html.
2. Centaur: the system
3. X10
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Suppose You Had Blocks within a Notebook;Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments;2022-11-29
2. Workbench for Creating Block-Based Environments;Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering;2022-11-29
3. PAMOJA: A component framework for grammar-aware engineering;Science of Computer Programming;2021-11
4. Block-based syntax from context-free grammars;Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering;2020-11-15
5. Bacatá: a language parametric notebook generator (tool demo);Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering;2018-10-24