How FPGAs work, and why people will buy them (2013)
> FPGAs are a programmable platform, but one designed by EEs for EEs rather than for programmers.This is the problem with FPGAs. Their performance and utility is not really disputed. Working with them is so un-ergonomic that it's frankly embarrassing.The EE world is notoriously closed/proprietary making it incredibly difficult to explore novelty or customize tooling to suit specific needs. The situation is reminiscent of the pre-gcc era proprietary C compilers. Sure synthesis / place and route are much harder problems than compiling to machine code but I would guess that fact amplifies the need.One can't really expect software's current development comfort without acknowledging its driving force (GNU/the free software movement).