Newbie questions about Pliant

Newbie questions about Pliant

More forums, or messageboard

What about adding more forums, maybe messageboard?
Message posted by szamo on 2001/11/12 03:01:24
First of all I agree that the 3 current forums are necessary (announcements,
code, newbie quuestions). I was thinking and realized even if i will work
on/with Pliant, there is no efficient way to communicate to other programmers,
coders, authors, whatever anyone is doing. All i can see at this moment is
using emails, or the current 3 forums. Well, what i am talking about is adding
somehow some more stuff to increase communication level. I know most of the
high level coders are from France, however probably it won't last forever (in
good case since it becomes really international :-). Maybe you can share info
much easier since living in same country, but what about foreigners. Assuming
that these foreigner coders (including me) exceed the status of being newbie,
only the code forum can be used. Right, maybe it's enough for now, but what if
a need arises for an other one, and another one? Can new forums be added
easily? Who has the rights to do it (probably he sysadmin)? I just suggest that
this communication possibility should be made more flexible, for example
certain users could create forums, or whatever idea you have. Just mentioning
that i am a (more or less only) coder of a big project, however the team has
about 10 members, and we have like 6 constant boards, and eventually a few
more, and it works quite well (of course it's a different project, but you got
my point).
Message posted by maybe Patrice Ossona de Mendez on 2001/11/12 09:48:45
There is the possibility of creating new forums. The right to create a forum needs
administrator right, but some forum adminstration tasks may be done with a lower
right. If more forums are needed, they will eventually be created (this is a
few second task).
Message posted by maybe Patrice Ossona de Mendez on 2001/11/12 09:50:51
Remark: there are two other forums accessible by the link 'Pliant forums':
The 'Pliant journal articles submission forum' and the 'Pliant core team forum'
(visible only by core team, sorry).
Message posted by michel on 2001/11/12 14:12:48
Naray said "Maybe you can share info much easier since living in same country,
but what about foreigners."
Do you really think that french people who want limit their dicussions between
french people have chosen english language for their forum ?
Message posted by hubert.tonneau on 2001/11/13 22:38:37
Short answer:

I like the idea of a forum dedicated to sharing experiments about using
Pliant for true work.
Right now I was thinking more about the Pliant journal in order to explain
how to do typical tasks with Pliant, because I'm still mainly focusing how
to help people mastering Pliant, but the forum for direct user to user
informations sharing seems also very valuable, and might be the most
important thing over the long run.

Now, if at some point one single new forum get's not enough, then one can
run the Pliant HTTP server locally (provided you have fixed IP and permanent
connection to the Internet) and open more specific forums (the forum code is
part of Pliant standard code). This is what we do in Heliogroup, and we
have quite a lot of internal forums.


Long answer:

What your question is raising is the Pliant development model, and it does
because the current one is not satisfying (I had many words about it during
the last ASPIC in april, but it's still largely on the way).

Basically, before Pliant, you had to choose between the low level languages
efficiency (C) or higher level ones (Lisp, Python, etc)
Most big projects choosed low level efficiency because it was the only solution
granting that the project would not be locked at some point (when one uses high
level language and suddenly get efficiency problems in one area, one looses all
the benefit of the high level language very fast, and even more).

As a result, most advanced applications (the ones used for true production)
end with the core beeing written in a low level language, and providing an
interface with a scripting language for providing a kind of high level access
(SQL for database, Basic, Java or Lisp like scripting for the desktop)
The end result are monster applications (using the low level language for all
the core application leads to very long full of bugs code), and the scripting
language remains in the toys area because it lacks low level efficiency and
has limited access to the core parts of the application.

Now, with Pliant we have a strong base:
. can be even more low level than C
. built in Lisp like code generator
. reflexivity at all levels for per application enhencements within the
  general framework
. dynamic compiler suppress the hugly make and linker nightmare
so, if you see a typical Pliant application, most of the code is truely
usefull (whereas with C based projects, most of the code is glue)

... but the strong base is the result of rethinking everythink rather
than improving just one area (what most people don't understand is that
a language is an altogether thing rather than a set of unrelated features),
and it has two bad consequences:
. the development environment is very different (the dynamic compiler is the
  run time environment so it's a bit desapointing at first, and it brings
  some constrains of it's own such as managing precompiling) so it's
  desapointing for experimented programmers
. most well known and very mature applications suddenly get completely
  outdated from the design point of view

So it brings the first huge question related to Pliant project:
Is Pliant a language that enables to better write some specific applications,
or a new overall system (just like GNU system is the free Unix like overall
operating system) ?

My answer has been the second option, and here are the main reasons:
. I'm not happy with the crazy set of well known available applications
  (nobody can read the code of a Debian GNU system in order to really master
  it) and I think using so huge applications is not good over the long
  run (customizing tiny applications is more productive). I'm more convienced
  about a Minix like point of view: a good system is a system you could study
  in deap details during the let's say three years of your computing high
  school
. if you want to proove (or finish) the good design of a language, then you
  have to build an overall system with it so that you can face most computing
  needs, not only a fiew carrefully selected ones
. most high level applications can greatly benefit from a set of clean standard
  applications in Pliant project so that only specific parts need to be
  developped

On the other hand, my point of view is that Pliant is right now mostly
insteresting as a language for new developments because it can significantly
reduce the development and 'turn it to truely stable' cost.
As an overall system, it still lacks maturity.

As a summary, Pliant is currently facing two very different directions:
. Pliant project is targetting overall because it's the best way to polish
  the language.
. Pliant users (including Heliogroup) mainly use Pliant because it's a
  superior development environment. For applications, it's still on the way.
The same question applies to your 'users forum': does it apply to Pliant
as a development tool, or Pliant as an overall system ?

Right now, the language part is mostly stable, and since Patrice reached
master level in this area, he his now handling most of the changes in the
core compiler engine. I'm manly focusing on applications.
Anyway, here are the still bad points I currently see about Pliant project
structure:
. I make tones of changes to the tree locally, then upgrade everything as
  a new release from time to time, so that it's not easy for others to see
  what's changing from day to day (and potencially send complains or extra
  improvements).
  One reason of such a process is that I still lack a permatent Internet
  connection at home (where I work) since I live in Briare (France) and our
  national telco is late with connecting Briare with ADSL, and was not
  required to provide a decently priced permanent connection over the old
  ISDN technologie. Might be solved in 2002.
  Another one is that as long as I'm the main contributor for most applications,
  the development process is mainly Heliogroup centered.
. this year, Patrice reached master level about Pliant, and the core language
  implementation now start to benefit from his in depth study and improvements.
  On the other hand, he likes phone, and he is not far from me, so many
  interesting informations did not end on the Pliant web site.

Now what I've said at ASPIC 2001 is that I'm ready to help the fiew first
organizations that want to do true developments or deployements with Pliant
get master level, and the price for it is that they would have to write down
what I've explained (maiby on the phone or three physical meating) so that the
information get's available on the web site.

What I've also specifyed at ASPIC 2001 is that Pliant project is expected
to cover all computing areas (remind that I've just said that it's a way
to stress test the language), but neither focus mainly low end users, nor
provide past compatibility. So the IDE and interfacing with well know
existing applications is outside the Pliant core project.
External companies may decide to provide some of it as a GPLed contributions,
or as non free products (assuming that the GPL license of Pliant does not
prevent some applications to be not GPL, just like with GCC or Linux
kernel).

Lastly, the clear point is that Pliant is designed for true production
applications, so people that do true applications with Pliant are the
ones that will specify how Pliant will evolve, according to the problem
they face, more that any others.

So, if the question is: Is Pliant project ready to modify it's way of
operating according to true users need, the answer is clearly yes
because they are the ultimate goal of the project.
Anyway, it cannot append until we have true users. What I call a true
user is an organization that has at least one developper doing full time
Pliant. I don't mean a developper working fulltime for Pliant project,
but a developper working fulltime with Pliant.
What is the reason for such a constrain ?
Here at Heliogroup, all the key services are provide by Pliant (DNS,
SMTP, database, backup, etc), so in order to provide as good feedback,
another organization needs to also have at least one guy doing Pliant
fulltime.
The general idea is the more you do with Pliant, the more you are facing
the true problems with Pliant language and applications design, rather
than the learning curve ones, so the more your feedback is important
for the futur developments.
Low end users feedback is very usefull, but mostly in order to help
improve the installation and setup process, so it's not enough.

I find valuable to start myself most standard Pliant applications because
it brings Pliant an overall high consistency, and most of all, starting an
application is what requires the highest mastering of the language,
what's still not widespeaded about Pliant.
On the other hand, transmitting some parts to organizations with higher
usage level (as an exemple transmitting the SMTP server to an organization
that handles many mails) than Heliogroup ones seems the right direction to
follow.
Now for organizations that do specific developments, the same applies,
but the link is with Pliant core language.

As a conclusion, having Pliant project switch to a set of Pliant users that
drive the general code design to better match their production (and development)
needs seems the right direction. It will require much more users
communication and a 'users' forum is probably the way to start with.
On the other hand, it cannot append until we have some organization with
advanced Pliant users (guys doing Pliant fulltime) because until then,
Heliogroup is the leader user, so the communication does not go through
the web.


You could see it the other way round as well:
Pliant success will depend about the ability to switch to a communauty
of advanced users. The reason is that it will be abble to catch up with
the leader Unix applications maturity only if some users put it at hard
work, what Heliogroup, with it's less that one hundread users cannot do
in all but fiew areas. 
Also more development power within Pliant project would help, it's not
the currently highest constrains, as opposed with most other free softwares,
because much of the development power is within the language.
Advanced users with precise feedback is the key issue for Pliant.


Anyway, I've been mostly working standalone, so I'm not that much
experimented with team working, so people dealing with progamming teams
for year may provide me very valuable advises.

PS: I'm on hollidays this week, so I may be long to answer.