6 ms·
Suggest Python... it has the benefits of both.. You can get Ruby-like efficiency in web development, and you can build robust desktop apps using WxWidgets and o
by PythonDeveloper 15y ago
Suggest Python... it has the benefits of both.. You can get Ruby-like efficiency in web development, and you can build robust desktop apps using WxWidgets and other similar gui libraries. An added bonus over Ruby, it's readable ;-)
Of course, I'm biased...
- jasondrowley 15y agoThe funny thing is, I encouraged him to learn Python first, precisely because of its efficiency and flexibility, etc. I pointed him toward "Learning Python", the absolutely massive book from O'Rielly, and Learn Code The Hard Way for Python. I have no Ruby or Python experience, but my friend claims Java is easier to learn... At least from his perspective. Basically, I tried to convince him to learn Python before compromising on Ruby. If you could make a convincing case for him to learn Python instead of either Ruby or Java, I'd be much obliged. Note: I suggested he learn Python or Ruby because I think he's going to end up in the startup scene, where those are the de rigueur languages (alongside the HTML5 family of markup/programming languages).
- firat 15y agoI suggest Learn Code the Hard Way by Zed A. Shaw (http://learncodethehardway.org/ http://learncodethehardway.org/). It's online, it's free and it's brilliant. I'd suggest him to go with Python as his first language. If he wants to be a good programmer, he should be able to pick up languages rather quickly after he learns his first one. So switching language is not an issue. Keep in mind though, learning the first one will take some time.
- gexla 15y agoYeah, this is a great option. In fact, run the full gauntlet. Zed mentioned in the blog that you could start out with Python, hit the SQL and Regex books and then move to C. By this time he might have the objective C book done and you could hit that one also. At this point you pretty much know what you need to know for building both web and mobile apps.
- gexla 15y agoI'm not sure easy to learn needs to be your first criteria. My list goes something like this... 1. Best tool for the job. This is heavily weighted towards what I already know if my familiar tools are good enough but not otherwise my first choice. 2. This could be a subset of #1, but library availability could be a deciding factor. 3. Availability of documentation. A lot of comfort comes from finding those gold mines of great documentation. I would argue that Ruby (and community projects built in Ruby) has been the weakest among the top web programming languages for documentation, but this is just a "shoot from the hip" feeling. Perhaps your real battle is finding better learning materials than that of what your friend has found? Also, even if a language is difficult to learn, with good documentation and daily practice, then level of difficulty shouldn't be an issue. The bottom line is that your friend will have to put in X number of hours to get experience no matter what path he chooses. For example, given a year of sustained effort, your friend might have been further with Ruby than he would have been with Java, but not by much. He would have a good amount of knowledge either way. Javascript might be another interesting option. If you are doing web development, then you have to learn it eventually. You can do front end and back end. However, Node for the back end probably isn't the best way to go for beginners because of point #3. Another consideration might be the path to landing a job. I started out with freelancing and PHP has been good because the market for it is huge. However, much of that market is CMS related (Wordpress, Drupal, etc) rather than building apps from scratch.