MIT female learning to code
21–30 of 42 posts
Re: MIT female learning to code
#22Get creative, get inventive and just jump in.
Re: MIT female learning to code
#23Your query and responses seem earnest, but leading with your gender in the submission title and handle is suspicious. Is this an A/B test?
sigh
Anyway as to the question, the best way of learning to code is (a) by doing and (b) by exposing yourself to those who do it well. If you have your own project to work on already that's great, otherwise find an open source project and cut your teeth onto that. Most languages have standard libraries or modules, take a look under the hood and try to understand how they work. Since you specifically ask for websites, try hanging out on stackoverflow.com and try and answer some questions before looking at the answers.
Contrary to others, I probably wouldn't recommend C - please let's not start a language war, but for someone who may or may not decide to focus on programming it's probably better to focus on a higher level language like perl, python or ruby in the beginning.
Also, I don't know if/how MIT supports co-ops/internships, but try and get a short (3-4 month) programming placement, there's nothing like having to do it "for real".
Re: MIT female learning to code
#24Definitely give C and Scheme a try. Both are simple, compact languages with strong philosophy and history. I think that most of the languages we have today compromise between C style and Lisp style. One of my favourite books is called, "Write Great Code: Volume 1: Understanding the Machine". This book gave me a real intuition for why the computer behaves the way it does given a piece of code. If like that kind of stu…
Is there a benefit to learning multiple languages? Or would you recommend trying to truly "master" one of the starting (Java or Python) and then branching out after completely comfortable in one? Should I learn them in a specific order? I just picked up Code Complete at the lib today but will start with "Write Great Code" as you suggested. Thanks!
Even if you do decide to focus primarily on one language, I think there is a lot of value to learning several languages. (also, after your second or third, picking up another becomes really easy.)
Also +1 on "Code Complete"
Re: MIT female learning to code
#25Are you perhaps being misled by the frequent "I did X in a weekend" submissions? Those are mostly hyperbole.
[1] A little word of advice: Don't talk like a manager already. If your story is legit, the two grad students are quite likely to read it here.
Re: MIT female learning to code
#26The only way to learn how to program is to just do it. Pick a language. Start with small programs. Learn the features and syntax of the language. When you feel you know the language well enough to write a program that uses most of its features, then pick an open source program and learn its code. Make some modifications to it. When you feel you're pretty comfortable in one language, pick a new language. Rinse repeat.…
Amazing. No Google search led me to an answer this helpful. Thank you for your input on languages also...it seems there is quite a debate between Java and Python.
http://news.ycombinator.com/item?id=1747713
My first manager taught me something college had failed to (or that I failed to learn there), which is that programming languages come and go in trends, but they are all based on recurring fundamental concepts, which endure beyond any single language.
Most new programming languages are a remix or mashup of some or all of these concepts, so if you master those concepts you'll be able to easily pick up any other language.
It's like learning Latin as your first foreign language, and being able to quickly pick up any Latin-based language after that. C, Lisp, and Haskell are the Latin of the CS world.
Since you're at MIT, take the famous Structure & Interpretation of Computer Programs (used to be 6.001, not sure if it still is). http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussma.... That'll get you started with Lisp (specifically the Scheme dialect).
For C, start with K&R (http://en.wikipedia.org/wiki/The_C_Programming_Language_(boo...).
For Haskell, Real World Haskell is good, and the e-version is free. (http://book.realworldhaskell.org/)
Joel Spolsky has an article worth reading on why not Java:
http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool...
And of course PG's essays on Lisp are a must read:
http://www.paulgraham.com/lisp.html
Since it sounds like you're running a business you may feel pressured to learn Java or whatever your coders are currently using to get your business off the ground. But I heartily recommend resisting that pressure, doing it right, and mastering the enduring fundamentals first. It may cost you something in immediacy and expedience, but that's what school is for, especially one such as MIT. You should carefully weigh how you spend your time there, and unless you think you've got the next Facebook, focus on mastering the enduring concepts, not the trends. You'll be glad you did the rest of your life and career.
PS - there's little to nothing that Clojure (a Lisp dialect on the JVM) and Haskell can't do in the web space, so the cost in immediacy and expedience is slim to none anyway.
PPS - it didn't register till just now that you're an Econ Major not going into CS or Software Engineering as a career. If you just want a tried-and-true, versatile, easy-to-get-started-with language with tons of libraries and frameworks (reusable code) to hack in, huge and helpful community go with Python. Java is too bureaucratic a language for this purpose.
Start with Zed Shaw's excellent introduction, Learn Python the Hard Way (hard way = by doing lots of follow-along examples until it gets into your brain muscle memory), then go from there.
Re: MIT female learning to code
#27Re: MIT female learning to code
#28Re: MIT female learning to code
#29For hands-on practice, try this: http://projecteuler.net/ An HN-er recommended this in an article last night. Also, as ugly and difficult as it will seem at first, invest the time to learn how to use an efficient text editor. I prefer vim.
Thank you for your response. I'll check it out.
Last Monday I got the chance to ask (even though I'd read it before) James Gosling (the Father of Java, wrote first Emacs-y editor for Unix) if he still uses emacs, at least sometimes. The answer was: No. He uses NetBeans. Seems he writes no more lisp, having worked through his lifetime's quota of parentheses while working on his Ph.D [sic].
Re: MIT female learning to code
#30Saw a great demonstration of this system at JAOO this year, by John Maloney of the MIT Media Lab :) [http://gotocon.com/aarhus-2010/speaker/John+Maloney]. Dan Ingalls and Rob Pike were in the audience.
The whole system really looks very nice and well thought out. Wish I had Scratch to learn with when I was young, instead of puttering around with Turbo C++ 3.0. Few "real", "man-size" programming languages/environments are so coherent.
If you want to be productive soon, try Scala. Martin Odersky (the creator) is a brilliant, level headed guy who is committed to keeping this language pragmatic. It's complex, but just like C++, you don't have to inhale the whole thing in one go to get things done :) So don't worry about all the people with blogs who denounce Scala for complexity.