[CentOS-devel] Introduction to Cloud Programming with GreatFree

Mon Jul 17 07:05:06 UTC 2017
Bing Li <lblabs at gmail.com>

*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>