Hi,
I am reinventing myself to be a web and app programmer at the ripe old age of 36. I am done with CSS and HTML.<p>I now have to learn a scripting language. Which one should I choose between Ruby, Python, and PHP?<p>Thanks
When I was choosing between Python and Ruby a couple of years ago, I chose Python.<p>To me it seems to be more universal - Ruby is (IMO) mostly used for web development, and Python is also rather widely used in other areas - in sciences (via NumPy/SciPy), sysadmin work and for various scripting purposes (in gaming, for instance).<p>By now I also got some experience with Django, and was also picking up Javascript recently. Can't comment on the amount of work available in Python compared to Ruby, just don't know the Ruby market, but for Python/Django there's quite enough freelance work via elance/odesk. Not sure if you'd get to $2-3k per month right away, but that's sure doable once you get some experience.<p>On the other hand, you have the advantage of being able to look for clients locally, and I only worked remotely - living in Russia now. Seems local rates in Australia (and other first world countries) are higher than in online market.<p>Seconding the importance of Javascript. I picked it up months after I started with Python, but starting with it earlier would've been a good idea for sure.<p>Again, most freelance work involves at least some frontend part, and if you're familiar with HTML/CSS/JS, even without Python, there's always something to do. Also there are quite some offers for Google Apps work, scripting GMail/GDocs/GCal - that's Javascript again.<p>Disagree on PHP requirement - didn't touch it yet, don't want to, have enough work (and some more people to talk to when I have time).<p>Feel free to drop me an email - egor.ryabkov at gmail - if you'd like to chat. Best of luck!
Additionally, is Python 2 or 3 currently a better choice for new Python developers that want to potentially release a new project?<p>I've noticed that some of the highly recommended Python libraries are still not Python 3 compatible. This makes the choice a bit harder to judge from somebody who isn't experienced with the direction of the ecosystem.
I was able to pick up Python pretty effortlessly (coming from a zero programming experience background) through Udacity's search engine course. If you're coming from little or no experience, you can easily pick up on Python. Like everything else, it just takes time to get used to.<p>If you happen to go the Python route, here are a few resources that helped me:<p>Udacity's Search Engine Course
<a href="https://www.udacity.com/course/cs101" rel="nofollow">https://www.udacity.com/course/cs101</a><p>Google's AppEngine (for Python development)
<a href="https://developers.google.com/appengine/" rel="nofollow">https://developers.google.com/appengine/</a><p>Django - Web Framework for Python
<a href="https://www.djangoproject.com/" rel="nofollow">https://www.djangoproject.com/</a>
This could be biased as it's the route I took.<p>I'd get familiar with all three. I'd start with PHP. It's ease of deployment will delay the sysadmin stuff that you'll end up learning anyway. Then I'd go to Ruby. Trying PHP first will make you appreciate Ruby and Python more.<p>When I'm interviewing people, experience in a number of languages is something I look for. A good programmer is a good programmer. Seeing and understanding the ways that different languages have implemented similar concepts makes you form an opinion and see that there are better ways to skin that cat.
The choice between Ruby and Python is something of a matter of taste. For what it's worth, Ruby on Rails appears to be more popular than Python's Django (though a quick search didn't give me any current numbers). In present day web development there is really no getting away from PHP, so you should learn it whether you choose Python or Ruby; same goes for JavaScript.<p>To make it easier to answer your question you should provide more background on your past programming and general computer experience.
reinventing yourself and wanting to be a fulltime employee?
Or reinventing yourself with the aim of freelancing, or even running a consultancy.<p>I would say that there is (at 5 hours a day with a family) a fairly long learning curve to get to the point where you have learnt enough python/javascript then built something with it to prove your chops and then got a FT job.<p>You <i>might</i> be able to learn enough in 3-6 months to have someone take a chance on a 36 yearold junior programmer. But we are an ageist sexist industry.<p>So, if you are done with CSS / HTML but do not feel a burning need to program (you would have felt it by now), then yes I suggest you learn to program, always good, but instead try finding a decent programmer whom you enjoy working with (I would guess you have met some) - and then set up a side project of freelancing yourself and him/her to local businesses or SF startups.<p>Maybe start with local businesses, build up the working rapport. (Try charging retainers!)<p>If you just want a change, maybe running a side business that might one day become a FT operation is it.
I can't speak directly to Ruby or Python, because I haven't used them.<p>But, you can't go wrong with PHP for web programming. Look at the number of people using it.
Hi,<p>Thanks for your inputs. I really appreciate you guys taking out time. This is what I am planning to do.<p>1. Learn JavaScript and then jQuery. I am aiming at becoming comfortable with JS and jQuery in 3 months.<p>2. After 2 months I will start creating and selling simple templates (like e-mail templates and HTML website templates) on Themeforest.com. In 3 months I will start developing templates based on Twitter BootStrap<p>3. I will continue to polish my front end web dev skills from month # 4 to month # 6.<p>4. If my templates start generating a revenue of $600+ from month # 6 onwards I will be a very happy man. 600 bucks will take care of my family's monthly expenses.<p>5. If this financial goal is met I will learn Python. At this stage I will also start spending more time programming 7-8 hours a day and will gradually come out of my freelance writing (pays a measly $3-$10 and hour) and Internet marketing gigs.