GithubHelp home page GithubHelp logo

Comments (9)

Anton-4 avatar Anton-4 commented on July 28, 2024 1

I would use that instead of a community package that may be more mature and feature complete.

Yeah sounds good, the user will already be familiar with that API 👍

from book-of-examples.

jwoudenberg avatar jwoudenberg commented on July 28, 2024

I was thinking of using roc-json in the CI chapter. I probably can use another serialization/deserialization format instead if a chapter gets written for one (given some constraints). I'm not entirely clear on the value though, and do see some downsides in terms of dependencies between chapters we'd introduce both for ourselves as we're writing and readers.

I do think we should avoid relying on libraries for solving the interesting parts of the problem each chapter is about. I think using a package for commodity functionality like JSON parsing or random number generation is fine though!

from book-of-examples.

jwoudenberg avatar jwoudenberg commented on July 28, 2024

I want to add, in referring to JSON parsing or random number generation as commodity functionality I was thinking as a user of a library providing that functionality. I know a lot of work and thinking goes into building one!

from book-of-examples.

nathanielknight avatar nathanielknight commented on July 28, 2024

I would agree that we don't necessarily want the book to be hermetic, and we want to think about providing:

  • a link to most up-to-date version of the library (for someone reading in a few years who needs a JSON decoder)
  • a link to the version of the library used for the chapter (for a reader who wants the source code/documentation)
  • a stable link to the files needed to run the code (so that code examples continue to work)

GitHub releases or signed tarballs on the book's website might work okay for the last point?

from book-of-examples.

Anton-4 avatar Anton-4 commented on July 28, 2024

Github releases work well, we also have a github action that can take care of the whole release process.

from book-of-examples.

Anton-4 avatar Anton-4 commented on July 28, 2024

I'm not entirely clear on the value though, and do see some downsides in terms of dependencies between chapters we'd introduce both for ourselves as we're writing and readers.
I do think we should avoid relying on libraries for solving the interesting parts of the problem each chapter is about. I think using a package for commodity functionality like JSON parsing or random number generation is fine though!

I agree with this.

from book-of-examples.

Anton-4 avatar Anton-4 commented on July 28, 2024

External packages imported from an url are fragile, especially if those urls are out of our control.

I think all external packages we currently use were authored by people who collaborate on the book, so that seems acceptable to me.

from book-of-examples.

HajagosNorbert avatar HajagosNorbert commented on July 28, 2024

Alright, I can get behind these arguments. If a package built within a chapter is suitable for other chapters (like I assume the random package will be), I would use that instead of a community package that may be more mature and feature complete. In that case that package would need a Github release.

What is your opinion, would it be better to do it that way, or stick to a more realistic scenario, in which a more accepted package is used? (Thus eliminating the need of releasing the chapter packages)

from book-of-examples.

gvwilson avatar gvwilson commented on July 28, 2024

Thank you all for the discussion - I'll flag this to be voted on for the 2024-04-10 meeting.

from book-of-examples.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.