3 ms·
The Scale of Programming Complexity
- dons 14y agorank (n) * 8: formal verification of technology of rank n
- freyrs3 14y agoI think operating systems are harder to formally verify than programming languages.
- jules 14y agoScientific codes are much harder to verify formally than programming language implementations. Even getting an informal error bound is virtually impossible in most cases. Formally verifying e.g. web applications is also incredibly hard, but in other ways: (1) it's hard or impossible to formally specify in a non-trivial way (2) the implementation depends on a huge amount of code that needs to be verified or at least specified (OS, compiler, network, etc.). In fact in this list, the most difficult things are the easiest to formally verify: programming language implementations, network stack, OS, filesystems, algorithms, etc.
- dons 14y agoAgreed. The more difficult on that list, the more formal the system, and the more automated tools that have been developed to automate verification.
- soup10 14y agoEverything about programming is easy when you break it down into parts. I think good programing is about the ability to learn new domains, abstract thinking skills, a good design sense(for architecting code and user interaction/interfaces), and a healthy dose of patience for debugging. I wouldn't generalize too much about specific domains because they each come with their own unique challenges.
- anuraj 14y agoI will put the complexity of developing a reasonably complex native smart phone application wth backend a little above that of developing a website with similar backend business logic. There is also system programming like - avionics, telecom switching and routing, medical imaging etc. which requires high degree of learning, education and proficiency.
- tharris0101 14y agoI like this. Just two things, though: 2D game programming too low and basic dynamic websites too high. For example, I know a lot of people who could churn out simple mobile apps or basic dynamic websites in their sleep but would get slowed down by basic game design.