GithubHelp home page GithubHelp logo

Assembler refactor about bronzebeard HOT 2 CLOSED

theandrew168 avatar theandrew168 commented on August 10, 2024
Assembler refactor

from bronzebeard.

Comments (2)

theandrew168 avatar theandrew168 commented on August 10, 2024 1

Alex,

This is great feedback and exactly the type of concerns that I want to hear about. The prospect of migrating Bronzebeard to Go was purely one of curiosity: would the project be any better off if it was written in Go? The language does work well for the web apps I've worked on recently and static typing is nice for code confidence. However, this project doesn't really suffer from performance issues or feature complexity. It is still a simple, single-file assembler with a low barrier to entry and is very easy to hack on.

I also appreciate your point of view on DFU (over USB-C) vs STM32 (over UART). While they have both worked for me personally, I don't have nearly as much experience with UART adapters as others do. Interacting with USB devices is much easier in Python and I've simplified the Windows workflow as much as I can (by bundling libusb.dll).

Given that the project is already cross-platform and meets its goals of being simple and effective, I think that it is better suited for Python. If the choice of language ever becomes an actual bottleneck / hindrance then maybe I'll reconsider. But without any obvious benefits beyond my own curiosity, it doesn't make much sense to proceed.

Thanks again for the honest feedback. I want to keep this project useful and approachable to as many programmers as possible.

from bronzebeard.

aw avatar aw commented on August 10, 2024

Hi Andrew,

The current python-based assembler works perfectly, particularly with the USB-C DFU. I intend to continue using that because the code is simple, small, auditable, and it "just works" (python/libusb are very common on any Linux system).

I personally dislike UART/usb serial interfaces. I own 3 different ones and they never work correctly or as intended. Given the choice, I'd much rather program a device over USB without dealing with an external serial adapter.

If Bronzebeard is something you interact with, and maintain daily, and you constantly find it painful dealing with the Python code, and have performance issues and difficulty adding new features, then perhaps a rewrite can be justified. From your explanations though, it seems like the coding process and final outcome would be a regression rather than an improvement. I don't really see the advantage even from a developer's perspective.

However, I think if you just want to write and maintain Go moving forward because you prefer Go, then that's fine and entirely your choice. Nobody is stopping you there.

from bronzebeard.

Related Issues (19)

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.