Hacker Newsnew | past | comments | ask | show | jobs | submit | eswangren's commentslogin

Yay, that's exactly what our industry needs; more cargo cult programmers writing terrible software! Let's just be glad that this RoR guy isn't building anything safety critical.


How very positive and encouraging of you. Exactly what our industry needs, elitist developers who don't want to grow the industry. You know, there is a shortage of strong developers available and you were a beginner too at one point.


Account created: 91 days ago

We've been talking a lot lately about the decline of quality commentary on HN, and the increase of negativity and snarkiness. Parent is a great example.

OP, I enjoyed the post and forwarded it on to some friends. Nice work!


Either you didn't read the article or you missed the point.


elaborate the point then.


TLDR If you work your ass off you can get a job doing what you love in a relatively short amount of time.

I wasn't claiming that I am an awesome programmer but I got good enough to put myself into a position where I could learn from awesome programmers, on the job, while getting paid.


Bravo, and if you keep working your ass off you will be an awesome programmer.

I did the same thing, by the way, though it was ages ago, so no Github or anything like that. The only thing I'd change, looking back, is that having got that first job I allowed myself to get stuck. I was doing one kind of work using one set of tools and even though I got good at it and made money at it, it constrained me mentally. A lot of programmers fall into this trap. It's insidious because you don't know you've fallen into it. Something ends up having to shock you out of it and that is not a good place to be. Perhaps if I had studied CS I would have started out with a broader sense of the field. In the end it took quite an effort to maneuver my boat into larger (and deeper) streams.


ok then. I guess the party pooper comments come from a different view on what is learning to program, and that different view comes from a different experience. Many people forget that today self-learning is much easier than, say, 12 years ago; yet knowing theory on 'how stuff works' is no less important than back then. Good luck on your job.


Learning to program is learning to program is learning to program. "Programmer" isn't a protected title, it's not a title you earn, it's a description of a thing you do. Farmers farm, birdwatchers birdwatch, programmers program. There's no interpretation available in the phrase "learn to program."


not sure if you realize I agree with you. programming is such a broad occupation that even among programmers themselves there is a lot of discourse often tending towards 'no true scotsman' fallacies (usually comming from low-level to higher).


I tend to think that the success of "this RoR guy" has more to do with the Brand Equity and Mind Share that Ruby on Rails has amongst Management/Recruitment than anything else really.

It's alot easier to call for Rails devs since it's so ubiquitous at this point; as opposed to, "We need a Python dev with Django/Flask/Webapp2/Pylons/Tornado experience", the Ruby on Rails echo chamber -- because of its "singularity" feeds itself...

Everyone wants Rails guys

Bravo, RoR, bravo.


You don't think that some people are simply better suited to tasks that require a high degree of logic than others? Really? I would think that day to day interactions would teach you that much... We're not all born as blank slates with near unlimited potential.


I distrust the blank slate theory as much as the next guy, but have some doubts specifically about programming. For example, in the programming profession you can find many folks who are similarly clueless about cooking. Would you believe if one of them said to you "You know, I just wasn't built for cooking"? Maybe the mindset necessary for programming (and logical thinking in general) is just very difficult to communicate, and some people just stumble on it by accident? That's why I'm asking for citations.


Just like any other type. Everything is passed by value in C. Everything.


And it is actually somewhat dangerous to cast the return value of malloc. Aside from being redundant it can hide an error on compilers which implement an older version of the standard (not uncommon. Anything pre-C99).

If you forget to include stdlib.h the cast hides the error and malloc will be assume to be a function which returns int. makes for interesting runtime errors.

Never cast the return value of malloc in C, and don't write redundant code. C is not C++.


Just as with pointer arithmetic (because that's what this actually is) you don't multiply by the size of its elements. This:

  array[2]
is the same as this:

  *(array + 2)
The compiler knows what the type of data the pointer refers to and can produce the byte offset itself. Also:

  "...it's always pointing at the first element of the the array"
Eh... an array can degrade into a pointer when needed, but what does the following produce?

  char arr[10];
  ??? x = &arr;
Is "x" a pointer to pointer to char? From your assessment it would seem so, but in reality the type of "x" is

  char (*)[10]
i.e., pointer to array of char 10. An array is an array, and arrays can degrade into pointer types.


Additionally, (as you know, but merely pointing out for the curious), `sizeof arr` returns the size of arr in bytes, not the size of a pointer to the first element of arr.


  > ??? x = &arr;
Does this compile? I thought an array was treated like a constant pointer, inexistent in memory so you cannot take its address, increment it, or attribute it another value. Although the point made by RegEx about sizeof, which I didn't remember, convinced me that an array is not actually a constant pointer.

To make my thoughts clear, if arr is equivalent to &arr[0], then wouldn't &arr be equivalent to &&arr[0]?


I just hope it's faster. VS has been getting noticeably slower with each release since 6. It's unbearable at times.


Really? When was the last time you upgraded? It's been getting noticeably faster since 2008.


Agree and disagree. At my last job I had 6, 2008 & 2010 all installed (legacy apps, yay).

6 was amazingly responsive but sucked if you had to read/write anything (like, say, compiling). 2008 was average-slow at everything. 2010 had a go-away-&-make-a-coffee startup time that pounded the HDD, but after that was VERY fast given the complexity of the jobs it was given.


I can't believe anyone could say this with a straight face when comparing VS2010 with VS2008. 2012 is much improved and almost feels as fast as 2008.


I never used 2008, so I see why you might say that. I went from 6 -> 2005 -> 2010. 2010 is slow as a dog. 2005 is slower than 6.



Updating intellisense!!


Two prolific projects that amount to far more than the vast majority of us of is will ever accomplish.


I suppose "prolific" does not necessary imply breadth or depth.


I believe an operating system typically implies both.


Prolific typically implies many things. I have a deep respect for linux and git, but neither are really prolific.

Anyway, I thought the OP meant he was prolific in his tirades, which is very true.


The way I interpreted the word was more "doing lots of things" and less "doing lots of a few things". Either is legitimate in retrospect.


So, I thought the whole point of managed languages was to abstract this stuff away from the programmer. If I have to have a deep understanding of the JVM's implementation details to do anything non-trivial I may as well just stick with C. At least C makes it very clear as to what is going on.


You haven't to have a deep understanding of the JVM's implementations to do non-trivial or even very complex applications in Java. You need that knowledge to solve problems.

And that is one of the problems of high-level languages: you can start knowing next to nothing. And go a long way too. But when you stumble upon a brick wall of a problem, you must go back and learn the basics.


> I thought the whole point of managed languages was to abstract this stuff away from the programmer.

It's a leaky abstraction.


Yeah, I know... I'm just ranting I suppose.


>If I have to have a deep understanding of the JVM's implementation details to do anything non-trivial I may as well just stick with C.

The difference is that you have to have a deep understanding of the details to do even trivial things in C.

So, no, one might not "just as well" stick with C. Except if you want to manage memory manually all the time, and dangle pointers around...


Well who would disagree with that? It's common sense; no article required.


It's not a good idea from any perspective. In my experience, the only people who cram as much logic into as few characters as they possibly can are beginner to intermediate level programmers who are in that awful phase where they think they know a lot more than they do.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: