<p>So Im first majoring in philosophy and second majoring in compsci, but I don't know much about programming except for a little java. I know that the beginner classes at Carnegie Mellon force you to choose either RUBY or PYTHON as an intro programming language. I hear Ruby is easier for beginners, but that Python has a better community, is more popular, and is better for "higher level" programming. I also hear that the class for Ruby is substantially easier than the class for Python. Which do you guys think I should take? My main fear of Ruby is that I will want to switch to python halfway after the "higher level" programming kicks in, but I also want a sense of security by taking the "easier" language- in terms of both beginner learning and class difficulty.</p>
<p>What do you guys think?</p>
<p>Ruby is taught in 15110, while Python is taught in 15112. Having said that, though, it is important to note that unlike 112 which is entirely a programming class, 110 is not. 110 supposedly is intended as an intro to cs (as in, ‘computer science’ in general - much broader a concept than just ‘programming’) for non-majors, or a more gentle (compared to 112) intro-level class for majors who have absolutely/close to zero experience with cs. 110 introduces topics such as natural language processing, computing history, machine-level language, among other cool stuff, whereas in 112 you just program, program, program, until one day toward the end of the semester you look back and realize holy ***** almost all my weekends this semester were spent trying to finish 112 programming assignments in the lab (true story). As someone who started as an IS major (thus required to take both 110 and 112) and switched out after taking 112, I absolutely hated 112, although you will likely hear tons of ‘fantastic’ things about that class and its professor from lots of other people. Different opinions, that’s all I can say. I enjoyed 110 much better, it really made me awed and interested in CS, that interest, however, was quenched by subsequent 112. For you, however, you might want to take 112 directly regardless, since 110 does not fulfill any CS major requirement. Actually, I don’t think 112 does, either. IIRC the CS major requirements start with 15122, to which 112 is a prerequisite.</p>
<p>P.S. I personally didn’t feel Ruby is easier than Python or vice versa. It’s the things you are asked to do with Python in 112 that are more challenging than with Ruby in 110. I might be wrong but I think both Ruby and Python are high-level programming languages. For the purpose of these two classes, anyway, none of that ‘high-level programming’ stuff was ever a concern, at least not for me.</p>