Hacker News new | ask | show | jobs
by larrybolt 4466 days ago
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.

2 comments

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:)

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.

I've seen some online courses like CS50 with C and MIT with Python. The question is why are they starting with those programming languages and not going straight to high level languages?

That is one of my main worries actually. I want to have a solid foundation and principles of how I should build something. Or is my thinking flawed?

The goals of those courses are different from the goals of building complex software. Courses are designed to teach you how a language works in both theory and practice and they generally go through a language and help you understand what parts of it do and why it does what it does.

Nearly all modern languages have developed as some response to C, and Python is also studied because it has a good reputation as a first language.

Software development is about coordinating work so that it produces a product that is reliable and also on time and under budget. This is the sort of thing you can learn, somewhat, by examining the code and work done in open source, but mostly you learn it by working in a (good) software development office. It's important, but not something that is easy to teach while you are also learning how computer languages work.

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).