I'm looking to identify problems that our startup KrashKart can solve.. any ideas..<p>here are some we've come up with...<p>- errors in tools<p>- libraries (& web browsers) that don't comply with standards<p>- have to deal with complexity in order to do a simple task<p>- significant portion of code may be parameter marshalling<p>- large number of files required for typical project<p>- text is subject to typos & encoding problems<p>- can't find example/testbed code for a library/standard<p>- poor/nonexistent documentation
Most of these aren't really things that a startup can solve, since to be useful, you need to integrate with all the other crap out there, and once you do that, you find you're just as crappy as they are. But I'll chip in with my biggest pain point:<p>It's discontinuities in the development process. Y'know, those little features that seem like they should be easy to implement, but aren't.<p>The particular discontinuities differ between languages, but here are a few that really bug me:<p>Java, C, C++, and JavaScript: Converting a plain old field to a method that computes the property. This is why Java books tell you to always use accessors.<p>Any OO language: Adding a new method to an interface implemented by lots of classes<p>Java/C++: Adapting a 3rd-party class to an interface that it doesn't natively support.<p>Haskell: Converting a pure function to a monadic one<p>Haskell, Ocaml, & Erlang: Adding a new field to an ADT or tuple.<p>Any language without a refactoring browser: renaming a method, field, or variable.<p>All languages: converting prototype code written with ad-hoc data structures (tuples, lists, dicts) to production code with formal data structures (classes, ADTs)<p>All languages: changing the order of function arguments<p>All languages: internationalizing strings
Not what you are looking for, but inaccesible documentation is my biggest irritant. I'm talking to you broadcom and a lot of USB peripheral chip vendors as well. And now the PowerVR keepers.