oldfartdeveloper (18) [Avatar] Offline
#1
In section 1.1 the following sentence:

“The ecosystem is smaller, which means you’ll encounter fewer problems where someone has already published an off-the-shelf solution.”


is interesting but I'm confused by it:

  • I have to guess what you mean by ecosystem: language/tool size? community size? library size?

  • Why wouldn't "fewer problems" apply to the code you're developing as well as an off-the-shelf Elm package?


  • I'm guessing you mean:

    "The language and its tools are smaller, which means that not only is your code easier to develop, but also that you'll encounter fewer problems using published, off-the-shelf Elm-based solutions as well."


    I've wrestled with your sentence twice in two days; I think I see where you're trying to get to, but I think the introduction of an undefined "ecosystem" along with what size means makes the interpretation of the sentence "too fuzzy". I'm tempted to use "surface area" instead of "ecosystem" as in:

    "The language and its tools have a delightfully smaller 'surface area' to learn, which means there are fewer opportunities for problems; this advantage applies to the Elm-based off-the-self libraries you will use as well."


    I'm not entirely happy with my "replacements" either, but I hope they illustrate my difficulty with the existing sentence.

    The rest of the chapter up to here is excellent: expressive prose clearly communicating important concepts.
    rtfeldman (60) [Avatar] Offline
    #2
    Wow, great point! When you put it that way, I should definitely rephrase. I actually meant to point out a trade-off: Elm has fewer off-the-shelf things to offer than a more longstanding ecosystem like JavaScript's.

    Let me try and clarify it. Here's the before/after, with the surrounding paragraph for context:

    BEFORE: “Although Elm is in many ways a simpler language than JavaScript, it’s also much younger. The ecosystem is smaller, which means you’ll encounter fewer problems where someone has already published an off-the-shelf solution. Elm code can interoperate with JavaScript code to piggyback that ecosystem, but Elm’s design differs enough from JavaScript’s that incorporating JavaScript libraries takes effort.”

    AFTER: "Although Elm is in many ways a simpler language than JavaScript, it’s also much younger. This means Elm has fewer off-the-shelf solutions available for any given problem. Elm code can interoperate with JavaScript code to piggyback the larger JavaScript library ecosystem, but Elm’s design differs enough from JavaScript’s that incorporating JavaScript libraries takes effort."

    Does that clarify?
    oldfartdeveloper (18) [Avatar] Offline
    #3
    You nailed it! Your replacement statement is perfect. I might consider inserting the word, some, to quantify the expected effort a bit. Hence, consider inserting some at the end as follows:

    BEFORE: “Although Elm is in many ways a simpler language than JavaScript, it’s also much younger. The ecosystem is smaller, which means you’ll encounter fewer problems where someone has already published an off-the-shelf solution. Elm code can interoperate with JavaScript code to piggyback that ecosystem, but Elm’s design differs enough from JavaScript’s that incorporating JavaScript libraries takes effort.”

    AFTER: “Although Elm is in many ways a simpler language than JavaScript, it’s also much younger. The ecosystem is smaller, which means you’ll encounter fewer problems where someone has already published an off-the-shelf solution. Elm code can interoperate with JavaScript code to piggyback that ecosystem, but Elm’s design differs enough from JavaScript’s that incorporating JavaScript libraries takes some effort.”

    A minor tweak: use whichever you really intended.
    rtfeldman (60) [Avatar] Offline
    #4
    Excellent, thanks! smilie