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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

What if I went to a Java school Joel?

19 点作者 muriithi将近 17 年前

7 条评论

jcromartie将近 17 年前
He says that "if American Universities are going to keep up, they need to switch back to ... using C in the classroom."<p>Unfortunately, he doesn't understand the goals of most American schools. The goal is <i>not</i> to give the students a well-rounded education to serve as a foundation of lifelong achievement. The goal is to <i>get paid</i>.<p>A lot of schools used C because it was popular, and because the industry would support a system that produced C programmers. Now Java is popular and the industry supports schools that produce Java programmers.<p>If Haskell becomes the next big trend in enterprise development, then kids will start getting good CS educations again.
评论 #262318 未加载
kylec将近 17 年前
My advice is to just teach yourself the stuff you want to know. If you want to learn C, pick up "The C Programming Language" and start writing programs in it.<p>I have never even heard of fixed point theory either. Instead of blaming my college I'm going to take charge and learn about it myself. We are truly fortunate to be living in a time where information is available at the touch of a button.<p>As a side note, the ability to learn by teaching yourself is much more valuable than the ability to learn in a classroom. Getting practice now will put you ahead in the future.
scott_s将近 17 年前
I tried to post a comment on his blog, but it's inaccessible.<p>Short version: pick a systems programming project to learn C. I think implementing a memory allocator is a good one. You can code a brain-dead simple memory allocator in less than a few dozen lines. It will perform horribly and waste resources, but it's still functionally complete. As you learn more, you can make the allocator more sophisticated.<p>(Although I'm biased since memory allocation was a research project of mine.)
diego将近 17 年前
Any serious CS program should have a class like this:<p><a href="http://moodle.cs.huji.ac.il/course/view.php?id=66" rel="nofollow">http://moodle.cs.huji.ac.il/course/view.php?id=66</a><p>Workshop In Computer Construction - From Nand to Tetris<p>(book page: <a href="http://www1.idc.ac.il/tecs/" rel="nofollow">http://www1.idc.ac.il/tecs/</a>)<p>CS students need to be exposed to the lowest possible level of how computers work at least once, just to know that it exists. After that, it depends on each individual's curiosity.
评论 #262442 未加载
prospero将近 17 年前
I have to say, UC Irvine (the school discussed in the article) isn't really a Java school. Introductory students are taught Scheme, and the required curriculum includes language design, algorithms, and operating systems. Optional courses that I took included cryptography, computer graphics, computational geometry, and artificial intelligence. Some of these classes used Java, others didn't.<p>That being said, the threshold for just passing the classes never seemed very high. The education was there if you wanted it, but most students didn't seem to, and were happy to get by with a barely passing grade. This is obviously a problem, but different from the one discussed in the Spolsky article.
spydez将近 17 年前
One way to get some C-learnin' in Java school is to get a Computer Engineering degree instead of CS or Software Engineering. Microcontrollers and embedded stuff still has a lot of assembly and C.<p>That's what I did, anyways. Now I'm an embedded software engineer, writing in C++, and able to handle pointers and memory and such.<p>My issue is how to learn functional programming. Can't learn it on the job, as this is a C++/Java/C# shop. And I haven't found a decent way to learn it as a hobby.<p>Hobbies are for scratching an itch, which usually means Python frankenscripts to make some mundane piece of work easier, or quick one-offs in PHP to amuse friends, or python/html/css projects that'll never be finished but seemed cool when I started.<p>Maybe someday the dirt cheap shared web hosting space will have RoR or Erland or Arc...
评论 #262779 未加载
评论 #262375 未加载
randrews将近 17 年前
"In addition, there are very few things that actually need to be written in C. Operating systems and compilers are the two big areas where use of C is nearly always required. Both are territory that I am not interested in venturing into at this point."<p>First, why is C nearly always required for writing compilers? I've written one in C and a few in higher-level languages, and the HLL ones were easier due largely to garbage collection.<p>Second, those two things, if learned, would teach him vastly more about computer science than just learning C. For a better understanding why, Steve Yegge's essay "Rich Programmer Food" is what you want to read.
评论 #262885 未加载