Java Forum / General / January 2006
Interesting article by Joel Spolsky: The Perils of JavaSchools
Casey Hawthorne - 12 Jan 2006 00:55 GMT Interesting article by Joel Spolsky: The Perils of JavaSchools
http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html
-- Regards, Casey
IchBin - 12 Jan 2006 02:06 GMT > Interesting article by Joel Spolsky: The Perils of JavaSchools > [quoted text clipped - 3 lines] > Regards, > Casey There is some truth to it. I guess, you could lose some deeper abstract training unless you are a double major\minor in math. I come from those days of yore also but then.. I did not have to patch wires to run the mainframe in my day either. I did spend most of my career in systems programming coding mainframe assembler but then I was a psychology major, go figure.
 Signature Thanks in Advance... IchBin, Pocono Lake, Pa, USA http://weconsultants.servebeer.com/JHackerAppManager __________________________________________________________________________
'If there is one, Knowledge is the "Fountain of Youth"' -William E. Taylor, Regular Guy (1952-)
Chris Smith - 12 Jan 2006 07:15 GMT > Interesting article by Joel Spolsky: The Perils of JavaSchools > > http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html I think the problem is ever-so-slightly mis-diagnosed. The problem isn't the mere use of Java to teach computer science in universities. It is two-fold:
a) The use of ONLY Java to teach computer science... or ONLY any language. A computer science graduate who only knows one language well enough to implement non-trivial projects is a symptom of a seriously deficient program.
b) The de-emphasis on real computer science, which the article definitely mentions but doesn't spend enough time on. As long as universities continue to believe that "computer programming" is anything more than a necessary skill for doing computer science -- in much the same way that use of a word processor or typewriter or pencil is a necessary skill for writing a novel -- no choice of programming language is going to be sufficient.
In the end, (a) is probably a consequence of (b) anyway... so attacking the problem by complaining about universities that teach in Java is all wrong.
 Signature www.designacourse.com The Easiest Way To Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer MindIQ Corporation
Raymond DeCampo - 12 Jan 2006 15:20 GMT >>Interesting article by Joel Spolsky: The Perils of JavaSchools >> [quoted text clipped - 11 lines] > b) The de-emphasis on real computer science, which the article > definitely mentions but doesn't spend enough time on. He also tries to have it both ways in the article on this point. He seems to equate learning computer science with learning programming languages like C, Scheme, Haskell, etc. These are simply applications of computer science. One can learn a lot about computer science without learning specific programming languages.
> As long as > universities continue to believe that "computer programming" is anything [quoted text clipped - 6 lines] > the problem by complaining about universities that teach in Java is all > wrong. Ray
 Signature This signature intentionally left blank.
Dimitri Maziuk - 12 Jan 2006 17:07 GMT Raymond DeCampo sez: ... He
> seems to equate learning computer science with learning programming > languages like C, Scheme, Haskell, etc. These are simply applications > of computer science. One can learn a lot about computer science without > learning specific programming languages. In theory, if you did a pure CS theory course, maybe -- but then you'd be unemployable. Any practically useful course will have one or two languages that you write assginments in, plus it will at least introduce the concepts behind Pascal, C, Lisp, SmallTalk, Prolog, and a few others.
Dima
 Signature Relativity, Uncertainty, Incompleteness, Undecidability: choose any four
Chris Smith - 12 Jan 2006 17:40 GMT > In theory, if you did a pure CS theory course, maybe -- but then > you'd be unemployable. Any practically useful course will have one > or two languages that you write assginments in, plus it will > at least introduce the concepts behind Pascal, C, Lisp, SmallTalk, > Prolog, and a few others. There are two ways that "practical" could be used here.
In one sense, you could be complaining that without knowing any programming languages, the computer science student would be left without the tools to do any investigation into computer science. I would certainly agree. Read any peer-reviewed computer science journals or doctoral dissertations or the like, and you'll find that a fair majority of them involve implementation of some concept of algorithm in order to provide experimental results (benchmarks, etc) that confirm the theoretical concepts. In fact, I was interested in garbage collection algorithms for some time, and I'd say it fair to assert that the particular field of garbage collection is dominated at its very core by empirical results. So yes, it's definitely true that programming languages are practically necessary to do serious computer science work.
Then you talk about employment. That's just another consequence of being confused about what computer science is. We're reaching the point where universities begin to distinguish between computer science and software engineering, at least at advanced levels such as in masters programs. As we move in that direction, there will be less and less confusion over what computer science means, because software engineering will describe the people who implement software systems... including myself, for example.
 Signature www.designacourse.com The Easiest Way To Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer MindIQ Corporation
Dimitri Maziuk - 13 Jan 2006 06:56 GMT Chris Smith sez:
> Then you talk about employment. That's just another consequence of > being confused about what computer science is. We're reaching the point [quoted text clipped - 4 lines] > will describe the people who implement software systems... including > myself, for example. There are very few jobs in academentia. There are even fewer "pure science"-type jobs in CS outside of academentia. Thus, very few "computer science" postgrads are employable after their second postdoc.
Once undergrads figure out that "computer science" program will get them starved 5 years down the track, they'll stop enrolling in it and schools will start closing such programs down.
In the meantime, "software engineering" courses will teach blub programmers Java ... "My God, they're trying to dumb down the curriculum even further!"
Dima (oh, wait, didn't I just read this somewhere?)
 Signature We're sysadmins. Sanity happens to other people. -- Chris King
Chris Smith - 13 Jan 2006 15:30 GMT > There are very few jobs in academentia. There are even fewer > "pure science"-type jobs in CS outside of academentia. Thus, [quoted text clipped - 5 lines] > enrolling in it and schools will start closing such programs > down. Are you sure? I have a brother with a philosophy degree.
 Signature www.designacourse.com The Easiest Way To Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer MindIQ Corporation
Oliver Wong - 13 Jan 2006 21:26 GMT > There are very few jobs in academentia. There are even fewer > "pure science"-type jobs in CS outside of academentia. Thus, [quoted text clipped - 9 lines] > programmers Java ... "My God, they're trying to dumb down the > curriculum even further!" My best friend from highschool went on to a Software Engineering program. I was in the Computer Science program.
I often poked fun at how he lacked understanding of certain concepts in CS. He wrote code for an embedded processor, but didn't know the difference in expressive power between an DFA, a regular expression, and a Turing Machine. He learned to program in C, but didn't know how to analyze the asymptotic running time performance of various sort algorithms, and in what situations one algorithm would be faster than another. He wrote some client server applications, but didn't know what a petri net is.
Now we both have jobs, but he makes more money than I do.
And he STILL occasionally e-mails me, asking for my advice on how to solve problems he encounters at work.
- Oliver
Chris Smith - 14 Jan 2006 04:26 GMT > Now we both have jobs, but he makes more money than I do. > > And he STILL occasionally e-mails me, asking for my advice on how to > solve problems he encounters at work. And to some extent, that's how it should be -- not the part about your friend making more money than you, of course, which I'm not qualified to speak to; and not necessarily that software engineering experts should be clueless regarding the concepts of complexity and computability, either. However, while they are the very foundation of computer science upon which most everything else is built, these concepts are not the core areas of expertise of the software engineer. They are somewhat rarely needed in large-scale business software systems.
This isn't to say that software engineering is for losers, while CS is for smart people. It's just as poor an idea for software developers to be undereducated as for computer science students to be so. I don't mean to say that I think it's okay for software engineering programs to turn out single-minded developers that can only solve a certain kind of problems. I just don't believe that "software engineering" has developed enough that it's possible to point to all the things that the software engineer should know , but with which the computer science researcher would not be mainly concerned. As the field is developing, though, these things appear to include mechanisms for managing complexity and levels of abstraction. Those techniques are fundamentally outside of the domain of computer science.
If software engineers need to approach computer science (or even slightly more computer science educated colleagues) for occasional help with algorithms, that's what a computer science education is for. Similarly, they also frequently approach lawyers for interpretations of statutes that regulate the insurance industry, or approach physicists for formulae for determining the result of collisions of rigid bodies, etc. It is their expertise to ask the right questions, then put it all together and make the product work.
 Signature www.designacourse.com The Easiest Way To Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer MindIQ Corporation
mpx - 12 Jan 2006 10:27 GMT The market forces shifted main burden of programming from inventing and coding algorithms to using existing components. The main chunk of time in a real-world learning is rather memorizing all those libraries/frameworks/tools/design patterns which seem to created and extended faster than one can learn how to use them. The only intellectualy demanding problems left seem to be multithreading and asynchronous system design.
There is of course a class of people inventing new algorithms, and creating those libraries/frameworks/design patterns that 95% of others just implement. But they are a minority, and therefore there should be separate courses for them.
Oliver Wong - 13 Jan 2006 21:26 GMT > The market forces shifted main burden of programming from inventing and > coding algorithms to using existing components. The main chunk of time in [quoted text clipped - 8 lines] > just implement. But they are a minority, and therefore there should be > separate courses for them. Some feel that if you want to learn a useful skill to get a job, you shouldn't be going to university at all, but some sort of technical crafts college. They would argue that university is for "higher learning", for which the "everyday usefulness" may be more subtle.
- Oliver
blmblm@myrealbox.com - 12 Jan 2006 18:26 GMT >Interesting article by Joel Spolsky: The Perils of JavaSchools > >http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html Indeed. There's a discussion going on in comp.programming as well, sparked by a similar message. Search Google groups for newsgroup comp.programming and "spolsky" in the subject line ....
FYI, FWIW, etc.
| B. L. Massingill | ObDisclaimer: I don't speak for my employers; they return the favor. Chris Smith - 12 Jan 2006 21:54 GMT > Indeed. There's a discussion going on in comp.programming as well, > sparked by a similar message. Search Google groups for newsgroup > comp.programming and "spolsky" in the subject line .... Sparked by the same multiposted message, in fact. Nevertheless, I prefer our thread, which is not dominated by a kook who wants to feel superior to everyone but refuses to explain any concepts.
 Signature www.designacourse.com The Easiest Way To Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer MindIQ Corporation
Casey Hawthorne - 16 Jan 2006 19:17 GMT Which is why I posted the message here to see if there would be more intelligent discussion,as opposed to comp.programming where things seemed to deteriorate!
>Sparked by the same multiposted message, in fact. Nevertheless, I >prefer our thread, which is not dominated by a kook who wants to feel >superior to everyone but refuses to explain any concepts. -- Regards, Casey
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|