Live data from Hacker News

MIT female learning to code

news.ycombinator.com

1–10 of 42 posts

MIT female learning to code

#1
I'm currently a junior taking intro to computer science and programming. After working on my first startup and realizing how slow my programmers were, I decided I'd be better off learning to program.

Class is good right now but I want to learn more.

My question: What is the best literature for beginners that I can get my hands on? Beneficial websites? I've only played with python so far...what else do you recommend?

Thank You

Re: MIT female learning to code

#3
The 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. You'll find that once you have one language down, the process will go much faster with the second. The features and syntax of most languages are pretty similar.

You can pick any language you like to start with, but personally I'd recommend starting with a hard typed compiled language rather than a dynamic language. Dynamic languages are easy to learn, but its easy to be a lazy and bad programmer in them. They let you get away with too much. Hard typed compiled languages are a) much better at catching your errors and b) much harder to be a lazy programmer in. They don't let you get away with things nearly as much.

I'd recommend Java, seems to be the language a lot of people start with. It will also give you a good founding in open source programming. I started with C/C++ and I'm glad I did. But that was more of a challenge - had to learn pointers and memory management in my first language. And after that I took a little while to learn the open source mindset, since I'd started in a procedural language.

Once you have a good grasp of an object oriented language like Java (or Python) and what object oriented programming means, then I'd recommend reading the Gang of Four book on Design Patterns (http://www.amazon.com/Design-Patterns-Elements-Reusable-Obje...) and Martin Fowler's book on Refactoring (http://www.amazon.com/Refactoring-Improving-Design-Existing-...). Those will give you a pretty good basis in software design and maintenance.

In terms of recommended reading for learning a language, the O'Reilly books are nearly always good in my experience. Here's one for Java (Learning Java: http://www.amazon.com/Learning-Java-Patrick-Niemeyer/dp/0596...) and here's one for Python (Learning Python: http://www.amazon.com/Learning-Python-Powerful-Object-Orient...)

Re: MIT female learning to code

#4
post #2

For 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.

Re: MIT female learning to code

#5
Seems like you were starved for attention and couldn't answer your own questions, so you decided to waive your female bait, twice, to see if you can sucker any of the dorks into helping you with your homework.

Congrats on nailing two suckers so far!!!111oneoneone~~

A (supposedly) smart (MIT) girl like you should already know all the programming (manipulation) instruction you need can be found in the pages of Cosmo.

You're probably an overweight male sitting in his dirty underware thinking he can socially engineer HN. If so, you're pathetic, but if not, you're still pathetic.

so much for my karma...

Re: MIT female learning to code

#6
post #3

The 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.

Re: MIT female learning to code

#7
Definitely 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 stuff, you might also take compiler design to see what happens on the low level.

On the higher level, "Code Complete" is a classic. Once you've started, the "Dive Into" series is pretty good for picking up more languages.

I think the best way to really learn a language is to do something weird with it. I once tried to use Python in as purely functional a style as it would allow. I got far better at C by learning GPGPU and CUDA. I learned the motivations for C++ by implementing vtables in C. Doing odd things that push the limits of a language can reveal deep truths about how the pieces really fit together.

Re: MIT female learning to code

#8

Seems like you were starved for attention and couldn't answer your own questions, so you decided to waive your female bait, twice, to see if you can sucker any of the dorks into helping you with your homework. Congrats on nailing two suckers so far!!!111oneoneone~~ A (supposedly) smart (MIT) girl like you should already know all the programming (manipulation) instruction you need can be found in the pages of Cosmo. Y…

Well aren't you lovely. A starved for attention (supposedly) smart (MIT) girl? Overweight pathetic "Cosmo" reading male? Please make up your mind.

Or..I'm an Econ major taking my FIRST course in computer science with ZERO background experience in this space at all. I'm looking for advice and guidance as a humble beginner.

If you were looking for literature and daily publications on Austrian Economics or other heterodox schools of economic thought, I would have a list to give you.. I'm just looking for the equivalent in programming.

Re: MIT female learning to code

#9
What makes you think your (wow) programmers are slow? Are they inexperienced, like yourself? They may be poorly guided or have no clear definition of goals. Or a lot of other things.

But by all means, get a hold of a compiler and a text editor. You don't need no literature. Yet.

Re: MIT female learning to code

#10
post #3

The 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.

Python's a good language, but it's a soft-typed interpreted language. Which means it will let you get away with certain things.

It is also has some differences in syntax from a lot of other languages that might give you some trouble when you switch. C/C++, Java, PHP, Perl, Javascript and many other languages share a lot of common syntax. Python's still really similar, but it deviates in some key ways.

It also tends to have really hard core adherents who will swear by it above and over anything else, which is why there is something of a debate. It really doesn't matter that much what language you start with.

One of the keys to being a good programmer is knowing your toolbox. And that includes knowing multiple languages. The best programmers don't have one favorite language. Rather they have a toolbox of a half a dozen or more, and they pick the best language for the task at hand.

Post reply on HN