Live data from Hacker News

The Hacker's Path

krainboltgreene.heroku.com

51–60 of 78 posts

Re: The Hacker's Path

#51
post #40

Earlier quoted context omitted.

I think your last sentence is the most poignant. Important thing is understanding the fundamentals and seeing the overall patterns. And the most damning for C and Java in my opinion. C and Java's syntax (which does matter to those who are learning), is so verbose as to hide a lot of what the fundamentals and patterns are. This is why I chose Ruby and Python. The languages syntaxes are clean and are never in the way,…

By "fundamentals," strlen means "memory management," "pointers," the gritty stuff. You can't escape memory management by using Ruby and Python, and a rudimentary understanding of pointers are also essential. a = ["Hello", "World"] b = a b[0] = "Goodbye" print a The first time I tried this, I was baffled why ["Goodbye", "World"] showed up. The answer lied in the way this scripting language used pointers, and it wasn't…

I know a lot of people support learning Python before C, but I bet most of those people are old enough that they learned C first.

I think it's really interesting to hear the experiences of someone who did Python first.

Re: The Hacker's Path

#52
post #49

I went on an interesting journey with this article. I first clicked expecting to see what Paul Buccheit succinctly labelled "Limited Life Experience + Overgeneralization = Advice". I found generalised advice, without a word on the author's actual experience. Which I generally dislike, because I like to know who's telling me things. I'd much rather read "Here are some things that worked for me and might work for you"…

   Sexism, a term coined in the mid-20th century,[1] is the
   belief or attitude that one sex is inherently superior 
   to, more competent than, or more valuable than the other. 
   It can also include this type of discrimination in 
   regards to gender. Sexism primarily involves hatred of, 
   or prejudice towards, either sex as a whole (see misogyny 
   and misandry), or the application of stereotypes of 
   masculinity in relation to men, or of femininity in 
   relation to women.[2]
It's not fucking sexism, for the 56th time today. It's light internet humor. It's an incomplete sentence.

post script: The dates on how long ago I started learning ruby are outdated.

Re: The Hacker's Path

#53
post #46

Earlier quoted context omitted.

As most, if not all, learning books have you do exactly as you listed I'm not exactly sure why you're against starting with books. I'm sure EVERY programmer should really be interested in "teh womenz." It's humour. Relax. People program as a hobby. It's how a lot of free software gets written. It's how people learn. That's why it says "other hobbies". "Other", as in "in addition to" or "besides this one".

The problem with "teh womenz" is that up until that point I was thinking of adding that list to a set of programming resources I'm sending to a friend of mine who's been learning programming recently. And sure, she'll have to deal with that kind of attitude eventually, but I'm not going to throw it in with the basic training resources. Talking about "teh womenz" is a good way to end up with a dearth of women in your…

None of the women I've showed this to, up to and including my significant other (whom is learning to program).

Re: The Hacker's Path

#54
post #49

I went on an interesting journey with this article. I first clicked expecting to see what Paul Buccheit succinctly labelled "Limited Life Experience + Overgeneralization = Advice". I found generalised advice, without a word on the author's actual experience. Which I generally dislike, because I like to know who's telling me things. I'd much rather read "Here are some things that worked for me and might work for you"…

Sexism, a term coined in the mid-20th century,[1] is the belief or attitude that one sex is inherently superior to, more competent than, or more valuable than the other. It can also include this type of discrimination in regards to gender. Sexism primarily involves hatred of, or prejudice towards, either sex as a whole (see misogyny and misandry), or the application of stereotypes of masculinity in relation to men, o…

It's not fucking sexism

There's a lot of geek feminists (myself included) who get irritated about assumptions that all geeks/hackers/programmers are male. No amount of dictionary definition quoting is going to make me think it's not sexist to put a gender-specific joke in a generalised list of advice.

post script: The dates on how long ago I started learning ruby are outdated.

It doesn't matter if you learned ruby 3 months ago or 7 years ago. The point of my comment is this - instead of giving a laundry list of canonical "do this, do that, become 'a hacker'" you could give some advice on how you learned to hack, that you think might be relevant to others. The more recently you learned to hack, the more valuable that advice is.

A generalised laundry list of "the path" is disingenuous. I don't care if it comes from you, me, DHH, Linus Torvalds, Donald Knuth, Jacob Appelbaum, RMS, Fabrice Bellard, Rusty Russell, Guido van Rossum, Jamie Zawinski, my mum, or some school kid. Everyone's path is different and personal, noone's is canonical. But therein lies the value.

Re: The Hacker's Path

#55
post #48

Earlier quoted context omitted.

I think your last sentence is the most poignant. Important thing is understanding the fundamentals and seeing the overall patterns. And the most damning for C and Java in my opinion. C and Java's syntax (which does matter to those who are learning), is so verbose as to hide a lot of what the fundamentals and patterns are. This is why I chose Ruby and Python. The languages syntaxes are clean and are never in the way,…

C's syntax is different from Python's for a reason: what each operator does is very much transparent from the syntax. The point of learning C is to understand what the computer does (as you program it in a higher level language). In Python, I can say: ... if "foo" in bar: do_something() That's excellent, that's what I expect from a high level language. However, I am not forced to think about whether bar is a hash tab…

Couldn't agree more. Joel's post http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool... comes to mind...

Re: The Hacker's Path

#56
post #40

Earlier quoted context omitted.

I think your last sentence is the most poignant. Important thing is understanding the fundamentals and seeing the overall patterns. And the most damning for C and Java in my opinion. C and Java's syntax (which does matter to those who are learning), is so verbose as to hide a lot of what the fundamentals and patterns are. This is why I chose Ruby and Python. The languages syntaxes are clean and are never in the way,…

By "fundamentals," strlen means "memory management," "pointers," the gritty stuff. You can't escape memory management by using Ruby and Python, and a rudimentary understanding of pointers are also essential. a = ["Hello", "World"] b = a b[0] = "Goodbye" print a The first time I tried this, I was baffled why ["Goodbye", "World"] showed up. The answer lied in the way this scripting language used pointers, and it wasn't…

Even after using python for many years, I still occasionally make this mistake. It is a tough "bug" to track down. Can anyone comment as to why deep-copy is not the norm?

Re: The Hacker's Path

#57
It is posts like these, where a majority of the audience will be super-educated and a small portion (me) not at all, that it would be great to have upvotes. I can only make an educated guess as to what the best advice is to learning code here.

A strong opinion could send me on my way for months doing the wrong thing.

Re: The Hacker's Path

#58
Functional languages will blow your mind, and make you a better programmer in the end. Languages like Haskell, Erlang, Lisp, and Clojure are great for this sort of thing.

It's great that people think so highly of functional programming, but this always sounds like damning with faint praise. I mean, "It'll blow your mind and broaden your horizons" is a reason to drop acid, not learn a programming language. Learn these languages because they're useful. There are many more effective methods to reach some state of mind-altering enlightenment.

Re: The Hacker's Path

#59
post #11

I'd suggest learning C as soon as a basic grasp of programming (variables, condition, iteration, basic data structures and abstract data types) is there. C is the lingua-franca of programming: advanced algorithms are often implemented in C (or in C like languages), other language concepts are often expressed in terms of C language concepts. "Gold standards" of systems programming are the C POSIX API and BSD sockets (…

I think your last sentence is the most poignant. Important thing is understanding the fundamentals and seeing the overall patterns. And the most damning for C and Java in my opinion. C and Java's syntax (which does matter to those who are learning), is so verbose as to hide a lot of what the fundamentals and patterns are. This is why I chose Ruby and Python. The languages syntaxes are clean and are never in the way,…

No offense, but I actually picked Ruby because everyone just seemed so damned excited all the time, gushing over the latest Rails release or coming up with weird names for gems, and when you're knee-deep in bug-infested legacy code or banging your head against the keyboard wondering why you're the only hacker in the world that doesn't get it, that's actually very important.
Post reply on HN