Hacker News new | ask | show | jobs
by jf22 4791 days ago
I'm an MS dev with a little Django, Rails and PHP experience and I'm always sort of overwhelmed with the choices I have non-ms environments.

Recently I wanted to get a simple laptop for Python development and I don't know how to begin selecting the right tools for the job. I see myself having to make all sorts of evaluations I'm just too inexperienced to make. Which OS? Whats PyPy good for? Is it supported on Ubuntu? Oh I can use this command to install but I don't see an apt get example? Does that mean it won't work?

When I read about and fire up EC2 instances I feel the same way. How do I configure them? Which one is best, etc.

With Visual Studio and the Azure tooling built in a lot of decisions are just invisible to me and I sort of like it that way.

Of course I understand the benefits of open source and having a variety of options is important but I'm ok with giving up a little control and power to just get things done.

I think its the same reason we use Stripe instead of getting out own merchant account and all that rigmarole.

Isn't Heroku similar as in Heroku makes some choices for you on how to do things?

3 comments

Knowing how to find the answers to such question is an element of being an expert - not knowing all the answers, but knowing how to find them.

Djanjo, Python, Rails, and PHP can run find in a Windows environment, but the community is rooted Linux (and OSX to some degree), thus the amount of quality resources available for your research is greater. Same goes for .NET - more Windows information is available compared to Mono.

Being able to make the best choices for a project is a valuable skill.

Totally agree with you however what I'm finding to be the most difficult is a lot of getting started resources tend to be using different nuances of the Python programming environment.

My goal is to setup an environment closest to what I'd see in the field but its really hard to determine what that means.

In the ms world when you bounce jobs getting up and running usually involves using the same three programs you always use.

From reading about python I'm getting the sense that there is so much more variety out there in the field.

This comes down to what your goals are.

If you want to do Django, just use this:

http://www.turnkeylinux.org/django

It might not be the latest, the best web server, etc. but it will get you going.. Give it a few weeks and you'll be better able to answer your own questions.

At this point, starting is the best approach.

I'd suggest learning Ubuntu - it's popular and widely used as both a desktop and server OS, and it's great for running Python.

Run Ubuntu inside a virtual machine (VMware or VirtualBox) and you can simulate your exact deployment environment on your local laptop.

You know, to some extent, this is a direct result of working with Microsoft tools. I am generalizing but Microsoft developers get to used to getting mostly nice and tidy answers to everything (regardless if its good).

With open-source, my gosh, you actually have to do some analysis and make a sound judgement without having the Microsoft mothership tell you whether its good or bad.

I don't dispute that the choices can be seen as overwhelming but this is where experience and your own curiosity work best. You don't have the experience, well there is many many people that do and are willing to share their knowledge. It does require a desire to learn. The more you investigate, the better your filter on what is good or what is bull improves.

I use Microsoft tools, they have their place. It's not a question off giving up control and power, its a question of, what makes you better? Understanding the dirty work that it takes to make software, OS, web frameworks, etc. work, or having a nice little button that does this for you (I know this is a gross exaggeration).

If you have that curiosity to understand the details even behind Microsoft tech, using Microsoft is just another tool.

There's a lot of development and apps that simply are not going to have any real difference based on their choice of ORM or even DB. Having it all-in-one has a lot of benefits.

Also, it's unfair to say open source isn't the same. How many PHP projects fairly evaluated anything but MySQL or PHP's built-in MySQL data access libs? And why would you? If you aren't at the point where you need to evaluate, your app will probably work fine on MySQL anyways. Also, Ruby-on-Rails provides quite a bit of defaults...

Microsoft might provide more kinds of libraries, but that's only because of their size. If Zend created an MVC system and built it into PHP, what kind of uptake would that see?

"With open-source, my gosh, you actually have to do some analysis and make a sound judgement without having the Microsoft mothership tell you whether its good or bad."

I think you're comment is fair but a little condescending.

Speaking for myself, I play and experiment with tons of non-ms libraries for asp.net work, ran Ubuntu as a desktop for several years, have an trivial app on heroku.

Just because somebody appreciates the simple things does not mean they don't have curiosity and don't appreciate knowing technology on a lower level.

The big divide between the ms and non-ms communities is because of this sort of comment.

Not meant to come across that way (especially towards your comments).

I definitely agree that there is value with a full life-cycle integrated approach that Microsoft offers with their stack. I really like what Microsoft is doing with ASP.NET MVC. I also like their move towards embracing the best of open source such as their recent full support of git within their stack. I setup a gitlab virtual machine and using the Visual Studio git extension with it has its quirks but works really well. I find this a really good compromise of mixing the best of both worlds.

I guess my main angst is with Microsoft stack developers who I've worked with that really don't want to step outside their comfort zone. It's definitely obvious you are not within this group.

Well, Visual Studio probably has the best Python plugin I've ever seen.