Hacker News new | past | comments | ask | show | jobs | submit login

You've identified a very real pain point, one that affects all programmers. One of the most difficult and annoying tasks is configuring the computer to run your darn software. I've sometimes spent days just setting up a computer (either a VPS, or my own computer). Unfortunately, this pain point never really goes away, although it does get easier as you learn more.

I've had many conversations with other programmers about solving this problem. We always fantasize about building an installer that just sets up everything you need for, e.g. Ruby on Rails. And people have tried! Every so often, you see an announcement about an open source project that promises to do just that. Even though this has been going on for years, I don't know anyone who actually uses these projects.

I think part of the problem is that the technology moves too fast for these one-click installers. They can't seem to stay current. Every time you get an update to the operating system, the database, the webserver, the web framework, the language runtime, etc etc, there's a potential for the one-click installer to break.

Another issue is interference from other stuff installed on the computer. I can't tell you how many times a piece of Unix software has failed to install because of something else I'd put on my computer and long since forgotten.

So one-click installers haven't been a panacea thus far. But I will say that the situation has improved dramatically in the last five years or so. Package managers--programs that automate installation of individual components--have gotten way, way better. It used to be that every other package I installed would fail the first time, and I'd have to do some kind of troubleshooting. That hardly ever happens anymore.

Now, this doesn't exactly make everything easy for new programmers. You still have to learn a lot of system administration to get anything done. Which brings me to my last point, which is a bit of advice for people just starting out:

You'll want to read some tutorials on various aspects of the Unix operating system. These will be very relevant to the problems mentioned in the parent comment: SSH, shell, installing packages, compiling from source, etc.. Generally, programming tutorials won't get into this stuff. You need Unix tutorials. This stuff will probably seem pretty boring in comparison to actual programming. It sure is for me. But it's a bit of unavoidable drudgery if you want your code to actually run.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: