TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

The Perils of JavaSchools

37 点作者 ahmicro超过 13 年前

10 条评论

alexgartrell超过 13 年前
An interesting semi-related follow up from the former Fog Creek VP of Eng (now at Khan Academy): <a href="http://bjk5.com/post/3340326040/in-any-language-you-want-khan-academy-interviews" rel="nofollow">http://bjk5.com/post/3340326040/in-any-language-you-want-kha...</a><p>Not understanding the underlying fundamentals when programming in high level languages can be really dangerous, but generally it's not. I kind of view the ongoing development of Compilers, VMs, JITs, etc. as being somewhat parallel to that of processors. At one point, optimizing with machine code was crucial to obtain performant code, but with crazy-ridiculous superscalar processors and all of the things that come with it, all you can really do is code C, compile with -O2, and then guess and check on optimizations. I wouldn't be surprised if this was the case in most high-level languages before long.<p>Don't get me wrong, I first read this in High School and this was the essay that made me love C, and made me want to try to get an internship at Fog Creek. I just think it's starting to show its age.
评论 #2988130 未加载
评论 #2988187 未加载
评论 #2988809 未加载
评论 #2988591 未加载
评论 #2988760 未加载
Zimahl超过 13 年前
"... 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."<p>From a guy whose company isn't creating accounting applications but Yet Another Bug-Tracking Application, Yet Another Source Control Application, and Yet Another Remote Desktop Application. I generally like Spolsky's articles about software but this one is a little too pot-kettle for my taste.<p>The plain fact is that the time of low-level languages where pointers are king is over. You can get great performance without them, more specifically without messing with memory at all. Of course, pointers still have their place and if you want to go that route feel free, but you can do a lot without them.<p>As a disclaimer, I went to school where C was our weed out course and Java was the new-hotness. On graduation I was in a university focus group that specifically asked us if they should change from C to Java for the intro course (I voted against the change). I like pointers and recursion but do not see understanding those as defining a great developer. I've seen plenty of people who were way more adept at pointers that couldn't design a fuctional system if they tried.
评论 #2988801 未加载
tikhonj超过 13 年前
This is a relatively old article; I think it misses one more rather important point: functional programming is becoming increasingly more popular right now, and Java is a language that seems to actually <i>discourage</i> using a functional programming style.<p>If you only ever use Java not only will you not know how to functionally program (this can be learned on your own anyhow), but also, and more importantly, you won't know when it's best to.
评论 #2991192 未加载
评论 #2988447 未加载
akavi超过 13 年前
It's somewhat amusing to read this essay while sitting in Yale's CS 323 class.<p>I do wonder, though, how much of this essay is Spolsky's investment bias (Ie, It must be worthwhile, because if not I suffered for nothing.)
oacgnol超过 13 年前
To preface my comment, my background is not in CS. I majored in biomedical engineering at UT Austin, where I chose a track that required a fair amount of programming.<p>In my curriculum, I was required to first take 2 courses using assembly language, then another course in C, and then a data structures course using Java. Is the growing standard nowadays to teach with Java from the get-go?
评论 #2988151 未加载
评论 #2988290 未加载
lucasjake超过 13 年前
The problem with this post has always been it starts out from the outset with a title that implicitly puts down a large segment of students.<p>Had Joel dug deeper into how someone could solve this problem for themselves, rather than brush off those who learned in this environment, this post would have been great. Instead, it comes off elitist and dogmatic.
评论 #2988254 未加载
silverbax88超过 13 年前
I've seen this article before, and on one hand, I get it. On the other, I think it's a dangerous trap to automatically think that people (in any profession) should know how to build something in detail from the ground up just to make it work.<p>Let's take a really great, experienced physician. Does he need to know how to make an X-Ray machine in order to perform neurosurgery? At what point does something, once required, become commonplace so that technology and expertise can evolve?
评论 #2988269 未加载
jrockway超过 13 年前
I think the real peril is that sub-optimal technology has become standard because "it's easy to hire people that know it". What's worse is that this is a positive feedback loop, since Java is the most popular language "in industry", students demand that they be taught it. This makes it more popular in industry, and the cycle continues.<p>I'm glad Java introduced automatic memory management to the average workaday programmer. I'm not glad that one of the better languages hasn't replaced it yet.
评论 #2988428 未加载
BonoboBoner超过 13 年前
"And thus, the ability to understand pointers and recursion is directly correlated with the ability to be a great programmer."<p>Wouldnt a few decades ago the statement have been:<p>Recursion an pointers are not enough, to be a great programmer you absolutely need to understand X,Y.
RJF超过 13 年前
Pointers - ok. But can't you (or are you better off not to) do recursion in Java? Why is that exactly?
评论 #2988661 未加载
评论 #2988683 未加载