Quantcast

Got Homework?

Connect with other students for help. It's a free community.

  • across
    MIT Grad Student
    Online now
  • laura*
    Helped 1,000 students
    Online now
  • Hero
    College Math Guru
    Online now

Here's the question you clicked on:

55 members online
  • 0 replying
  • 0 viewing

regleroc Group Title

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!!!

  • 2 years ago
  • 2 years ago

  • This Question is Closed
  1. walne Group Title
    Best Response
    You've already chosen the best response.
    Medals 2

    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.

    • 2 years ago
  2. regleroc Group Title
    Best Response
    You've already chosen the best response.
    Medals 0

    thank you! so much i'll give it a try, but what's the difference between Python and Ruby?

    • 2 years ago
  3. walne Group Title
    Best Response
    You've already chosen the best response.
    Medals 2

    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 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 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. Conclusion 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. http://stackoverflow.com/questions/234721/what-are-the-biggest-differences-between-python-and-ruby-from-a-philosophical-pe

    • 2 years ago
    • Attachments:

See more questions >>>

Your question is ready. Sign up for free to start getting answers.

spraguer (Moderator)
5 → View Detailed Profile

is replying to Can someone tell me what button the professor is hitting...

23

  • Teamwork 19 Teammate
  • Problem Solving 19 Hero
  • You have blocked this person.
  • ✔ You're a fan Checking fan status...

Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.

This is the testimonial you wrote.
You haven't written a testimonial for Owlfred.