Hacker News new | ask | show | jobs
by jimbokun 4406 days ago
I have been programming a long time, and even now I often feel getting the environment set up to start something than just writing the actual code to solve the problem.

Compiler versions, dependency injection configuration files (why yes, I am a Java developer, how did you guess?), build systems, source control, dependency management, library incompatibilities, setting up a test environment, setting up and configuring databases and web servers, etc.

Maybe I don't actually spend as much time on these things as it feels like I do, but I do know futzing with this stuff when you just want to write real code to solve real problems is soul sucking and demoralizing.

So I definitely relate to the hard part of programming, beginner or not, as just getting to the point where you can actually write some code and see what it does.

4 comments

I really see your point on that. I am a hobbiest scripter, I know HTML/CSS, dabble in PHP and Javascript and can read a lot of C.

I tried learning Ruby/Rails a while back and spent 3-4 hours just trying to get the environment setup. I finally realized that Windows 7 was not a very popular OS to learn Ruby on and gave up.

On the contrary, getting a PHP/Python/Javascript "environment" setup is no problem. Notepad + a hosting account or any Linux/Mac and you are good to go.

This comment really resonates with me. It is what I think of when I hear that quote, "Technology has the shelf life of a banana". It demotivates from starting new side projects when the old ones take such efforts just to set up again. Code can give the impression that it has some timeless value like some truth that has always existed and you have captured, but in reality code cannot "exist"(or fulfill its purpose) in isolation.
So much of the time the basic environment isn't even enough. Consider writing a 3D game. You can't just load some data into a structure and then invoke render(). You have to choose the correct library that will be performant enough to work and simple enough to learn quickly. However good your code is it will be too slow if you are targeting the wrong environment. IMHO this accounts for a lot of the actual frustration of learning to code.
Thanks for this comment. I've found it to be spot on. It is absolutely demoralizing to spend weeks on trying to figure out env and deployment settings vs. actually making things with code. I hate dev environments so much. They destroy your will to learn.