I’m currently working on a project in C where I have a choice between using a library for hash tables or simply creating my own hash table from scratch.

What would look better on a Github portfolio from an employability perspective?

  • solrize@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    11 hours ago

    Ermph, this is C specific and shouldn’t be extrapolated to other languages. Since you’re writing in C you are trying to show your chops as a low level programmer. Therefore, showing that you know how to implement a hash table is worthwhile, so you should do it yourself. You could add a comment to the code saying something to that effect. Again that’s just for C. Implementing your own hash table in Python instead of using the built-in one would be crazy. Implementing one in C++ instead of using the stdlib or some other one would have to be carefully justified.

    I do have to wonder what you are up to in this day and age, pursuing what sounds like junior level C projects. I would say that whole approach is something of a dead end. You’re more employable with higher level languages than with C these days, I would have to say. Or if you write something in Python that incorporates some C functions that you write using Python’s C API, that shows you can operate at multiple levels at the same time, which is even better.

    • gwilikers@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      11 hours ago

      Ah the project was just an excuse to familiarise myself with low-level network code. It’s basically just a simple TUI app that takes a list from a popular comics podcast website and allows the user to locally track the comics they’ve read then update the list when the a new podcast comes out adding additional comics to the list.

      I could have done the project in a quarter of the time in Python. But I wanted to get a strong foundation in low-level socket programming, network protocols, TLS and HTML parsing. I suppose on some level I’m just interested in those things.

      That said, you probably have a point. Maybe I should just look into Rust and Go. I’ve had some fun with the latter.