196 karma · joined June 3, 2009
If you think the Chinese gov. will give after for this kind of pressure, then I would say you are naive.
Abstractions are key to every good design. Let me try to explain more in detail:
Abstractions can be built in two ways, I top-down II bottoms-up
A top-down approach is per SICP described as 'wishful thinking'. We simply assume we have the function. And then we drill down, and we let George (the programmer) worry about the implementation. Taking the UML approach is not necessary - traditional black box abstractions will suffice.
A bottoms-up approach or Domain Specific Language (DSL) is not very well supported among the typical boiler-plate languages today, small languages like scheme is perfect for DSL, because of its smallness.
You design top-down - and you implement bottoms up.
Naming functions is a art of its own and is key to good software engineering.
Personally I'm sick of programmers who don't understand the art of abstractions - as much as I'm sick designers who don't know what the limit of a computer, or the capabilities of their language.
A note on UML: Uml got one thing right, and that was the 'Use Case'. A proper use case forms the foundation of a good top-down design.
One bad programmer can easily create two new jobs a year. Hiring more bad programmers will just increase our perceived need for them. If we had more good programmers, and could easily identify them, we would need fewer, not more.
reference interview at 2,20 min. http://video.google.com/videoplay?docid=7707585592627775409&...