GCC and static analysis
Posted Apr 21, 2012 19:53 UTC (Sat) by
khim (subscriber, #9252)
In reply to:
GCC and static analysis by linusw
Parent article:
GCC and static analysis
So why did the last crisis not switch all computer and language development to functional languages?
Because it made no sense? Functional languages have many advantages and one, yet crippling disadvantage: most programmers can't use them. Not as in "they don't know them", but as in "they'll never be able to learn them". And the same is true for concurrent programming in traditional imperative languages!
It's hard to say right now if functional programming will win or not, but I'm pretty sure it'll do. Not because it's better alternative, but because it'll be the only alternative. It'll happen in the same way multicores won the war: not because they were better, but because they become the only possibility after certain threshold! They were always better (transputers did amazing things quarter-century ago) but till AMD and Intel were able to provide faster single-core chips mainstream stayed single core…
Well, if functional languages will win… then when this may happen? Hard to say. There are the whole industry right now which tries to somehow help people who just can not write concurrent or functional code to still use multicore systems (tools parent article discusses is very much in this bucket), but as number of cores grows it becomes harder and harder to do. Beyond certain threshold the whole thing will just fall apart and something like Cell will be the only alternative - but this time lies years from now. We know contemporary SMP/Numa systems can handle tens of cores, they will probably never be able to handle millions, but where exactly the threshold lies we'll know only aposteory: after Pentium4-like fiasco when “latest and greatest” creature will be found to be slower then it's predecessor. Then and only then functional languages will become mainstream.
And of course even after that point a lot of guys will still stick with imperative programming (like today a lot of guys write single-threaded programs still) because it's easier.
(
Log in to post comments)