kernelci.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Robert Schwebel <r.schwebel@pengutronix.de>
To: Tim Bird <tim.bird@sony.com>
Cc: Mark Brown <broonie@kernel.org>,
	Richard Purdie <richard.purdie@linuxfoundation.org>,
	"guillaume.tucker@collabora.com" <guillaume.tucker@collabora.com>,
	"kernelci@lists.linux.dev" <kernelci@lists.linux.dev>,
	"automated-testing@lists.yoctoproject.org"
	<automated-testing@lists.yoctoproject.org>
Subject: Re: [Automated-testing] kci command line poll: Click or Typer?
Date: Fri, 22 Sep 2023 09:24:29 +0200	[thread overview]
Message-ID: <ZQ1BLUfYiuXUicf2@pengutronix.de> (raw)
In-Reply-To: <BYAPR13MB2503C20593F85F7F641E42D1FDF8A@BYAPR13MB2503.namprd13.prod.outlook.com>

Hi,

On Thu, Sep 21, 2023 at 09:46:02PM +0000, Tim Bird wrote:
> Actually, I need to state that I actually like Python a lot, and it's
> my preferred choice for scripting languages. The main command line
> tool (and most of the other utility tools) in Fuego are in Python, and
> I've worked with it for many years. As Mark correctly says, it's the
> module ecosystem that drives me nuts, not the language itself, or the
> core libraries.

I feel your pain. I'm maintaining ptxintranet (our internal business
software for timesheets, invoices etc), a python+django codebase that
has seen almost 15 years of maintenance, and the whole "people change
stuff all the time" drives me crazy. One of the Linux key features for
me as an automation guy was always POSIX, that made it possible to move
away from proprietary microcontrollers to a standard interface, making
it possible to maintain critical control codebases over decades, which
is the timespan that the machine building & automation industry things
of.

However, these days one has to decide: Either for the fancy new world of
hipster code & languages (which all have their own packaging eco-
systems). Or for minimal environments such as POSIX+C or python-without-
the-packaging-ecosystem etc. Both have their advantages and disadvan-
tages, and you can't have it at the same time. With the hipster
languages, you can solve complex problems in a few lines of code. With
the low level variant, you have to invent-here all the standard things
the cool guys have with a handfull lines of code with a lot of effort,
and you have to maintain it over the time.

One thing I personally have learned is: If you use an ecosystem, use it
the way the original authors use it. Don't use it the way you think it
should be used. I tried to build ptxintranet on top of debian packets
for a while, and it was a desaster. Python developers don't care about
Debian, and Debian developers don't care about Python.

These days, my python stuff has a modern pyproject.toml based build
system with the usual pypy dependency mechanics, on top of *only* the
right python core version, using nothing else from the distribution. It
uses a sophisticated pytest testsuite with carefully maintained
coverage, and we follow the Django releases closely, with all the burden
of reading and understanding release notes, fixing test fails etc.

So I made my choice to follow the upstream way of life. It results in
quite some maintenance work, but at least for me, it doesn't feel like a
total desaster.

rsc
-- 
Pengutronix e.K.                           | Dipl.-Ing. Robert Schwebel  |
Steuerwalder Str. 21                       | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-9    |

  reply	other threads:[~2023-09-22  7:24 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-21  8:59 kci command line poll: Click or Typer? Guillaume Tucker
2023-09-21 19:41 ` [Automated-testing] " Bird, Tim
2023-09-21 20:17   ` Richard Purdie
2023-09-21 20:48     ` Mark Brown
2023-09-21 21:46       ` Bird, Tim
2023-09-22  7:24         ` Robert Schwebel [this message]
2023-09-22  7:59   ` Cyril Hrubis
2023-09-25  7:23     ` Guillaume Tucker
2023-09-25  7:12   ` Guillaume Tucker
2023-10-03  8:17 ` Guillaume Tucker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZQ1BLUfYiuXUicf2@pengutronix.de \
    --to=r.schwebel@pengutronix.de \
    --cc=automated-testing@lists.yoctoproject.org \
    --cc=broonie@kernel.org \
    --cc=guillaume.tucker@collabora.com \
    --cc=kernelci@lists.linux.dev \
    --cc=richard.purdie@linuxfoundation.org \
    --cc=tim.bird@sony.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).