Arguing about what science and engineering is all fine and dandy, far be it from me to tell people what to discuss, but I would highlight the actual point of the piece, which is the suggestion that we are overinvesting in science in certain areas where we should be investing in engineering.<p>I find myself thinking back to an article earlier today: <a href="http://news.ycombinator.com/item?id=1986640" rel="nofollow">http://news.ycombinator.com/item?id=1986640</a> , about the virus that could improve lithium battery's capacity by up to 10 times... from scientists at the University of Maryland. As some people say in the comments, they're tired of hearing about these advances that never make it to market. Perhaps this is part of the reason why? If nobody takes this to engineers or funds engineers, this was, if not <i>entirely</i> a waste of time, certainly a <i>suboptimal</i> use of time.<p>(Certainly part of the reason why is some of these ideas simply don't pan out in practice; batteries with 10 times the capacity but at 100x the cost may have such a limited market as to be effectively no market. But it seems like some of these things ought to be happening. The various promised-but-never-materializing advances in the field of solar energy particularly come to mind.)
I wonder how many people here consider themselves scientists versus engineers. I think computer science is in a pretty unique position because people in our field solve both scientific and engineering problems. Indeed, the heritage of our field comes from both mathematics/physics and companies that made things like typewriters. Building computational systems has always required solving problems of both types; I'm not sure this has been the case for a while in other engineering or science fields.<p>The main distinction that I've seen between EE (at least the part focused on computational things), CompE, and CompSci is what part of the stack you focus on; does this reflect others' experiences, particularly those in EE or CompE?
A good book on this topic is "Designerly Ways of Knowing" published by Birkhauser. It defines Design as a third discipline, distinct from Humanities (which deals with the human experience) and Science (which deals with the natural world). Design with a capital D meaning anything related to creating new things, usually with technology.<p>The book goes on to explain how the three disciplines differ as per the skills required to practice it: scientists need analytical thinking, designers need synthetic thinking.<p>You learn this by page 10. The rest of the book is just as interesting as its first chapter.
Sigh. Don't understand why it's such a big deal. Case in point in the intersection between CS/Biology/EE:<p>Programming has completely revolutionized Biology not even in terms of introducing databases to volumes of genomic data but in terms of forcing geneticists to think in terms of algorithms and coding practices in DNA transcription/translation.<p>Advances in Biology in neural imaging and evolutionary genetics have been introduced in artificial neural networks and evolutionary computing algorithms; some of which ironically are used to solve Biology problems, protein folding/disease modeling.<p>Advances in biomedical engineering from applied silicon wafer design has made expensive equipment such as DNA replication (PCR machines), sequencing and genetic expression (DNA microarrays) accessible to every lab. To reciprocate, Biologists are building organic circuits to eventually build a self-replicating bio-computer.<p>Sometimes as a scientist, you have to do engineering work to build the tools to investigate a new phenomenon. Sometimes as an engineer, you have to do some science research to build a new widget that's not been built before. It's all the same to me.
People in engineering have to solve scientific problems too... and the author of the article doesn't understand completely what he wrote about.<p>Science is not biology nor physics nor chemistry and it's not truly about understanding the "universe and all it contains".<p>Science is a process of seeing, understanding, and confirming.<p>The word science does not have a claim on that process.<p>And almost every scientist today certainly does not have a valid claim on understanding "all" that the world contains.<p>If engineers didn't use science then they couldn't understand anything new and thus they couldn't engineer stuff because, as the author states, engineering is about understanding and solving problems.<p>Therefore there are some things in the world that engineers have to find out through a trustworthy process of confirmation and if they use controls in order to see and test things of the world then this falls squarely into the scientific process.<p>The author acts like someone can't be a scientist and an engineer at the same time but neither practice would be able to exist like it is today without the other one.
I think a lot of the confusion stems from the fact that both scientists and engineers use lots of (often somewhat esoteric) math. This places us firmly on the math (science and engineering) side of the occupational divide, as opposed to the non-math (law, medicine, everything else) side.
Programming a piece of software is very similar to writing a book. You're just telling a computer what to do in a somewhat unusual language. So software development, in my opinion, is neither science nor engineering, it's art.
I've always seen engineering more like an art than a science. I don't mean to be condescending or anything... I don't mean it saying that we coders make works of art and everyone should kiss the keyboard we type on. Engineering differs to science in that it's driven by a selfish want to achieve something, albeit something technical which could probably benefit from scientific knowledge. An engineer is always trying to create something new either from some theory or previous knowledge, or from freaking thin air. Science is akin to reading a book and then trying to prove theorems based on what you learnt, while engineering is akin to grabbing a blank sheet of paper and draw what's in your head until it makes sense.
Robert Hooke wrote Micrographia, about his observations using a microscope. Today the field is called Biology. The field of Computer Science is still stuck with the name of its primary tool. It like calling cosmology "Telescope Science".<p>The distinguishing feature of a scientist is the ability to observe and generalize. The engineer is good at constructing things. In the early days of a science you need both skills to get things going, so it is easy for outsiders to confuse the two.
The thinking required for engineering and that for science are different spaces for solving problems. Understanding real world problems uses scientific thought processes. And to obtain solutions one has to adopt engineering -- the world has too many variables which only a deployed solution can capture. Of course, getting to the final solution requires multiple iterations between the two spaces.
"Throughout history, a full scientific understanding has been neither necessary nor sufficient for great technological advances"<p>Although this is true, it is also true that a full understanding(garnered through science) is necessary to fully grasp all of the implications of a new technology.
I cite for example the internal combustion engine. I suspect that although it was known gasoline powered engines produced harmful exhaust fumes, it was never fully understood at the time what effect those fumes would have on the atmosphere & environment when the number of automobiles began to go up in orders of magnitude(until there was a significant enough number of them to produce a measurable effect, which no doubt a scientist found).<p>With that said, both fields are due and ample amount of respect. The article seems to favor engineering more, and indeed it does result in remarkable things. However, it is equally important to have the full picture that can only be garnered through empirical scientific research.
This reminds me of Rod Adams' argument that the US nuclear program focuses too much on scientific research, when the more practical thing to do would be to focus more on the engineering challenges of mass reactor production, plant construction scheduling and logistics, and so on. That engineering approach could get us huge amounts of inexpensive, safe green power, as China is discovering already. But instead the US remains preoccupied with research, when they ought to be building with the technology we've already got.
Related to the CS science vs engineering discussion:<p>There is one movie of a lecture somewhere online, where a professor writes "Computer Science" on the blackboard. He than crosses over the "Science" part, and says this class is about engineering. He proceeds to cross out the "Computer" part too, and says it is not about computers, either. I no longer remember where exactly this was, though.<p>EDIT: Now that i think about it, I'm pretty sure it was on MIT open courseware.
Seems like there is a simple distinction:<p>Science is the pursuit of knowledge (using math, logic, and reasoning to obtain knowledge).<p>Engineering is the practice of applying a process to create something (either concerete or abstract--like software).<p>Sometimes you must perform science before you can engineer. Other times engineering is necessary before science.
I've always made sense of it all as follows:
Science describes reality with theory.
Applied science moves science into practical application.
Engineering composes/commercializes applied science.
I ve always considered Engineering an application of science to solve problems (to make humanity better, if you want the pure, idealistic definition). In my opinion,<p>Engineering = f(Science).<p>Someone wanna take a shot at the function?
>engineering is about .. rearranging the stuff of the world to make new things<p>A better definition (inspired by Steven den Beste) is: <i>building tools</i> to rearrange the stuff of the world to make new things.
He shouldn't forget that a lot of the "scientists" that are using his "engineering" money are really "applied scientists", which are on the very blurry boundary with basic engineering.
I always thought engineering was the application of science. A scientist observes, experiments, and records his findings. An engineer uses these findings to build stuff.
When science isn't driven at least in part by problem solving, there's a tendency to wander off into interesting but arcane fields with little potential for application any time soon.<p>You can argue that eventually all science will be useful somehow or that as long as someone finds it interesting, it doesn't really matter. But, it seems a waste for brilliant minds to pursue largely irrelevant questions when they could dramatically make the world a better place now just by shifting their interests a bit.