Return-Path: X-Original-To: apmail-hadoop-common-dev-archive@www.apache.org Delivered-To: apmail-hadoop-common-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9E099DBD1 for ; Wed, 21 Nov 2012 23:00:35 +0000 (UTC) Received: (qmail 61571 invoked by uid 500); 21 Nov 2012 23:00:33 -0000 Delivered-To: apmail-hadoop-common-dev-archive@hadoop.apache.org Received: (qmail 61490 invoked by uid 500); 21 Nov 2012 23:00:33 -0000 Mailing-List: contact common-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-dev@hadoop.apache.org Delivered-To: mailing list common-dev@hadoop.apache.org Received: (qmail 61482 invoked by uid 99); 21 Nov 2012 23:00:33 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Nov 2012 23:00:33 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of adi@cloudera.com designates 209.85.223.176 as permitted sender) Received: from [209.85.223.176] (HELO mail-ie0-f176.google.com) (209.85.223.176) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Nov 2012 23:00:27 +0000 Received: by mail-ie0-f176.google.com with SMTP id 13so5583232iea.35 for ; Wed, 21 Nov 2012 15:00:06 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:x-gm-message-state; bh=gXK1Q5S1R1LgAhVXT64InwsKO03ptgYixSW4pDt2LQI=; b=RoVKjdFoB9EmCV4CQPZRdPaoZRp6ZlTbxv2rhSdlZJsc+UaoU/GD064qNHuwZ3yQRj IFAs8urV8I4YsfONUm1qymPcCdPu3RwT7pYM++Lr21Q4+4p2E3yOyAry/JTBdQCJdmof fx+ZWZA9rMGOikt2o8yo2jzxjcqW7CZSfnWKslshqdq4RAD2B7jcdV9+33LMIMSsCMmp gyhTehML3sGqFkyl5pxzmwTjiglX/ngqBC6XV6J3by5Ni2ogjrCI/F4XuqBS3K6x1d1W 0PlfQ86SPmtlAjOwhQBqYHSiD1orDFf7wDNMJimViM29/5emysdwghcY2Prlh0udrFQO otYA== MIME-Version: 1.0 Received: by 10.42.74.73 with SMTP id v9mr15375925icj.37.1353538806231; Wed, 21 Nov 2012 15:00:06 -0800 (PST) Received: by 10.64.76.68 with HTTP; Wed, 21 Nov 2012 15:00:06 -0800 (PST) In-Reply-To: <20121121215045.GB27475@tpx> References: <20121121200006.GX27475@tpx> <20121121215045.GB27475@tpx> Date: Wed, 21 Nov 2012 15:00:06 -0800 Message-ID: Subject: Re: [PROPOSAL] introduce Python as build-time and run-time dependency for Hadoop and throughout Hadoop stack From: Andy Isaacson To: common-dev@hadoop.apache.org, mattf@apache.org Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQnfF6MgLt3HT58xw5Go8hEPyRMka6YsZqBMxYWeIPtQ6d8bnu5jQ1Vu3IUa3zT4Qwxf7jXM X-Virus-Checked: Checked by ClamAV on apache.org On Wed, Nov 21, 2012 at 1:50 PM, Konstantin Boudnik wrote: > The main point of my argument expressed in a lesser than 100 words: adding > Python that is inconsistent across different Linux distros and has a history > of backward incompatibilities (2.6 vs 2.5, 3.0 vs earlier, etc.) doesn't seem > to leverage the benefit of having a somewhat easier build in Windows. This seems mostly like a red herring to me. I'll grant that it's hard to build a complete Python stack that's compatible between Python 2.x and 2.y, but it's very easy by following best practices to keep python *scripts* compatible across all reasonable Python 2.x versions. Simply pick an oldest-supported-version like 2.4 and be reasonably disciplined to not use newer constructs or libraries. I wouldn't wish to try to build a complete system in such a limited dialect [1], but for "we need a reasonable replacement for /bin/sh scripts" it's just fine. Ignore Python 3 for the time being, it's a completely different language with incompatible syntax and semantics that doesn't support several currently-important platforms. Maybe in a few years sane people can consider moving to it, but for now it's best to just stick with the compatible subset of Python 2.x. [1] the Mercurial project has had a pretty good experience with this scheme; http://mercurial.selenic.com/wiki/SupportedPythonVersions they currently support 2.4 - 2.7 with a few required libraries. They dropped 2.2 and 2.3 support a few years ago due to specific shortcomings on those versions. -andy