<div dir="ltr">














<p class="MsoNormal" align="center" style="margin-top:0.1pt;margin-bottom:0.1pt;text-align:center;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><b><span style="font-family:Arial;color:black">GreatFree? Cloud
Programming? Why?<span></span></span></b></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> <span></span></span></p>

<p class="MsoNormal" align="center" style="margin-top:0.1pt;margin-bottom:0.1pt;text-align:center;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><i><span style="font-family:Arial;color:black">Bing Li</span></i><b><span style="font-family:Arial;color:black"><span></span></span></b></p>

<p class="MsoNormal" align="center" style="margin-top:0.1pt;margin-bottom:0.1pt;text-align:center;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><i><span style="font-family:Arial;color:black"><u><span style="color:rgb(17,85,204)"><a href="mailto:bing.li@asu.edu">bing.li@asu.edu</a></span></u></span></i><b><span style="font-family:Arial;color:black"><span></span></span></b></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> <span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">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?<span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> <span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">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.<span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> <span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">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?<span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> <span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">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!<span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> <span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">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.<span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> </span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">You can get the presentation slides from the below link:<span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> </span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">        <u><span style="color:rgb(17,85,204)"><a href="http://greatfree.lofter.com/post/1d231e0d_1069dcc5">http://greatfree.lofter.com/post/1d231e0d_1069dcc5</a></span></u><span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> </span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">The APIs of GreatFree is as follows:<span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> </span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">        <u><span style="color:rgb(17,85,204)"><a href="http://greatfree.0fees.us">http://greatfree.0fees.us</a></span></u><span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> </span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">The book and source code are downloadable at the link:<span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> </span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">        <u><span style="color:rgb(17,85,204)"><a href="https://github.com/greatfree/Programming-Clouds">https://github.com/greatfree/Programming-Clouds</a></span></u><span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> <span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">Thanks so much!<span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black"> </span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">Best regards,<span></span></span></p>

<p class="MsoNormal" style="text-align:justify;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-family:Arial;color:black">Bing Li<span></span></span></p>

<p class="MsoNormal"><span> </span></p>

</div>