"It's funny that you also use "real" engineers as an example, because we know that any practicing engineer does have a firm grasp of the fundamentals of their discipline: they had to take a licensing exam which ensured so."
But do they understand the fundamentals in the examples I provided? My Civil Engineering friend (with a PhD such) doesn't know the first thing about QCD and he'll gladly tell you that. It's all just physics though right?
edit poll is submitted.
I find your example with civil engineering and QCD disingenuous, because one doesn't need quantum theory when building buildings, bridges and roads. My point in mentioning Newtonian mechanics is that it is the foundation of mechanical engineering. I never said "it's all just physics," so I don't know why you did.
I find your example with civil engineering and QCD disingenuous, because one doesn't need quantum theory when building buildings, bridges and roads.
You conflate fundamental academics with fundamental knowledge.
People were building all kinds of great things before Newton. Lots of that stuff is still standing, some of it is still functioning.
Here's some examples:
http://en.wikipedia.org/wiki/Eupalinian_aqueduct
http://en.wikipedia.org/wiki/Pantheon,_Rome
http://en.wikipedia.org/wiki/Appian_way
http://en.wikipedia.org/wiki/Forbidden_city
http://en.wikipedia.org/wiki/Taj_mahal
http://en.wikipedia.org/wiki/List_of_aqueducts_in_the_Roman_...
http://en.wikipedia.org/wiki/Macchu_pichu
Civil Engineering not your thing? Here's some mechanical engineering
http://en.wikipedia.org/wiki/Antikythera_mechanism
http://en.wikipedia.org/wiki/Cannon
http://en.wikipedia.org/wiki/Aeolipile
http://en.wikipedia.org/wiki/Water_clock
http://en.wikipedia.org/wiki/Catapult -- you couldn't possibly make one of these without knowing Newton's laws of motion...
http://en.wikipedia.org/wiki/Bellows
http://en.wikipedia.org/wiki/Chain_drive
http://en.wikipedia.org/wiki/Crank_(mechanism)
Here's some pre-Newton celestial mechanics
http://en.wikipedia.org/wiki/Armillary_sphere -- some even hydraulically powered!
http://en.wikipedia.org/wiki/Gnomon
http://en.wikipedia.org/wiki/Chinese_calendar
http://en.wikipedia.org/wiki/Antikythera_mechanism
These guys got along more or less alright without fundamental Newtonian mechanics
http://en.wikipedia.org/wiki/Leonardo_da_Vinci
http://en.wikipedia.org/wiki/Hero_of_Alexandria
http://en.wikipedia.org/wiki/Archimedes
I could go on, but you probably get the point.
To hear you tell it, humans were just scratching around in the dirt until Newton lifted us into civilization on the wings of F=ma.
One doesn't need big-O to write software either -- even great software. I know that in academia these kinds of things are seen as absolutely fundamental, every published algorithm paper should at least show complexity for big-O (at a minimum) to be taken seriously. And that's great for your milieu, but you need to come down from Mt. Olympus and mix with the rest of us mere mortals and just build stuff. I guarantee you can build all sorts of wondrous, magical things without ever even considering big-O.
You do have a point, which I agree with, learning about complexity theory is a tremendously useful skill to have as a developer.
Is it required to be a good one? You say yes (absolutely), I say no (but it doesn't hurt).
Fair enough?
What I do expect is for "good developers" to have, at least, a firm grasp of the material covered in most undergraduate Computer Science curriculums. It's funny that you also use "real" engineers as an example, because we know that any practicing engineer does have a firm grasp of the fundamentals of their discipline: they had to take a licensing exam which ensured so.