Live data from Hacker News

Ask HN: What laptop should I buy for programming and path to take?

news.ycombinator.com

1–10 of 18 posts

Ask HN: What laptop should I buy for programming and path to take?

#1
Hey guys,

I want to learn how to create an MVP and launch my own projects since I am sick and tired of depending on others. Can you give me some suggestions based on the following questions:

1. Eternal question..What language to start with? And what learning path to take?

2. What laptop do you recommend for a 1000-1500$ budget? I am inclined to go for a Mac for iOS/ ruby development although I am listening to any proposal.

3. Can i learn enough programming in 3-4 months to get an MVP up and running? And what online courses you recommend me?Free or paid, doesn't matter.

4. Software combo/books to use to make things easier for a beginner?Or anything else for that matter.

I am really hungry to learn programming and since I don't have a CS degree I am kind of confused on how and where to start. I am willing to put between 10-15 hours a day (no BS) for the next 6 months just to get to that MVP stage. As I said I'm extremely hungry and eager to learn programming and anything tech-related. Thanks in advance for your help.

Joshz

Re: Ask HN: What laptop should I buy for programming and path to take?

#2
Here's what my opinion is on those questions. (I'm an Engineering student, web-developer in my free time).

1. I don't think it matters a huge deal which language you pick, as long as you choose a language that makes sense with the kind of project you want to launch. If your project is web-based (a web-app or service) you'll need to learn html, css, javascript (jQuery will get your pretty far without needing a very good knowledge of javascript and there are tons of examples you can use). But those will pretty much only help you with the front-end (so you'll still need a language that runs on the server and deals with data, sessions, basically doing stuff that cannot be done in the browser of the user.) There you can go with Python, PHP, Ruby, Javascript (nodejs)... of course I could give my opinion which to start with but I'm doing this too long to have an idea how long each of them takes to learn looking at your time-frame. And if you've never done programming you'll have to take time to understand why and how certain techniques work that frameworks use such as MVC.

If your project is going to be an iOS app the most logical way to go is with objective C.

2. I've bought a Macbook Pro 13" 2 years ago, upgraded with 2*8GB ram, 120GB SSD and a caddy for my 500GB HD, and it still runs very very well for development. Mac-apps tend to "just work" most of the time, and as OSX is based on unix most of the tools that will run on a server will work perfectly on OSX. The only limitation you get from going with mac is most games don't work on OSX but that's perfect as those only distract you from learning/working.

For iOS development Xcode (which only runs on OSX as far as I know) is the best you can get and most tutorials you'll find will be working with xcode. For ruby I've heard it's a bit annoying on a windows environment but whenever you go with OSX or Linux doesn't matters.

3. I think 3-4 months isn't going to be enough, perhaps others think otherwise but I think you'll need at least 4 months to get stuff done in the language you're learning and only than you'll be able to start working on your MVP.

4. That will depend on what language you're starting out with. Something I think can help a lot is knowing someone you can ask questions to while learning/building your MVP when you come across problems you cannot solve yourself or don't know how to go on from where you're at.

Re: Ask HN: What laptop should I buy for programming and path to take?

#3

Here's what my opinion is on those questions. (I'm an Engineering student, web-developer in my free time). 1. I don't think it matters a huge deal which language you pick, as long as you choose a language that makes sense with the kind of project you want to launch. If your project is web-based (a web-app or service) you'll need to learn html, css, javascript (jQuery will get your pretty far without needing a very go…

Good advice. I find a lot of games (Steam-wise) do work natively. If your Macbook is powerful enough, running a windows vm works well too - or you can bootcamp.

There's always the option to get a Thinkpad and run Linux. shrug

Though I have separate computers for work/gaming. It's a good divide.

Re: Ask HN: What laptop should I buy for programming and path to take?

#4
1. It depends what platform you want to target with your MVP, and whether you have any coding experience. Generally, web technologies have a somewhat gentler learning curve than iOS/Android, and can still reach mobiles. If you're starting from scratch, learn HTML and CSS and make some simple static pages. Then once you're comfortable, learn a high level language (eg. Ruby or Python). Then learn a web framework for that language (Rails if you're focusing on Ruby, Django if Python). You'll probably want to pick up some Javascript too.

2. Macs are popular for iOS, Android and web development so they're a good choice.

3. It's possible but it will be a lot of work. I don't have any recommendations on beginner courses. Maybe check out reddit.com/r/learnprogramming

4. As you implement your MVP, try to break each problem you face into smaller, manageable chunks. It's much easier to solve several easy - medium difficulty problems than 1-2 hard ones.

Re: Ask HN: What laptop should I buy for programming and path to take?

#5
post #3

Here's what my opinion is on those questions. (I'm an Engineering student, web-developer in my free time). 1. I don't think it matters a huge deal which language you pick, as long as you choose a language that makes sense with the kind of project you want to launch. If your project is web-based (a web-app or service) you'll need to learn html, css, javascript (jQuery will get your pretty far without needing a very go…

Good advice. I find a lot of games (Steam-wise) do work natively. If your Macbook is powerful enough, running a windows vm works well too - or you can bootcamp. There's always the option to get a Thinkpad and run Linux. shrug Though I have separate computers for work/gaming. It's a good divide.

I wonder if those games that come from steam are really native or run in a wrapper, such as cider. Anyway like you said, you can use bootcamp and most games will run pretty okay! (But not as good as on a dedicated machine with a decent graphic card of course). I've had no luck yet with running any games trough a windows vm (I've tried both parallels and vmware).

Re: Ask HN: What laptop should I buy for programming and path to take?

#7
post #4

1. It depends what platform you want to target with your MVP, and whether you have any coding experience. Generally, web technologies have a somewhat gentler learning curve than iOS/Android, and can still reach mobiles. If you're starting from scratch, learn HTML and CSS and make some simple static pages. Then once you're comfortable, learn a high level language (eg. Ruby or Python). Then learn a web framework for th…

> Generally, web technologies have a somewhat gentler learning curve than iOS/Android

I have not enough experience with iOS/Android development to know, but I wonder if it isn't somewhat more easier to learn iOS for instance since it's just one language and IDE you have to focus on, while for web-dev you need to learn multiple languages. (Though at a certain point you'll need a server-side language to give your app the ability to communicate with a server...)

> If you're starting from scratch, learn HTML and CSS and make some simple static pages. Then once you're comfortable, learn a high level language (eg. Ruby or Python). Then learn a web framework for that language (Rails if you're focusing on Ruby, Django if Python). You'll probably want to pick up some Javascript too.

Exactly what I was thinking, but you gave actually steps.

Re: Ask HN: What laptop should I buy for programming and path to take?

#8

Here's what my opinion is on those questions. (I'm an Engineering student, web-developer in my free time). 1. I don't think it matters a huge deal which language you pick, as long as you choose a language that makes sense with the kind of project you want to launch. If your project is web-based (a web-app or service) you'll need to learn html, css, javascript (jQuery will get your pretty far without needing a very go…

Thanks for the reply. Luckily I am not gonna start from scratch scratch since I have a little experience with front-end and I am "familiar" so to speak, with the programming "environment" but I never really dived into it (a very stupid decision).

So for:

1. Some people told me I should start with C and go on from there, while others told me to start with C# or Python. Am I wasting time with C? I've seen some articles here where some guys went straight RoR and managed to get an app running in months. I feel like I would skip important stuff if I do that. How important is the order in which you learn these? I think this is the hardest thing for me. To choose which one goes first on the backend side I mean.

2. So it shouldn't be a problem to go for an old mac right? I don't have 2K right now for a maxed MBP.

3. Well I figured I can do it on a 10-15h a day marathon for 4-6 months. So I can't do a YC demo for example?Something to show to investors or enough to express an idea?

4. I believe I got this covered although everyone is pretty busy these days:)

Re: Ask HN: What laptop should I buy for programming and path to take?

#9

Here's what my opinion is on those questions. (I'm an Engineering student, web-developer in my free time). 1. I don't think it matters a huge deal which language you pick, as long as you choose a language that makes sense with the kind of project you want to launch. If your project is web-based (a web-app or service) you'll need to learn html, css, javascript (jQuery will get your pretty far without needing a very go…

Thanks for the reply. Luckily I am not gonna start from scratch scratch since I have a little experience with front-end and I am "familiar" so to speak, with the programming "environment" but I never really dived into it (a very stupid decision). So for: 1. Some people told me I should start with C and go on from there, while others told me to start with C# or Python. Am I wasting time with C? I've seen some articles…

I am actually working for a startup who is prepping an app for investors approval, and what we have found is speed, and progress is important. I would definitely recommend RoR because the speed to development is so critical. With Rails it isn't unrealistic to have a MVP within 3 months. Especially with 10-15 hours a day.

And you can get a macbook air for around $900-$1300. That's all you really need, nothing fancy.

And if your app is meant to be mobile, you can get deep into mobile web development and even create a very native experience. That's what forecast.io did.

Also as you probably know, in startups it's more about proving a model than having a fancy piece of software. Think about what features are going to attract customers asap. Iteration is easier when you have customers giving you feedback.

IMO RoR is the fastest way to make those vital iterations. Once you're sitting on your $5 million in venture cash you can worry about architecture and scalability.

Re: Ask HN: What laptop should I buy for programming and path to take?

#10
My advice, start from Linux. It exposes all the moving parts, has the best tooling, and pretty much anything you learn about it is applicable to Windows or OSX - though there are parts of both that are unique. A mainline distro with a long term support release makes sense.

Hardware, cheap laptop and a cheap desktop and a decent keyboard. I am partial to the Microsoft Natural Ergonomic 4000. With two computers running Linux you can learn about networking, hardware configuration, ssh, and using the shell.

Next, Emacs [or maybe Vim] there's a reason these are around after decades. Emacs is fully programmable which if your into programming makes logical sense. Plus it forces you to use the keyboard and the keyboard is the fastest most reliable interface.

Language? For learning programming nothing comes close to Racket/Scheme. Racket is huge and provides tools for just about any programming paradigm. The two best programming introductions are How to Design Programs and The Structure and Interpretation of Computer Programs. Both are free on the internet.

Racket: http://racket-lang.org

HtDP: http://www.ccs.neu.edu/home/matthias/HtDP2e/

SICP: http://mitpress.mit.edu/sicp/full-text/book/book.html

Post reply on HN