News for hackers. Stuff that matters.
Re:Seven Languages in Seven Weeks by lionhearted on Saturday October 24, 2009 @10:56PM (#901189)
Question - I've got more of a business background than a technical background. I can do basic html and I've played around in Linux a tiny little bit, but that's pretty much it.

Anyone have any recommendations for getting more familiar with programming in a fun, laid back way? Nothing specific I want to do with it, just think it'd be a neat thing to spend some hours in. All recommendations appreciated greatly.

Re:Seven Languages in Seven Weeks by fnid on Saturday October 24, 2009 @11:08PM (#901197)
People ask me this question a lot and really, the best way to learn how to program in any language is to figure out something you want your computer or the web to do and make it do it.

You have to want something. Hackers want to solve problems. They'll invent problems just to have a problem to solve. So you are going to have to do that too. Invent a problem you want to solve.

What kinds of things do you do with computers? What do you wish was easier? What do you think is fun? Build an iPhone app. Build a website to help you track your time or productivity. Build something you will use and love for a long time.

what kind of business do you run? Do you have employees? What questions do you spend a lot of time answering because information is all over the place?

The most fun and laid back way is to do it when no one expect anything from you and you are doing it to make your life better.

Re:Seven Languages in Seven Weeks by brianto2010 on Saturday October 24, 2009 @11:21PM (#901211)
I would recommend R (http://www.r-project.org) since you mentioned your business background. R's strength is in statistics and might prove useful. As for a learning resource, Quick-R (http://www.statmethods.net) was an excellent guide for me.

I feel bad saying this, but also try learning Visual Basic for Applications with Excel.

Re:Seven Languages in Seven Weeks by biotech on Sunday October 25, 2009 @03:05AM (#901348)
I feel bad saying this, but also try learning Visual Basic for Applications with Excel.

This is actually a great suggestion for anyone who works with Excel a lot. Knowing VBA (VB for Apps) can save you (or your assistant) hours of repetitive work. Here's a good way to learn:

1. Notice some annoying task that you do regularly in Excel (e.g., importing a data file, preforming a calculation on a data set, or laying out data in a visually pleasing way).

2. Find the Record Macro command, then do the task again.

3. Excel automatically creates source code for the macro. You can open up VBA from some Excel menu; that will show you the code.

4. Edit the code to do what you really want. Often the generated code isn't perfect, or there are other features that you'd like.

I will warn you though - VBA is kind of a horrible, poorly documented language. It's not unusable, though - you just don't want to use it for large projects.

Re:Seven Languages in Seven Weeks by queensnake on Sunday October 25, 2009 @12:22AM (#901245)
Python and a game library, PyGame, might give you enough kicks per effort to keep going. Python is one of the easiest languages to learn.

http://www.pygame.org/screenshots.html

Re:Seven Languages in Seven Weeks by elbenshira on Saturday October 24, 2009 @11:02PM (#901193)
Unfortunately, one cannot learn how to program in a "fun, laid back way." Yes, it's fun and a joy, but it will often be frustrating.

With that said, The Little Schemer is a good one to start on.

Re:Seven Languages in Seven Weeks by fnid on Saturday October 24, 2009 @11:11PM (#901199)
I don't think that's true. I learned how to program in high school and we had a network and it was fun to write computer programs to allow my classmates to send messages over the network to other students. This was back in the Novell messaging days. I also did a lot of graphics programming drawing neat images and a chess game.

It's no more frustrating than losing at poker or some type of competitive game or politics.

Re:Seven Languages in Seven Weeks by elbenshira on Saturday October 24, 2009 @11:14PM (#901203)
Yes, it is fun. But see, if you want to dig deep, then you are eventually going to hit topics and discussions that you can't easily warp your mind around. Learning computer science is not always an easy and happy road.
Re:Seven Languages in Seven Weeks by brianto2010 on Saturday October 24, 2009 @11:27PM (#901215)
In context, lionhearted doesn't want to 'dig deep'. Rather, he 'just thinks it'd be a neat thing to spend some hours in.' He doesn't have to learn hard topics if he doesn't want to. Plus, if he does, then it should/would be for his own enjoyment.
Re:Seven Languages in Seven Weeks by fhars on Sunday October 25, 2009 @05:14AM (#901426)
You might also want to look at processing and try to develop some fun visualizations or animations of business data you care about. That might give you the incentive to actually dive into programming and processing is designed to give non-programmers quick sucesses. And if you grow out of the training wheels, it doesn't tie you down since you can easily move to full java using processing as a library.

If you want to start on the hip bleeding edge, there is also a project to make processing usable with scala, search for SPDE.

And there is processing.js if you want to include you animations in a web site.

Re:Seven Languages in Seven Weeks by caffeine on Sunday October 25, 2009 @06:36AM (#901478)
The biggest barrier for beginners is usually getting an environment working that is transparent, to allow you to get to grips with the actual programming ideas (which, in the beginning, are relatively simple).

For that reason, you might consider playing around with JavaScript, where the effects of your changes are just a "refresh" away. Get hold of jQuery and play with the tutorials, maybe. (Install Firebug so you can see what's going on in your code)

Javascript can actually be a real app since you can store information in an SQL database on the client (in the latest browsers). My first iPhone app was actually a JavaScript page that stores data in SQLite, and uses a CSS template to look just like a native app (it's a Hacker's Diet implementation).

But fnid is right: fundamentally, you need a problem to solve. It's most fun if you implement something that is directly useful to you.

Re:Seven Languages in Seven Weeks by sekizaru on Sunday October 25, 2009 @08:19AM (#901557)
I second this one but would recommend learning Javascript by using Greasemonkey and the introductory guide "Dive Into Greasemonkey" which was discussed here recently http://news.ycombinator.com/item?id=897706.

Greasemonkey lets you make changes to websites by writing small programs and it is fairly easy to find problems around the web to fix.

Example problem to solve: Hide posts on Hacker News from blogs that you already read elsewhere or that you don't like.

Re:Seven Languages in Seven Weeks by Xichekolas on Saturday October 24, 2009 @11:59PM (#901234)
While I wholeheartedly agree with fnid (see his sibling post) that you won't actually learn anything until you are scratching your own itch, the most fun way I can think of to learn to program is to make a game.

Flash (and actionscript, which is akin to Javascript) would allow you to do that with graphics... but if you don't want to mess with that, just make a text-based game. Something simple like two player tic-tac-toe with an AI, just displaying a new board after every move, would get you a long way. Python and Ruby are good languages for things like this... as is Scheme or Javascript.

Re:Seven Languages in Seven Weeks by dschobel on Sunday October 25, 2009 @03:37AM (#901362)
this is supposed to be a fantastic first programming book: http://www.amazon.com/Python-Programming-Introduction-Comput...

and this looks promising (and the author posts here on HN) and should fit your "laidback" requirement: http://www.amazon.com/exec/obidos/tg/detail/-/1593272006/ref...