*GreatFree? Cloud Programming? Why?* *Bing Li* *bing.li at asu.edu <bing.li at asu.edu>* GreatFree is a cloud programming environment I invented during the past seven years gradually. Using it, developers are able to program any distributed systems in any distributed computing environments rapidly and flexibly. To the best of my knowledge, this ought to be the first tool that attains this goal at this moment. You must not believe? If not, could you please tell me any other ones else? First of all, I need to define the term of programming from my prospective. Programming is the technology that offers developers the way to implement a software system with their knowledge in the specific domain only. According to that, when developers implement a distributed system, especially over the Internet, there is no such a tool, a programming environment or a programming language. Thus, two choices are always employed by them. The first one is to construct their systems over existing frameworks. Each of those frameworks focuses on one specific system only. Most domain-specific issues have already been resolved within the frameworks such that developers do not need to take into account them. Rather, developers work with script languages that are completely independent of the specific distributed environment. In contrast, another choice is to implement the system with a generic programming language. Unfortunately, this is a nightmare since they have to take care of not only domain knowledge of their systems but also thousands of details that have nothing to do with the specific domain. Although developers can implement distributed systems through the two alternative ways, simple or difficult, that is not programming from my perspective. Why is it so important to apply developers’ domain knowledge when implementing a software system? The answer is the freedom of development. Developers have the highest flexibility when programming distributed systems over the Internet with generic programming languages. However, it is too tough to tolerate such that only super guys might choose this way. We just forget about it. On the other hand, although it is convenient to do that with existing frameworks, developers lose almost all of the freedom to construct the system according to their expectations and knowledge since they are even not aware of any distributed issues. For consumers, that is fine. However, for developers, that is unacceptable. Without learning the internal structures, automobile developers are degenerated to drivers. Without grasping distributed knowledge, software developers can be replaced by high school students. Moreover, I believe programming with developers’ skills and knowledge is an activity full of joy. Proficient guys would like to manipulate a tool that provides them with rich options and choices rather than the fully-automatic one. Finally, from the academic point of view, it is weird that a programming tool is not available for the development of distributed system over the Internet. What scares computer scientists? With respect to the above discussions, I propose the tool, GreatFree, a new cloud programming environment, which allows developers to apply their distributed knowledge and skills as well as abandon any other irrelevant issues. Additionally, with its skillful designs, it also achieves the goal of rapid development. The concept of programming is realized in practice in the domain of the Internet distributed systems development. Now its initial version is available online. It is making progresses to push it to be the generic language for any distributed systems development. You are welcome to taste it. I appreciate so much for any suggestions! Finally, I need to indicate the relation between GreatFree and cloud programming. As one important instance of distributed systems over the Internet, no programming tools are available for cloud systems as well. Since it is so popular, I would like to entitle GreatFree together with the technology of cloud programming although GreatFree can also be used to program non-cloud systems. Incidentally, if you search the keyword, cloud programming, over the Web, you can get some results. Unfortunately, GreatFree is different from them in nature. Those stuffs look more like new generic languages with limited distributed features rather than the one to program the Internet-based distributed systems. You can get the presentation slides from the below link: *http://greatfree.lofter.com/post/1d231e0d_1069dcc5 <http://greatfree.lofter.com/post/1d231e0d_1069dcc5>* The APIs of GreatFree is as follows: *http://greatfree.0fees.us <http://greatfree.0fees.us>* The book and source code are downloadable at the link: *https://github.com/greatfree/Programming-Clouds <https://github.com/greatfree/Programming-Clouds>* Thanks so much! Best regards, Bing Li -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.centos.org/pipermail/centos-devel/attachments/20170717/c3427f43/attachment-0007.html>