hi guys, i'm starting to learn to program, if i want to develop in xcode (for making apps for macs), does learning python helps me ?, or should i focus on another language first and then python ?, thanks a lot!!!
MIT 6.189 A Gentle Introduction to Programming Using Python (OCW)
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.
Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus.
Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
If you're looking to program in iOS or Mac OS X, you'll be using a language called Objective C. It's an ObjectOrientated language; and can be challenging for beginners. It was recommended to me to start with an easier ObjectOriented language (like Python or Ruby) before moving on to Objective C. This python class would be a good place to start before moving up.
thank you! so much i'll give it a try, but what's the difference between Python and Ruby?
Good question. I found this on StackOverFlow:
Well, if you really want to know, I'd consult a book called "On Lisp" by Paul Graham, which is available free as a PDF here. Basically, he explains the differences between Lisp and Fortran (the oldest two languages still in use today). I know this may sound irrelevant, but there is a good argument here.
Python is modeled after the Fortran line; there is a clear distinction between expressions and statements, and between code and data. Sure, you can pass functions around like objects, but you can't go inside and change them. This makes it faster, and better suited to top-down programming. It is a lot easier to learn, and to understand when reading it. The philosophy of "there's only one way to do it" means there is no mystery; Ruby and Lisp are full of "tricks" which you can stumble upon by luck, and there is a lot of magic that Ruby employs; Python is explicit in everything. Passing self is no more irritating than having to wrap all of the attributes on your classes with an accessor function.
Whilst it might be faster initially, this does not mean that it is always faster. It's easier to write fast compilers for Python/Fortran/that-sort-of-thing, but you can write super-fast compilers for the Lispier languages too; it's just harder. Ruby have yet to perfect it; I think they're working on it though.
Ruby is modeled after Lisp; there is no difference between expressions and statements, and code and data. The most striking commonality is how similar Ruby's blocks are to Lisp's closures. This makes it easier to do metaprogramming (i.e. creating new languages) to solve problems, and so it is more suited to bottom-up programming. At first, it can be slower to run (Ruby's performance right now is atrocious compared to Python), but the Ruby community are working on a virtual machine with some JIT compilation that should bring it up to speed with the other languages.
The thing that Ruby has lost, however, is Lisp's main "love it or hate it" feature: its syntax. Whilst some might argue that the excessive parentheses are annoying, they can be very powerful once you get used to them; Lisp's macros, for example, cannot easily be transferred to Ruby. In this way, Ruby takes some of the concepts of Lisp and applies them to a Fortran-like (well, Algol-like) syntax, and so it does lose some of the power of Lisp. It also makes it even more difficult to read than Python, because the Ruby people have their own little syntax annoyances.
To conclude, I think that Python and Lisp make a good combination (in fact, it's the combo I use). Ruby is just too much of a mixture of methodologies; it will advance at some point in the future, but until it does, it's not a good idea to start learning it; it will take you at least 1-2 years to become proficient, whereas Python will take you a few months only. Those who have a lot of experience with Ruby should stick with it; it's not a good idea to start throwing things out the window.
Anyways, all programming languages are equivalent, so it doesn't really matter. The more you learn, the better: it means you can talk about several approaches, weigh them up, and choose the best one for the job.