From: DEGREMONT Aurelien <aurelien.degremont@cea.fr>
To: lustre-devel@lists.lustre.org
Subject: [Lustre-devel] Language choice for Lustre tests
Date: Wed, 24 Oct 2012 18:30:43 +0200 [thread overview]
Message-ID: <508817B3.6010008@cea.fr> (raw)
In-Reply-To: <5087AA89.9040000@xyratex.com>
Hello
I've developed in Perl and Python for several years in both languages. I
enjoyed both.
Regarding starting a new project, for testing framework, here is several
points which are the key points for choosing the right language.
- Longevity
Perl as a long history behind it, is available in all distros, that's
true. But Perl is there for compatibility for running projects which
were starting a long time ago. Nobody is starting a really big and fancy
project in Perl nowadays. All new hackers are only speaking of Python or
Ruby. You will not attract contributors with Perl. Perl 5 is very
compatible because no new changes is really added to this language.
And do not tell me that Perl 6 is coming. If Perl 6 is an option, then
there is no issue with Python 3 and forget your compatibility.
- Compat
Developping in Python, for a large number of environment means coding
for Python 2.4+. This will run nicely on Python up to 2.7
As long as only Python 2 only is concerned, compat for Python is fine.
But I agree that Python 3 is coming, and at long term, it should be
taken in account even if no major distro is using it right now.
(No Python 3 before RHEL7 or next Ubuntu LTS (14.04))
-Lustre is for system people
Lustre is developped by system guys, which mainly use vim or emacs to
develop in Lustre. Very few of them are using IDE or stuff like Maven.
Population developing Java with Maven is the exact opposite of guys
coding in C, for Kernel code. Moreover, JVM are awful to install
regarding a standard Python, Perl or Ruby interpreter in all major distro.
My choice would go for Python 2 with a clear path to migrate to Python 3
when needed (in 1 year)
Aur?lien
Le 24/10/2012 10:44, Roman Grigoryev a ?crit :
> Hi Kilian,
>
> if you want I could try to explain why not bash from my point of view.
>
> I agree that bash is language which could be used for test frameworks
> and test-framework.sh prove it. But some
> bash feature make current framework support pretty hard. For example, I
> don't see good way to use bash unit tests for test-framework.sh
>
> More structured requests:
>
> 1) Language features. Perl/Python/Java has many features which allows
> simple write complex logic (OOP,AOP and so on)
> 2) Pretty wide set of libraries.
> 3) powerful and useful unit test frameworks.
> 4) support tools, e.g. inline documentation, schema generator based on
> code, coverage collectiors, copyright checkers
>
> Ubuntu is building by Intel
> (http://build.whamcloud.com/job/lustre-b2_3/), so looks like it is
> important platform.
>
> Thanks,
> Roman
>> Hi Roman,
>>
>> On Wed, Oct 24, 2012 at 8:31 AM, Roman Grigoryev
>> <roman_grigoryev@xyratex.com> wrote:
>>> RH5 has only python2.4, SL61 has python2.4 and python2.6, and looks like
>>> only last Fedora will have python3.
>> I agree that inter-version compatibility could be a problem with
>> Python. But to take this argument literally, the best way to avoid
>> compatibility issues is to use the widest-spread and most version
>> consistent language across supported distributions, ie. bash.
>>
>>> In same time, Ubuntu says that from next
>>> release want to have only Python 3.
>> Since only RHEL, CentOS and SLES are supported, should we really care
>> about python versions in Ubuntu?
>> When installing Lustre in Ubuntu, users already have to do their own
>> packaging, so I'm not sure that having to install a specific version
>> of a scripting language would make much of a difference.
>>
>>> Now Lustre tests compatibility for wide set of system is solved by shell and
>>> standard utilities. Perl also has great
>>> compatibility history, many scripts could work on latest version as 10 years
>>> ago. It is reason why I see Perl as
>>> good decision.
>> So what's wrong with bash again? If it's just "too flexible, easy to
>> abuse", I'm afraid there's little in Perl to prevent falling into the
>> same pitfalls. :)
>>
>> Cheers,
> _______________________________________________
> Lustre-devel mailing list
> Lustre-devel at lists.lustre.org
> http://lists.lustre.org/mailman/listinfo/lustre-devel
next prev parent reply other threads:[~2012-10-24 16:30 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-23 18:36 [Lustre-devel] Language choice for Lustre tests Nathan Rutman
2012-10-23 19:39 ` Jacques-Charles Lafoucriere
2012-10-23 20:31 ` [Lustre-devel] [lustre-devel] " Bruce Korb
2012-10-24 6:31 ` [Lustre-devel] " Roman Grigoryev
2012-10-24 7:18 ` Kilian Cavalotti
2012-10-24 8:44 ` Roman Grigoryev
2012-10-24 16:30 ` DEGREMONT Aurelien [this message]
2012-10-24 20:32 ` [Lustre-devel] [lustre-devel] " Christopher J. Morrone
2012-10-23 20:05 ` [Lustre-devel] " Kilian Cavalotti
-- strict thread matches above, loose matches on Subject: below --
2012-10-24 20:02 Gearing, Chris
2012-10-24 22:05 ` Nathan Rutman
2012-10-24 22:09 ` Colin Faber
2012-10-25 17:23 ` Brian Behlendorf
2012-10-25 18:04 ` Nathan Rutman
2012-10-25 21:17 ` Prakash Surya
2012-10-25 21:36 ` Nathan Rutman
2012-10-25 21:50 ` Nathan Rutman
2012-10-25 22:13 ` Prakash Surya
2012-10-25 22:19 ` Roman Grigoryev
2012-10-25 18:20 ` Gearing, Chris
2012-10-25 19:24 ` Nathan Rutman
2012-10-25 21:13 ` Christopher J. Morrone
2012-10-25 21:28 ` Nathan Rutman
2012-10-25 21:52 ` Prakash Surya
2012-10-26 6:24 ` Kilian Cavalotti
2012-10-26 8:52 ` Roman Grigoryev
2012-10-26 11:53 ` Kilian Cavalotti
2012-10-25 18:38 Gearing, Chris
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=508817B3.6010008@cea.fr \
--to=aurelien.degremont@cea.fr \
--cc=lustre-devel@lists.lustre.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.