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

I dunno, I'm not convinced that a compiler or OS is a harder problem than an IDE. "Turns out humans are complicated and making computers do things they want is hard."[1] UX design is not only a whole complicated field in its own right, it imposes additional technical constraints that interlock with UX ones in complex ways. (E.g., VS Code's plugin API is architected the way it is partly to limit the ability of a plugin to accidentally add latency in the places that are most critical for usability, or otherwise undermine the editing experience.)

Obviously some compilers and OSes and IDEs are larger in scope than others, but all else being equal, if I had to pick one to write and it was really important to deliver something good, I'd rather do one of the former.

(This applies to any kind of GUI program that needs to be very feature-rich in order to meet the needs of power users, and where user productivity is at a premium because those users spend all their time in it. IDEs are just the subcategory of that that we as programmers most often use.)

[1] https://wiki.alopex.li/LetsBeRealAboutDependencies#yeah-but-...



I think a "compiler" isn't too bad — certainly easier than an IDE by a long margin. An optimizing compiler OTOH, can be a bit of a beast. Because the optimization passes self-interact, on every line of code, repeatedly, any small error in the passes can dramatically amplify (or cancel out!). It means the level of quality of the optimization passes is (by necessity) much, much, much higher than plain old SW. It's just ... very tedious.


I’ve written hobby compilers, hobby kernels and hobby IDEs.

The later was by far the easiest for me.

Maybe you’re brain is wired differently but I can only speak from my own experiences.


It seems like not really an apples-to-apples comparison anyway. Designing a text editor, there are just a lot more subjective questions.

The technical issues are also sort of different, fixing latency problems is a totally different type of problem that developing a framework for how an optimizing compiler should do its thing. Both valuable and hard things to do, hard to come up with a metric to rank them.




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

Search: