I recently joined a company that writes Python after working for a Kotlin shop for the past four years. I miss Java/Kotlin every single day. I have no gripes with Python itself and I enjoy writing it, but I've still never seen a large python codebase that remains as coherent, structured and understandable as the average large JVM language codebase. It's as if the structure of the language itself materially informs the structure of the codebase as it grows.
You moved from a typed - super object oriented/functional language/platform to a dynamic/untyped mostly procedural/functional language
Dynamic and untyped languages always had this issue - coherence, structure in large projects (without enforcing project wide conventions). Without strong conventions, the codebase will naturally grow in weird unrestrained ways. Whereas with the Java/Kotlin ecosystem, even things like naming of class files has conventions enforced by the compiler so you won't open a file like Person.class and find a People class defined within. Without enforcing conventions, that's what you get in python.
I saw your tweet about cracking type inference for recursive schemas. It seems like the solution to this problem is pretty straightforward and simple. Was the solution really as simple as using a getter, or is there some additional complexity that I am failing to grok?
I have been using this pairing for the past eighteen months and it has been a very productive and smooth experience. The Codeium/Windsurf JB IDE plugin is much better than their standalone vscode fork IDE
I have been looking for a similar lib to use in a Kotlin/Spring app - any recommendations? My specific use-case does not need to support sanitizing during the HTML -> MD conversion, as the HTML doc strings that I will be converting are sanitized during the extraction phase (using JSoup).
Kotlin classes are (seemingly) all generated as open classes, rather than data classes. Surprising choice - is this an intentional design decision? Wondering if I am missing something
The output in various languages in rather questionable. Not wrong per-se as it's totally valid code, but just.. not idiomatic and not how a developer fluent in that language would implement it.
I use mermaid.js a lot but not enough that I an fluent in the DSL. So I pump things into excalidraw's AI and tell it to create the mermaid chart. It gets my 80% of the way and I tweak/extend from there. If nothing else its awesome for that
I'm surprised that Denver's Elyria-Swansea and Globeville neighborhoods were not highlighted as hotspots. I lived in Denver for many years, and these neighborhoods were commonly known to locals as some of the most polluted zip codes in the US.