Live data from Hacker News

Ask HN: I've learned a programming language – how do I solve problems with code?

news.ycombinator.com

71–80 of 112 posts

Re: Ask HN: I've learned a programming language – how do I solve problems with code?

#71
http://rosettacode.org/wiki/Rosetta_Code

I'm currently learning Python and I did the Letter Frequency problem and I'm now working on the Bulls & Cow problem. I highly recommend you visit the website and pick a random task(s) and solve it using code.

Re: Ask HN: I've learned a programming language – how do I solve problems with code?

#72
Hey bnb. A few thoughts from my perspective.

What does it mean to "solve a problem"? Furthermore, how can computers be used as a solution? Let me illustrate this with a precautionary tale. It doesn't involve software design, but the principles are the same.

An old company I worked at had a crippling problem. Development groups were not communicating with each other. Each team would work on a module, only to find there were separate interfaces. Months of man-hours were wasted, time and time again. An up and coming intern convinced the management he could solve the problem by implementing a forum. Resources were allocated, and he spent the next few weeks setting up phpBB. Hopefully you can see where this is going.

The tedium of checking forum threads soon wore on the jaded developers. Nobody wanted to root through non-threaded, disorganized responses, or update the attached Wiki. Soon, the server turned into a forgotten wasteland.

Computing problems are solved with computers. Human problems are solved by good leaders. Sometimes, computers can help. Although the forum didn't work, a new developer was hired as I was switching jobs, and was doing a marvelous job uniting the development team. Before I left, a Jabber server was setup in place of the forum. The reception was much better--but the real problem solver was a good leader. Not the computer.

Re: Ask HN: I've learned a programming language – how do I solve problems with code?

#73
There's some great comments here to the effect of "find a project to do". That's ok, but I find the problem with that is you tend to find projects that you already know how to do, and you end up making a spec that is just a slightly bigger hello world. You miss out on collaboration and moving goalposts.

Real world projects often come from other people, the spec changes over time, and other devs need to collaborate with you.

Make me a tutorial site that exercises these two goals, with someone else at your level.

Re: Ask HN: I've learned a programming language – how do I solve problems with code?

#74

Hi bnb, I started programming around 20 years ago - self taught and experiencing the same problems as you in the early beginnings. I made mistakes when I started - jumping around between languages - thinking I couldn't grasp something - jumping from one tutorial to another, and another, and another - I wish I started learning algorithms & data structures earlier - I wish I took time to dive deep instead of rushing to…

This is definitely speaking to me. I started with .NET almost a year ago and I said I'm going to learn everything about the framework inside and out. I said it was my goal to be employed as a C# developer and love what I do. .. I haven't touched C# in almost 3 months. I got interested in Android which led to Java which led to Spring which led to Grails then I said "Hey whats Node JS?" then Ember and Angular .. and on…

And this is pretty much how it goes for everyone. At first you think that learning X language and Y framework is a goal unto itself. You then realize that solving problems is the real goal, and that languages/frameworks/libraries/whatever are just tools which enable you to get stuff done. Many of us could write a long list detailing all of the technologies that we know, but really; who cares? What have you done with them? That's the important bit.

Re: Ask HN: I've learned a programming language – how do I solve problems with code?

#75
I'm in the same boat and it's so frustrating I've simply given up caring whether or not I actually ever make anything. I did Udacity CS101, (253 was a nightmare), every single Codecademy track, Ruby Koans, Ruby Monk, Learn Python The Hard Way, Command Line the Hard Way, and the Ruby on Rails Tutorial. That's a couple of years of daily practice. There's no shortage of projects I want to make or actual problems I'd like to solve. I kept hoping I'd run across something that was close enough to what I actually want to do, that I could bend it to my will. Here's what I think would work: Using Michael Hartl's Ruby on Rails Tutorial as a model, add 10 projects that increment in complexity between 'Hello World' and the Twitter clone.

I assumed that smart people who code would be able to solve the problem of teaching eager minds how to make stuff with code. I was wrong!

Re: Ask HN: I've learned a programming language – how do I solve problems with code?

#77

Excellent question for a Friday. Coding is like welding, how do you find two pieces of metal that need to be joined? Generally the answer is visualize something that could exist, but does not exist, and then fill in the parts that need to be there for it to exist. What you need at this point are a series of assignments which are self-contained problems with known solutions. The assignment 'create a web server that di…

One of my favourite comments ever on HN. The welding analogy is apt.

I am learning to code and the welding analogy is helpful and encouraging. I am a competent welder (TIG, MI & Arc). I'm confident that with enough practice and commitment I will be an even more competent programmer.

Re: Ask HN: I've learned a programming language – how do I solve problems with code?

#80
The reason you don't know how to solve a problem is because you do not have a solid grasp of what you learned. This will sound harsh but node.js is a horrible beginner choice. you should've learned python, java, php. asynchronous programming is a bit advanced way of doing things, and synchronous, functional programming works best. i've dabbled with OOP, but have rejected it largely because it doesn't work well for most of my projects.

Pick a new language, which will be now easier since you know javascript, create a simple project with it. Once you get to creating something, you will realize, the confidence to solve other problems. You keep going until you are very confident. You can't learn it, you have to use it.

Post reply on HN