1 |
On Thu, May 28, 2009 at 12:15 PM, Joe Peterson <lavajoe@g.o> wrote: |
2 |
> Alec Warner wrote: |
3 |
>>> No, it's entirely objective. GLEP 55 clearly shows how the filename |
4 |
>>> based options are objectively better than anything else. |
5 |
>> |
6 |
>> But the decision will not be based entirely on objective merits |
7 |
>> (although I will concede that EAPI in filename is the 'best' technical |
8 |
>> choice). |
9 |
> |
10 |
> (Jeez, I hate to add another to this thread, but this way of defining |
11 |
> 'technical' bothers me) |
12 |
|
13 |
Lets agree to disagree on the definition of "technical" then and |
14 |
instead agree that putting EAPI in the filename is a bad design |
15 |
decision ("technicalness" aside) and then have a beer! |
16 |
|
17 |
> |
18 |
> Along the lines of what Roy so eloquently expressed, I think it's |
19 |
> important that we do not divorce *design* from *technical*. The |
20 |
> decision of where to place the EAPI is a design issue, and many of us |
21 |
> here clearly believe that it is *not* good design to put this kind of |
22 |
> metadata in the filename. Therefore, the statement that it is the |
23 |
> 'best' technical choice is not objectively true. |
24 |
> |
25 |
> Technical issues of performance and efficiency can be addressed when |
26 |
> proper design has been done beforehand. Part of the purpose of the |
27 |
> implementation (after proper design is in place) is to address |
28 |
> performance and other related issues. And part of the design is how we |
29 |
> define the *interface*. The filename is clearly part of the interface. |
30 |
> It is part of how devs (and users) interact with portage when writing |
31 |
> ebuilds. Much of the argument for EAPI in the filename has been |
32 |
> motivated by a perceived implementation benefit of speed, as if there |
33 |
> were no other solutions (which is naive). As Roy suggested, if all |
34 |
> engineering decisions were based purely on pragmatic "ease of |
35 |
> implementation" factors, we'd have a lot of ugly designs/interfaces out |
36 |
> there. |
37 |
> |
38 |
> It may be easy (although incorrect) to dismiss elegance/design/interface |
39 |
> issues as "non-technical", but I maintain they actually *are* technical |
40 |
> matters of great importance. I've been an engineer for over 20 years, |
41 |
> and I have seen the pitfalls of taking the quick-and-dirty approach just |
42 |
> to slap a new feature into a software app. I've seen how such hasty |
43 |
> design mistakes can cause great pain and regret for a long time after. |
44 |
> Let's get the design right, first. For what it's worth, GLEP 55 does |
45 |
> now provide an option (#3: Easily fetchable EAPI inside the ebuild and |
46 |
> one-time extension change) that demonstrates good design. |
47 |
> |
48 |
> -Joe |
49 |
> |
50 |
> |