the trailboss abuses his CodeRanch power for his other stuff (power corrupts. absolute power corrupts absolutely is kinda neat!)
permaculture light bulbs permaculture electric heat permaculture cast iron permaculture wood burning stove permaculture solar food dehydrators
The moose likes Meaningless Drivel and the fly likes Joel Spolsky - Java - Useful and great language, but dumbs down programming Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Other » Meaningless Drivel
Bookmark "Joel Spolsky - Java - Useful and great language, but dumbs down programming" Watch "Joel Spolsky - Java - Useful and great language, but dumbs down programming" New topic
Author

Joel Spolsky - Java - Useful and great language, but dumbs down programming

David Blaine
Ranch Hand

Joined: Mar 23, 2013
Posts: 70
I read this excellent article by Joel Spolsky - The perils of Java Schools

It basically says that - Java is not a good language to differentiate between excellent and mediocre programmers
Any college that becomes "all java" or focuses most of its curriculum on Java is at a disadvantage. Greater importance
must be given to C.

I couldn't agree more. Java hides so many things, which is good from the productivity and reusability point of view. But
mainly java or only java, is not good for beginners. To learn CS, master C and then master Java.

here is an excerpt from the article -


Nothing about an all-Java CS degree really weeds out the students who lack the mental agility to deal with these concepts. As an employer, I've seen that the 100% Java schools have started churning out quite a few CS graduates who are simply not smart enough to work as programmers on anything more sophisticated than Yet Another Java Accounting Application, although they did manage to squeak through the newly-dumbed-down coursework. These students would never survive 6.001 at MIT, or CS 323 at Yale, and frankly, that is one reason why, as an employer, a CS degree from MIT or Yale carries more weight than a CS degree from Duke, which recently went All-Java, or U. Penn, which replaced Scheme and ML with Java in trying to teach the class that nearly killed me and my friends, CSE121. Not that I don't want to hire smart kids from Duke and Penn -- I do -- it's just a lot harder for me to figure out who they are. I used to be able to tell the smart kids because they could rip through a recursive algorithm in seconds, or implement linked-list manipulation functions using pointers as fast as they could write on the whiteboard. But with a JavaSchool Grad, I can't tell if they're struggling with these problems because they are undereducated or if they're struggling with these problems because they don't actually have that special part of the brain that they're going to need to do great programming work. Paul Graham calls them Blub Programmers.

Jelle Klap
Bartender

Joined: Mar 10, 2008
Posts: 1836
    
    7

There's no such thing as an all-Java CS degree, or at least there ought not be. The CS landscape is extensive, and far more concepts are far more difficult and far more important to understand than pointers in C. The article is an absolutely riddiculous oversimplification of reality.


Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31057
    
232

That article is getting dated - although in all fairness it always was. A school shouldn't just teach C and Java either. There should be at least one functional language (we used Lisp - Scala would be fine) among other things. We learned assembly language too which was interesting and fostered an appreciation of that level.


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

David Blaine wrote:Any college that becomes "all java" or focuses most of its curriculum on Java is at a disadvantage. Greater importance
must be given to C.


The complaint may have some small amount of merit in a trade school. It has no relevance at all in a Computer Science degree. A BS in CS is not a trade school certificate. Its about the Science of using Computers. The programming language that you use to do exercises is irrelevant, just as the human language used to teach is not relevant. Suppose the article was talking about English and French, and saying that if you are taught CS in French, you are at a disadvantage. You would be laughed out of any serious discussion.

The topics in a CS degree are algorithms, data structures, databases, compilers, etc. They have nothing to do with the particular implementation language. Just as they have nothing to do with the difference beween say Oracle and MariaDB.

IMHO, the majority of firms hiring programmers want dumbed down programming, as its hard enough to make a large project work.
Anayonkar Shivalkar
Bartender

Joined: Dec 08, 2010
Posts: 1512
    
    5

Joel Spolsky wrote:The recruiters-who-use-grep, by the way, are ridiculed here, and for good reason. I have never met anyone who can do Scheme, Haskell, and C pointers who can't pick up Java in two days, and create better Java code than people with five years of experience in Java, but try explaining that to the average HR drone.

Wow!

To me, this seems a typical 'C/C++ is better than Java because it is more difficult to use' sort of article.

What C pointers has to do with OO design? And don't even get me started on Java code meant for production environment. I bet Joel has never had a client who wanted the code to be written in Java (because the client has to ship the product in multiple OS), the code is going to be run for months (without 'core dumps' of course) and then, the client says that 400 millisecond is 'huge' time, and code must be faster than that (believe me - configuring an efficient garbage collector is not a joke).

There, the experience of 5 years comes into picture, and there, a person who has picked up Java in 2 days flats out.

I've worked in C++ and Java. Both are beautiful languages. Java is my personal favorite. But then, every programming language has its own purpose. C/C++ would be my first choice to write device driver, and Java would be obvious choice to develop enterprise application.

Besides, a good developer picks up any programming language quicker than a bad/mediocre developer (but I seriously doubt if it is '2 days').

By the way, is it just a coincidence that the article does not have any facility to log the comments?


Regards,
Anayonkar Shivalkar (SCJP, SCWCD, OCMJD, OCEEJBD)
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

When I read the article, I got the feeling Joel was doing the same thing the 'HR Drones' he criticizes do: you have too many applicants to really qualify, so instead simplify the processes by generating generic litmus tests to eliminate people without having to think based on arbitrary experience. The rest of the article has the same character as the trolls who used to go around the forums posting in C++ versus Java flame wars.


Steve
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

Anayonkar Shivalkar wrote:Besides, a good developer picks up any programming language quicker than a bad/mediocre developer (but I seriously doubt if it is '2 days')


I could believe that an experience programmer who has used half a dozen other languages can pick up Java the language in two days, maybe fewer. But Java is not the language, its an environment with hundreds of libraries. Sadly, the libraries are independent and have differing calling styles and philosophies. I can't see anyone picking up the serious libraries in even two days per library.
Jelle Klap
Bartender

Joined: Mar 10, 2008
Posts: 1836
    
    7

If Java unexpectedly proves too difficult to master in the requisite two days, one could always create ones own language that compiles to a target platform in, say, VBScript, PHP and JavaScript. Just because one could.
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

This old article has become rather ironic, given that Joel's masterwork -- StackExchange -- is written in Java^H^H^H^HC#.


[Jess in Action][AskingGoodQuestions]
David Blaine
Ranch Hand

Joined: Mar 23, 2013
Posts: 70
Ernest Friedman-Hill wrote:This old article has become rather ironic, given that Joel's masterwork -- StackExchange -- is written in Java^H^H^H^HC#.


Wow really ?
David Blaine
Ranch Hand

Joined: Mar 23, 2013
Posts: 70
Steve Luke wrote:The rest of the article has the same character as the trolls who used to go around the forums posting in C++ versus Java flame wars.


JS is a trollolol

Mike Simmons
Ranch Hand

Joined: Mar 05, 2008
Posts: 3018
    
  10
David Blaine wrote:
Ernest Friedman-Hill wrote:This old article has become rather ironic, given that Joel's masterwork -- StackExchange -- is written in Java^H^H^H^HC#.


Wow really ?

Yeah - but to be fair, Joel seems to have had little to do with the implementation; it's Jeff Atwood who spearheaded that. And their use of a particular implementation language wouldn't really have much to do with the main point of the article anyway, which is about languages to educate CS students. Which is not to say that Joel isn't full of a fair amount of crap here - but hey, it's not the first time a website is run by a pompous windbag, and it won' t be the last.
pawan chopra
Ranch Hand

Joined: Jan 23, 2008
Posts: 413

Joel may be a good business man or a programmer. But these things will not help anybody. I am a Java Programmer and I love it. And if somebody feels that Java Programming does not need a brain then I can't say anything. Anyhow Joel is trying to get popularity by reacting against popular things.

He did it with Kent Beck , Uncle Bob
Read here

I don't care what he says.


Pawan Chopra
SCJP - DuMmIeS mInD
Frank Silbermann
Ranch Hand

Joined: Jun 06, 2002
Posts: 1390
" I used to be able to tell the smart kids because they could rip through a recursive algorithm in seconds"

My experience as a student and as a teacher is that recursion when first presented was mindblowingly difficult -- both to understand and to use. And then, after spending a week going through The Little Lisper (http://en.wikipedia.org/wiki/Daniel_P._Friedman), recursion becomes easy and natural.

So if someone can rip through a recursive algorithm in seconds, it might simply mean that they read the right book.
Amit Ghorpade
Bartender

Joined: Jun 06, 2007
Posts: 2718
    
    6

Linked list implementations using pointers?
Seriously?? Is he really using that in a production environment?


SCJP, SCWCD.
|Asking Good Questions|
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Joel Spolsky - Java - Useful and great language, but dumbs down programming