alebaffa,
folkerschamel, (edited )

@alebaffa

We use for quite complex demanding parts of our software, where dynamic typing is quite essential (e.g. an editor where users wire together components dynamically which are incrementally translated into output, and a incremental data processing system based on a dependency graph).

I think any other programming language would make that a nighmare.

But we also use for all performance critical parts, and / for more traditional backends.

cathodion,

@folkerschamel how are the different parts integrated together? does having multiple languages in the codebase cause any problems?

folkerschamel,

@cathodion

and via the standard C API plus some proprietary generic script bindings connecting to a proprietary dynamic method invication system on the side.

communicates with and only via web protocols (mainly , ).

Works well so far.
As a colleague recently pointed out to me: That's one of the advantages of a architecture that you can easily mix languages and freely choose a language for each new service.

alebaffa,

deleted_by_author

  • Loading...
  • folkerschamel,

    @alebaffa

    Yes, "verbosity" is a key aspect!

    Yes, dynamic typing causes additional issues not present with statically typed languages as the article points out correctly. But many problems are dynamically typed, and then youo start using dynamic casts also in statically typed languages, and get into the same issues anyway ...

    FSMaxB,

    @alebaffa @folkerschamel Are you using mypy? If not, you should. It's not the same as rust's typing, but it is pretty powerful in what it can do (even more powerful than rust in some aspects).

    I don't do python without it anymore nowadays (if avoiding python altogether isn't an option).

    folkerschamel,

    @FSMaxB @alebaffa

    No we don't use . But it requires type hints, right? So we cannot use it anymore.

    We would have to add type hints to a lot of existing code.

    FSMaxB,

    @folkerschamel @alebaffa Yes, it uses type hints, but it doesn't require them. It's very well feasible to start with none and incrementally add more and more over time.

    folkerschamel,

    @FSMaxB @alebaffa

    type hints are the implementation of PEP 3117 – Postfix type declarations https://peps.python.org/pep-3117/, right? 😁

    But as a serious comments: I see your point of the possibility of gradual adaption.

    But right now the number and seriousness of typing related runtime error bugs are a vanishingly small. So I don't see a need for it. Yes, this is a quite different experience than Jos Visser describes in this article.

    FSMaxB,

    @folkerschamel Wait what 😅?

    folkerschamel,

    @FSMaxB

    "As you can clearly see, the type declarations add expressiveness, while at the same time they make the code look much more professional."

    FSMaxB,

    @folkerschamel Oh, April 1st ...

  • All
  • Subscribed
  • Moderated
  • Favorites
  • python
  • DreamBathrooms
  • mdbf
  • ngwrru68w68
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • osvaldo12
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • InstantRegret
  • tacticalgear
  • anitta
  • ethstaker
  • provamag3
  • cisconetworking
  • tester
  • GTA5RPClips
  • cubers
  • everett
  • modclub
  • megavids
  • normalnudes
  • Leos
  • JUstTest
  • lostlight
  • All magazines