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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: Suggested OS for teaching programming

9 点作者 chriszf大约 13 年前
I don't like the term webapp, because it diminishes the nature of the work. When I say programming, I mean writing database-backed multi-user network applications with a web interface. So yes, a webapp, but there's more to it than that.<p>Anyway, I have the opportunity to set up a learning environment to teach a bunch of bright, aspiring developers everything I know about my craft in a very short time, and I've reached the point where I have to choose the machines I'm going to use. Now, because I'm crotchety and apparently just stepped out of a time capsule, I want to teach debian-flavored linux: that's what I develop in and deploy to.<p>On the other hand, a colleague of mine extols the virtues of OSX and indeed, I can't deny the increasing ubiquity of macs in the silicon valley. He's pushing heavily for a mac environment and makes good points in favor of it. I even carry a macbook air when I don't feel like burdening my shoulders with my usual laptop, so I can't argue too much against it.<p>Now, without devolving into a "mac is better than XYZ" discussion, my question to HN is this: does it make sense to teach <i>new</i> developers linux directly as part of their education, or should I let them accrete knowledge of deploy environments and system configuration over time?

7 条评论

japhyr大约 13 年前
I have been teaching high school math and science for a while, and I am starting to teach programming within my math and science classes. I am using linux (ubuntu) for programming work for a number of reasons:<p>- It's what web apps are deployed to in the real world, so any student who will go on in the field will need to know linux.<p>- Students love linux. I have had very few students who knew anything about linux before they came to my school, but everyone enjoys using it when they have the opportunity.<p>- It's easy to get a programming environment up and running.<p>- Students get open source. They love that it's free as in price and free as in freedom.<p>- Using linux avoids adding to the education gap between classes. To really learn programming, you must program on your own time. You can not expect people to program well if they don't have their own computer. You must be free to have an idea after dinner, and follow up on your idea that evening. Not everyone can afford a mac; it is very easy to set someone up with a cheap or donated laptop running linux.<p>I'm happy to hear you are sharing your expertise with students. Many students don't find anyone in their schools that really get programming. That first contact with a real programmer can easily be life-changing.
1331大约 13 年前
I recommend Debian for many reasons, but the primary reason to choose Debian over OS X is package management. Installing the development platform, a database server, an HTTP server (if required), a decent text editor, and any other necessary tools is very easy in Debian. Doing so in OS X, on the other hand, is often problematic.<p>I taught a Haskell course last year, where participants brought their own laptops running Linux, OS X, and Windows. Linux was the least problematic. If I do a similar course in the future, I am thinking about providing a Debian virtual machine image for anybody who runs OS X or Windows.
bmelton大约 13 年前
If there's a way to poll the students before hand, I'd recommend that. Let the majority decide. You want to teach them how to do things that presumably are not "learn how to use an Operating System". Don't get in the way of that. Another factor is what operating system they're already using. If they can't take your lesson home and replicate it on their own hardware, what's the point?<p>Also depends on your technology stack. What's the burden for getting the tools you need onto OSX? If it's higher than installing .dmgs, or using Homebrew, then compare and contrast with that same level of effort on a Linux platform.<p>It might be that the argument isn't even Linux vs OSX, but which flavor of Linux. Debian is great, and has tons of packages, but if you're wanting to support newer packages, Ubuntu might be the way to go, for example.<p>A point in favor of OSX might be that Linux developers are likely going to be able to grok OSX greater than the other way around. But in the other column, Linux is going to work on a much greater variety of hardware.
pestaa大约 13 年前
<p><pre><code> I mean writing database-backed multi-user network applications with a web interface. So yes, a webapp, but there's more to it than that. </code></pre> Webapps are exactly that. Database-backed multi-user network applications with a web interface. However, I can understand why you want to explicitly state the context (the phrase lost credibility.)<p>However, an index.php with `&#60;?php phpinfo() ?&#62;` in it is not a webapp imho, but still useful for teaching the network stack.<p>I'd go with Linux, certainly. If they are really bright and aspiring, they'll recognize the power of open platforms anyways. Just my two cents.
steventruong大约 13 年前
One thing for consideration is what system each student has access to. If they are Window users, you can have them install Linux. The same could not be said for a Mac (albeit I'm a Mac user myself). It should really depend on your students and whether or not they have access to a Mac and more importantly Mac tools you aim to use for teaching purposes as they'll most likely go off what you're using to teach them even if the tools in the end are different for different people.
jacquesm大约 13 年前
Linux comes with every programming language under the sun an apt-get/yum/pacman away, it is by far the easiest os to teach/learn programming on.
brudgers大约 13 年前
OSX doesn't readily scale to the web.<p>Linux and Windows do.