Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The difference is that with microcontrollers, what you see is what you get. The API is defined by the hardware, and most of the time you're just poking numbers into registers. There's nowhere else to go.

With web programming a lot of the difficulty is self-inflicted by the industry. To get a web page up you need to know at least two different abstractions (HTML and CSS) which aren't clean or well-designed and have more warts than a skin care clinic.

Then, to fix their limitations you need to use js.

Then, because there's a lot of repetition in web dev, you have to use a handful of js frameworks, which currently outnumber the stars in the universe, and each has a production half-life of around six months.

And then there's the server side.

And if you get all of that working you have to run at scale, with adequate security.

And can we have it in green and make the logo bigger?

So of course it's hard. It's like being trapped in a novel by Kafka written in XML.



> The difference is that with microcontrollers, what you see is what you get. The API is defined by the hardware, and most of the time you're just poking numbers into registers. There's nowhere else to go.

No it's not. In real life, it's fairly rare to write 100% bare-metal applications, and even when you do, you're often writing against some "homegrown" abstraction layer. Sometimes you're expected to write such an abstraction layer, but writing only against the hardware-defined "API" is usually not strategically sound, unless you have a very good reason to assume that the underlying hardware will never change. This is sometimes true for very resource-constrained microcontrollers, and virtually always true for things that have ARM in their name and stronger. Not to mention for embedded, but relatively high-power devices (see e.g. the Linux kernel).

Sure, the drivers are hardware-specific, but the applications are usually programmed against their (unitary) interface.

I'm not arguing against the rest of what you mention -- I'm painfully disappointed by the neverending spaghetti of technologies that modern web is, and I also think it's largely self-inflicted. However, web dev is treated as much more of a commodity than other branches of programming; left to their own devices, there are a lot of web developers who would produce very good client-side code.

Shit like bootstrap isn't there because web developers are incompetent. It's there because much of their job involves churning out support code for products managed by people who know nothing about technology and the WWW, whose quality standards are dubious at best and who value product conformance over performance because they sell perception, not quality.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: