TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

What if I went to a Java school Joel?

19 pointsby muriithialmost 17 years ago

7 comments

jcromartiealmost 17 years ago
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 未加载
kylecalmost 17 years ago
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_salmost 17 years ago
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.)
diegoalmost 17 years ago
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 未加载
prosperoalmost 17 years ago
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.
spydezalmost 17 years ago
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 未加载
randrewsalmost 17 years ago
"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 未加载