• 0 Posts
  • 17 Comments
Joined 2 years ago
cake
Cake day: June 18th, 2023

help-circle



  • Branches are distinct.

    Let’s say you have a main and a dev branch, and you periodically merge dev into main. Because of fast forwarding (on by default) the main branch is completely gone from the history. If you then add bug fixes and project branches it becomes a tangled mess really quickly and it’s nearly impossible to understand the structure by looking at the tree.

    On mercurial every branch is named and distinct forever. You don’t have to try to understand what happened to the project since it’s obvious by looking at the tree.

    Now there are ways to have a clean git history, but afaik you either need to make sure nobody ever messes it up or have everyone rebase everything and only keep the history of the main branch.

    When working in a hyper structured organization that may work, but for more casual developers (scientists, students) that aren’t system experts and where you have messy history, mercurial default settings are less confusing, easier to learn and produce better results.










  • I’m a scientist that has been coding almost exclusively in Python for the past decade and I strongly disagree.

    Python is great at being the glue that holds everything together, and everything crunchy part of the program is being handled by a library anyways.

    I code with two terminals, one for iPython and one for vim. And you don’t need anything else. The beauty of Python is that it’s not a language that is so full of boilerplate that you need an IDE to type it for you to be remotely productive.

    Overall, Python is a language made to be used by people that need to make something that just works and don’t need to spend years learning programming paradigms and industry practices. Fortran and C are so unwieldy in comparison and everything more modern lacks the expansive and diverse libraries of Python.