Live data from Hacker News

My personal struggles with learning how to program

vutran.me

41–50 of 50 posts

Re: My personal struggles with learning how to program

#41

Earlier quoted context omitted.

> The #1 thing I told him to do is start by programming small, useless programs I couldn't disagree more. Seeing useful results on day 1 is a major motivator. Doing purely theoretical tasks for the sake of understanding is mind-numbingly boring. You only need to get into the details after you see the way to just get it working. I think this is why weakly typed, high-level scripting languages are so good at starting o…

That is the point I'm making: start small, make useless programs and see results quickly. If you start from scratch, trying to tackle something big will only frustrate you because there's too many things you need to learn before you can get a complex program up and running. No one needs a program that outputs the listing of a directory, but if you can get that working, then that's a huge accomplishment, especially fo…

i guess everyone has their threshold and qualifiers for "useless" :)

Re: My personal struggles with learning how to program

#42
post #5

The semi-colon thing to me really drives home the point that when I'm faced with a problem, I just feel so very stupid, so very incompetent, and then when I have a breakthrough (usually by letting my subconscious work on the problem for a while), I completely forget that I ever had a problem at all, and completely forget all of the misery I suffered through while it was a problem.

Something I find interesting about the large number of semicolon anecdotes in the comments is, as usual, LISPs got it right a long time ago. Unbalanced parens look weird even to non-programmers, and not wrapping up something you know is a "packaged unit of thought" also looks intuitively wrong even to non programmers. But should this line end with a semicolon; or not; hard to say

Also, REPL driven development vs 100 lines of text you don't completely understand and pray it compiles and good luck understanding the errors in a 100 line program, although a one line REPL usually isn't hard to figure out which line had the error (LOL).

You need not wear out your paren keys forever, but it might not be all that awful of an idea to at least start with a LISP like Scheme or Clojure or whatever, just to get the basics down.

This is, uh, not a new idea or an original idea of my own. Could do worse than pick up "Little Schemer" book. Someone should write the "Little Clojurist" book... assuming someone hasn't already. (edited to add, embarrassing, I searched the publisher of the Little... series for the obvious title and found nothing, turns out there's multiple crowd sourced projects along this general line, none official or commercial, or probably, legal)

Re: My personal struggles with learning how to program

#44
A (smart) friend recently bought me Raspberry Pi as a gift. As a non-technical person, I thought it was kind of a strange present at first. I figured I'd play around with it and learn some basic code before inevitably getting bored and tossing it aside.

That didn't happen. I started a couple Python tutorials on coursera and code academy and haven't looked back since. It's been a little taxing at times (pretty sure I experienced a similar semi-colon blunder) , but learning to program is really fun if approached as a hobby and not the end-all be-all of being successful in tech. I think the key is not to be too hard on yourself and get help whenever possible.

Re: My personal struggles with learning how to program

#45
post #11
post #2

Short and to the point. Good stuff. Hey guys, in your opinion, what language should I learn first? I am new to this and I will be going to codecademy and other sites. What is the most useful language for web apps and such. For example, what if I wanted to build useful things like my own product hunt.

Whatever you pick, pick just one and learn it well for a while before learning another. Don't fall into the trap of continuously changing technologies.

excellent. thank you.

Re: My personal struggles with learning how to program

#46
post #9

Earlier quoted context omitted.

> With ruby, use rails. I'd suggest Sinatra instead, and find some smaller ORM to go with it. There's _way_ too much magic going on in Rails to make for a good place to start.

When I was looking at the Ruby/RoR path, I started with Rails, took a step back to learn Ruby, then went back to Rails. At that point I decided to play with Sinatra a bit because I was getting overwhelmed with the Rails learning curve. Sinatra was cool to get something out quickly for sure. I'm definitely glad I ventured out of the Rails sandbox a bit. That said, the quantity and quality of Rails resources on the web…

So would you recommend Ruby over Python? That's the feel I am getting from your post. If so, why (besides the obvious resources you mentioned that are available for a noob like me)? Thanks so much by the way! Really excited.

Re: My personal struggles with learning how to program

#47
post #9

Earlier quoted context omitted.

> With ruby, use rails. I'd suggest Sinatra instead, and find some smaller ORM to go with it. There's _way_ too much magic going on in Rails to make for a good place to start.

When I was looking at the Ruby/RoR path, I started with Rails, took a step back to learn Ruby, then went back to Rails. At that point I decided to play with Sinatra a bit because I was getting overwhelmed with the Rails learning curve. Sinatra was cool to get something out quickly for sure. I'm definitely glad I ventured out of the Rails sandbox a bit. That said, the quantity and quality of Rails resources on the web…

[deleted]

Re: My personal struggles with learning how to program

#48
post #46

Earlier quoted context omitted.

When I was looking at the Ruby/RoR path, I started with Rails, took a step back to learn Ruby, then went back to Rails. At that point I decided to play with Sinatra a bit because I was getting overwhelmed with the Rails learning curve. Sinatra was cool to get something out quickly for sure. I'm definitely glad I ventured out of the Rails sandbox a bit. That said, the quantity and quality of Rails resources on the web…

So would you recommend Ruby over Python? That's the feel I am getting from your post. If so, why (besides the obvious resources you mentioned that are available for a noob like me)? Thanks so much by the way! Really excited.

I'm not knowledgeable enough to be able to recommend one language over another for specific reasons. That said, from what I've gathered on reading more informed opinions on the matter, it is largely just that--opinion.

Many people prefer one language over another. Both core languages, Ruby and Python, have excellent documentation and resources online as well as strong communities around them.

My comment was speaking more specifically to the case of Sinatra vs. RoR. I feel like RoR simply has many more high-quality resources available on it than Sinatra does. This is likely due to how much more development occurs in RoR vs. Sinatra (pure speculation there).

Re: My personal struggles with learning how to program

#49
post #25
post #3

I learned how to program when I was 30. I actually found it really natural and easy. Now (one year later) I work fulltime as the programmer for a small games company. So age is certainly no barrier.

What was your previous profession ?

Architect.

Though in between I spent a few years working in IT on helpdesks and stuff. I didnt really like architecture + the work was drying up. I put my ease of getting into programming down to.. 1. I am just a natural. I'm very logical and think in terms of structure and organisation by nature. 2. I grew up with a C64 and then a series of pc's, from a 286 running DOS onwards, in my home.

Though I never did any programming on them, I just played games on them. Though back then getting games working was all command-line and editing autoexec.bat and so on. When I was about to start learning programming recently I was apprehensive that I would find it hard because I had never done it when I was young.

I also think years of architecture helped somehow. Architectural design is often about organising lots of competing elements into a structure or framework that makes sense. The project management aspect of it is useful for most jobs, also whats described as AGILE by software developers (doing a design, evaluating / critiquing it, then designing again etc.) has been the standard in architecture since time immemorial.

Post reply on HN