3 ms·
The problem here isn't with JavaScript in particular, but the complete lack of other options. When you're limited to a single language, what you end up with is
by _frog 11y ago
The problem here isn't with JavaScript in particular, but the complete lack of other options. When you're limited to a single language, what you end up with is a software engineering monoculture.
- enraged_camel 11y ago>>When you're limited to a single language, what you end up with is a software engineering monoculture. Really? There are a plethora of JavaScript frameworks out there, mostly client-side but also some server-side, each with its own distinct culture, and new ones are coming out all the time. And each framework imposes its own way of doing things, and that attracts different types of people and creates a different culture. In fact, the JavaScript ecosystem is so vibrant and diverse right now that "monoculture" is the last word I'd use to describe it. If you want monoculture, look at Ruby. (Don't get me wrong, I love Ruby and it's my favorite language, but it's basically dominated by the monoculture of Rails.)
- pmontra 11y agoI think you guys are using the word monoculture to mean different things but you share a common worry. _frog is worried by a language monoculture, having to develop for a platform in only one language: the platform mandates the language. Other examples: Java for Android, Objective-C for iOS (Swift now). You are worried by a framework monoculture, Rails dominating Ruby. That has no parallel in the JavaScript world. Other examples: iOS development dominating Objective-C and Swift? The common worry is that monocultures harm their environment (JavaScript harming the web and Rails harming Ruby). Given the success of Rails and the JavaScript-based Web one wouldn't say any of those type of monocultures are bad for making money (and look at real monocultures in agriculture and animal farming) but farming teaches that if you don't have enough diversity you are exposed to problems. Being able to program the web in many different languages would be both good (pick the tool you like most) and bad (example: "sorry, I can't take over this webapp because it's written in OCaml and I only do Ruby and Elixir, find somebody who knows OCaml") but not different from what we always did when developing for the desktop and the web server. Both did well. If we're heading there we'll cope with that (customers will stick with the "big" languages, as usual).