 |
Joel complains that Java is too easy
Posted by jacksjpt on December 30, 2005 at 02:37 AM | Comments (17)
Apparently, Java is so easy to do that lots of Uni's now teach it as the main language - or even as the sole one. And because its so easy, lots more students can learn it and manage to work in it successfully enough to pass the course. This is BAD (according to Joel). Java doesn't core dump. More BAD. The consequence for poor Joel, is that he can't tell the better students from the not so great ones. And consequently, of course, Java is rubbish. What is needed, according to Joel, is for universities to teach "hard" languages. Machine code would be a good option, and programming in punched cards would weed out the those programmers who can't get it right first time - Joel doesn't quite say that but taking his silly arguments to extreme would lead you down that path.
There is a natural inclination, especially for very competent people, to blame something else when they can't do something or find something hard. In this case, Joel can't seem to ask the right questions that tells him which grad programmers are better, so it's Java's fault, not his.
I suggest he updates his interview procedures and drags himself into the 21st century.
Joel's article can be found at http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html for those of you who like to read this kind of drivel.
Bookmark blog post: del.icio.us Digg DZone Furl Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment
-
Don't you think you've missed the point (in fact, all the points) completely? IMO he was focusing more on the fact that CS students these days do not learn the bare bone fundamentals, and go on straight to high level application programming. Which IS bad.
-Hrish
Posted by: talonx on December 30, 2005 at 05:00 AM
-
Actually I think I understand his point. He's not criticizing Java itself, but schools teaching Java *only*. I am a student in a French school where we learn ASM, C, C++, Prolog, Java... This is what Joel talks about: you need to learn the whole scope of programming to learn how to deal with difficult *technical* errors. Like when we you have to debug ASM remotely on a headless machine for the first time :) I am glad I have learned those "difficult" things at school because I won't forget them even though I use them very rarely. But the day I encounter something "low level", well I know at least where to start.
Posted by: gfx on December 30, 2005 at 05:04 AM
-
Lets see, Java is the first language you learn at the Uni I went too, but over the course of the degree we hit Lisp, Prolog, Asm, c, c++, Python, Haskel, parrallel programming in c, C#, ASP.net, and those are just the ones off the top of my head! It was whatever the prof wanted us to use we had to!
Fun stuff there!
Posted by: olsonje on December 30, 2005 at 11:01 AM
-
I think Mr. Joel hit the spot right on the money. IMHO Java is good for organizations trying to solve business problems. There they wany any programmer to do a decent job of producing software that helps them develop business apps. This doesnt mean that Universities goes around changing curriculam to be all Java. That doesn't make any sense. I remember be DS&A class - Rearranging those pointers to implement PATRICIA Trie drove me nuts! Cant really do and derive the same masochitic pleasure that in Java!!!
Posted by: tchangu on December 30, 2005 at 01:46 PM
-
This is my argument
http://www.jroller.com/page/srinivas?entry=perils_of_teaching_java_in
Posted by: srini77 on December 30, 2005 at 08:13 PM
-
Language
Java 2, PL/SQL, SQL
J2EE Technology
EJB, JDBC 2.0, RMI, JSP, SERVLET, JMS, Portlet
Markup Language & Related Technology
JDOM, XML (SAX, DOM), HTML 4.0, JavaScript
Middleware
EJB's, Hibernate
GUI
Swing/JFC
Architectures
N-Tier, MVC, Preferably IAA
Web Application Framework
Struts, Spring
Methodologies
OOAD, RUP
Design Patterns
GoF, J2EE Patterns
Modeling Language & Tool
UML, Rational Rose 2000
Application/Web Server
Web logic (6.x), WebSphere (5.x), JBoss (3.X), WebSphere Portal Server, Apache, Jakarta Tomcat
Testing Tool
JUnit
Java IDE
IBM WSAD (5.x), Eclipse (3.x)
RDBMS
Strong RDBMS Knowledge with DB2/ SQL Server/ Oracle
Operating Systems
Windows 2000, Unix
regards
Rahul Deo Bharadwaj
CEO
Binary Berries Advertising
Binary Berries Resources
Flat No.106 Rajasree Apartments
Plot No.2 Shobana Colony
West Marredpally
Secunderabad
500 026.
PH:040-27707290
Cell : 9849128646
www.binaryberries.com
We work with some of the best tech names in town. Get in touch if you are looking not just for a job which pays well but also a job which gives you satisfaction of learning and growth.
Posted by: rahuldeobharadwaj on December 31, 2005 at 02:38 AM
-
Rahul,
Nothing looks better than that old HTML 4.0 when you try to market your firm on the web :)
Posted by: kirillcool on December 31, 2005 at 05:13 AM
-
After reading through the article my understanding would be that the first sentence should have read 'Lazy teachers' . This looks more like a criticism on that particular uni's are just dropping their standards. I cannot see that it has anything to do with Java as such even though Joel seems to be creating such a connection. I do agree with him that uni's should be teaching 'programming' rather than 'programming on language X'.
I do however think that the requirements for the industry resources (people) are fairly broad and this article seems a bit narrow minded when it comes to looking at the industry as a whole. You can have brilliant minds within in your organization which go literally unused because the company has a broken infrastructure.
No need to bash someones opinion as drivel even if it takes a lot of writing to make a pretty simple point - maybe Joel is demonstrating that he is not lazy when it comes to writing :).
Posted by: gretar on January 02, 2006 at 01:44 AM
-
Jack,
... so, who spit in your coffee this morning?
Please take off your Java-colored glasses for a moment, and read the beginning of the article. Joel actually goes out of his way to write disclaimers, ie. how he doesn't think that Java's bad or anything like it. I was rather surprised to see that, as normally Joel just writes his opinions and waits for the wave of discontent wash over him...
And: let's not put words into Joels mouth. He hasn't said anything about teaching only MachineLanguage or even Assembly; C is a simple (compared to C++) language that allows you to work very closely to the machine.
It's very beneficial to know the low level, especially nowadays when all kinds of security problems occur (related to buffer overflows, and other nastiness): if you don't know how an activation stack works or how strings are implemented in C... then you can't understand these attacks and can't reason about them. If you have a breed of programmers who get glassy looks if you start talking about stack frames or allocation/deallocation... then there's something a bit off. And I know many people (at university) who can program, but have no idea at all how this magic called "function call" let alone "late binding method call" works... great... good luck explaining concepts like continuations, activation stack overflows, stac trashing, multiple dispatch, etc etc... to them.
Note how he doesn't claim that everyone should drop their JDK and switch to C (or C++)... it's just about teaching.
Posted by: murphee on January 03, 2006 at 05:37 AM
-
Joel hasn't even scratched the surface on how awful things have become.
It used to be that, when I taught a senior-level software engineering course, one team project was great, one or two limped along, and the remainder crashed and burned. Grading was easy.
Now, everyone is using sissy stuff like Checkstyle, javadoc, and JUnit instead of wrestling with segmentation faults. In every project, the code looks clean, is reasonably well documented, and--the horror--it actually works. The result: One project looks great. All the others look pretty good. Grading is a chore.
And Joel's prescription for change isn't right either. Scheme won't fix this. There is only one answer. Let's change the curriculum back to C++. And MFC. With mandatory use of COM. On Windows 98.
Cay
Posted by: cayhorstmann on January 03, 2006 at 08:15 AM
-
I have to back up Jack on this.My biggest problem with Joel's blog is his lack of statistics. He makes it sound like every 100% Java Uni in the world has sent students his way and they all suck...or the majority anyway. I'm sure a very small percentage of Unis of the world are on the resumes on his desk, and a small percentage of 100% Java Unis with it.My second biggest problem with the blog is that Joel thinks these universities owe him something. Personal screeners if you will. My third problem is Joel's outlook and even Cay's who posted above me in this talkback. Universities should fail the students...not challenge them...not help them...they should F'ing crush their self esteem, perhaps even their dreams, take their money, and force them down a different career path just so that Joel can have an easier time interviewing.I personally don't agree with an all 100% language school either. I believe logic is the most important thing, and languages are the necessary evil to prove the students are learning that logic. I had good times at my Uni with Java and Assembly. But I had equally bad times with ML and Perl. Lisp and C++ were also used while I was there.Really, my complaint against universities would be all of those humanities and global diversities courses I was forced to take that didn't relate to my CS degree at all. Man, there's a real argument! Gretar pointed out, it really comes down to the professors and departments, not what language they choose to use.
Posted by: dblair on January 03, 2006 at 09:41 AM
-
Java only is a bad strategy for a University. Universities should teach several very different languages to expose students to all things.
Posted by: dog on January 03, 2006 at 12:03 PM
-
I think few schools ONLY teach Java. What I have seen is they concentrate heavy programming in one language, namely C++ or Java. I think the bigger problem is the problems they encounter are typically too trivial vs scalable or precision level programming. A jet fighter or submarine require nanosecond computation, either assembly or C programming. That takes a different level of concentration then even writing malloc.
Posted by: smartinumcp on January 03, 2006 at 12:25 PM
-
Ironic that Joel is saying that Java isn't hard enough, yet the flagship product that his company makes -- FogBugz -- is written in ASP. Not ASP.NET, but ASP. What a joke. There is a lot of truth and validity to Joel's article, but I can't help but think that this has less to do with Java and more to do with Joel being and old-school functional programmer (aka. OO hater). The same goes for Paul Grahm.
Posted by: prime21 on January 03, 2006 at 01:58 PM
-
I started uni foundation with Java. IMHO, I learned OO concepts a whole lot easier. The following years, we were exposed to different languages and the emphasis was not the languages but rather the computational models behind them. Functional programming (Miranda) screwed with my head initially but I saw its elegance for certain problems. ibid Logic Programming in Prolog. Too bad employers focus on languages: interview tests still consist of syntax questions.
Posted by: whwong on January 03, 2006 at 07:18 PM
-
Yeah, nice point Jack... maybe while we are skipping fundamentals, some universities should "software architecture" and only use UML, don't even bother with Java - that would be even easier to pass. I couldn't agree with Joel more even though Java is my favorite programming language.
Posted by: stevedbrown on January 09, 2006 at 10:47 AM
-
Elementary school kids aren't allowed to use calculators to do arithmetic. Yet engineers and scientists use a variety of computing machines to help them do their work faster and more reliably. Just because we are in the 21st century doesn't mean that we should allow kids to use computers to do elementary math.
Tools and methods used to teach students how to program are fundamentally different from the tools and methods used by practicing experts in the industry.
Posted by: bagonous on January 14, 2006 at 01:17 PM
|