Re: Speed and efficiency of implementation languages ( was Re: Thoughts on directions for a rebooted SWICG)

Hi Benson,

Don't get me wrong I am not against other languages, it just may main area
of study, so I may be critical for that reason and also the reasingthat we
are approaching a climate catastrophe and as stewards of this planet we
need to migrate towards more efficient languages and solutions .

Answers inline ...

On Fri, 2 Dec 2022 at 08:47, Benson Muite <benson_muite@emailplus.org>
wrote:

> On 12/2/22 11:14, Aaron Gray wrote:
> > On Fri, 2 Dec 2022 at 06:23, Benson Muite <benson_muite@emailplus.org
> > <mailto:benson_muite@emailplus.org>> wrote:
> >
> >     It is possible to write efficient Ruby, but efficiency has probably
> not
> >     been the focus for Mastodon, developer productivity has likely been
> >     more
> >     important.
> Most Mastodon commits are by a single person:
> https://github.com/mastodon/mastodon/graphs/contributors


Yes I have looked at the commit history graphs. Most good projects are
generally initially created and guided by one person.

>
> >     One might also consider:
> >     * PHP - some activity pub implementations in this that could be
> >     extended)
> >
> >
> > Is an interpreted language
> Yes. But has wide adoptions. Easy to deploy on small shared hosting
> servers.
>

Its an incredibly bad language although popular due to historic reasons and
sheer momentum alone.

FaceBooks Hack is probably the most efficient implementation.


> >
> >     * Go - relatively light resource use
> >
> >
> > Go is a static compiled language, but is not very efficient (possibly
> > with or without use of its runtime coroutines for piping)
> It is designed for building web services, and very easy for someone to
> deploy.


Yes its a convenient language, all languages have their upsides and
applications.


> For example try running Mattermost on your Bannana Pi M3. There
> is a bit of a learning curve to development.
> >
> >     * Kotlin - may be helpful for mobile clients, but can also be used
> for
> >     server code
> >
> > Kotlin is JVM based, its a very good language, but again its running on
> > a VM, but it is relatively efficient, but not to the degree that
> > compiled languages like C, C++ or Rust are|)
> >
> > Apart from Java, JavaScript VM's are the most efficient VM's  of all the
> > VM's.
> It is ok if Javascript is your preferred backend server implementation
> choice. Who else do you wish to adopt it and possibly contribute to it?
> What is the overall purpose:
>

For me TypeScript rather than JavaScript is a good way to prototype systems
having the advantage of being static means it is relatively typesafe and
can then be used to migrate to a static language.


> Is the main aim to run a self hosted social media instance?
> Is the main aim to try experimental features?
>

Like Python and Rust there are a lot of pre-written libraries.


> >
> > See :-
> > https://haslab.github.io/SAFER/scp21.pdf
> > <https://haslab.github.io/SAFER/scp21.pdf>
> >
> A nice study.


Yes


> However, it is likely that the most time consuming part
> of a social media application with a moderate number of users will be
> interacting with a database and sending/receiving requests. These
> components will likely be in C/C++.
>

Depends on that social media/collaboration platform and what you are
actually doing with it and its level of functionality.

Each to their own :)

Regards,

Aaron


> > Aaron
> >
> >
> >     Other than moderation, one issue might be information credibility.
> On
> >     centralized platforms, it is possible to monitor fast spreading
> >     information and if it is not credible and can cause harm, counter the
> >     information and point out why it is not credible.  Allowing for
> >     services
> >     that check for false information can be helpful.
> >
> >
> >     On 12/1/22 22:23, Aaron Gray wrote:
> >      > a) I read VM code bases, V8 is far far more optimized than Ruby's
> >      > b) Installing Mastodon overheated my BananaPi M3 and shutdown it
> >     down !
> >      >
>
>

-- 
Aaron Gray

Independent Open Source Software Engineer, Computer Language Researcher,
Information Theorist, and Computer Scientist.

Received on Friday, 2 December 2022 09:18:32 UTC