洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to Charles ☭ :trans: is a Green's post

@celesteh @jnkrtech I think it's partly because JavaScript is more commonly used for building consumer products compared to other languages, so there's a higher proportion of developers focused on shipping products rather than diving deep into infrastructure. When you're building a product, you naturally extract just enough to solve your immediate problem and move on. Languages like Rust tend to attract more developers interested in tooling and infrastructure work, where yak shaving is almost expected. The ecosystem reflects the priorities of its community.

jnkrtech's avatar
jnkrtech

@jnkrtech@treehouse.systems · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@hongminhee @celesteh that makes sense, and is a bit more empathetic than the response I usually have. I just think the engineering standards of the JavaScript ecosystem are low. JS grew in popularity explosively, and is increasingly used in introductory courses, which means that the average years of experience of JS developers is relatively low. NPM focused on making it as easy as possible for developers to publish packages, so most packages are published by inexperienced engineers. And the extremely bare-bones standard library provided by browsers and node means that there’s not many examples of how to write good JS code at developer’s fingertips.

(I also think that dynamically typed languages tend to encourage sloppy design; the availability of high-quality libraries seems to me to have improved with the increasing adoption of TypeScript)

Charles ☭ :trans: is a Green's avatar
Charles ☭ :trans: is a Green

@celesteh@hachyderm.io · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@hongminhee @jnkrtech

The lack of available midi format converters is why I want to build one. I can build one in python, but building a desktop app is a step too far. I don't want to deal with trying to do this as a server side thing for people because I don't want to pay for the bandwidth or have to worry about whether weird midi files would be an attack vector....

Learning how to parse midi files in three formats in JavaScript is also too much!