5 ms·
> (especially C programmers) Author needs to stop his anti-intellectual everyone-is-as-ignorant-as-me bullshit. I see that a lot re programming to justify a lo
by belovedeagle 12y ago
> (especially C programmers)
Author needs to stop his anti-intellectual everyone-is-as-ignorant-as-me bullshit. I see that a lot re programming to justify a lot of silly positions. If you only know Javascript, that's great, I rather like having shiny things in my browser (I like it too much, even). That doesn't mean that C programming is obsolete; some of us know C. For example, I got #5 and #9 wrong, and the rest I got right including the general idea of the justifications. (10/12 is pretty good for someone who grew up in the Java era, but I want to get better.)
- jflatow 12y agoGlad I'm not the only one who didn't find anything here that would make me think I didn't know C.
- sjolsen 12y agoI don't believe the author is claiming that C is obsolete; nor do I believe he is claiming that no one knows C. What I do think he's implying, if not outright claiming, is that there are many people who grossly overestimate their knowledge of the language. That doesn't mean there aren't a lot of very talented and knowledgeable C programmers— but there are a lot of people out there who think they're hot shit because they've done all the exercises in K&R, but who have no real familiarity with the formal semantics of standard C.
- oneeyedpigeon 12y agoI think the opinions "c is too complicated and buggy and, therefore, obsolete" and "javascript is a 'shiny' language for amateurs" are just as narrow-minded as each other.
- zamalek 12y ago> javascript is a [...] language for amateurs He never said that or implied it.
- oneeyedpigeon 12y ago"If you only know Javascript" - why even bring that up? There is no mention of Javascript in the original article at all.
- icebraining 12y agoBecause it's a language that many people know exclusively?
- belovedeagle 12y agoIn fact, my point was the complete opposite.
- zamalek 12y ago> the rest I got right including the general idea of the justifications. The majority of them can be answered correctly by someone who understands computer architecture and programming languages. E.g. #3 is about pointers which do not necessarily have only to do with C. Even JS developers implicitly deal with pointers: var v = {} // v is a pointer
- geocar 12y agoThat is not a pointer. In C I can perform arithmetic on a pointer. `v` is a symbol which references an object. It might be acceptable to refer to `v` as a reference if we're being sloppy. JavaScript has a DataView[1] which could be used to implement what I think is a pointer, but I do not think that most JS developers have used it. [1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
- zamalek 12y agoAs compiled by the JIT, `v` is a pointer. That is how it is implemented, `v` is not a copy of `{}`, it points to a location of memory that contains `{}`. A pointer is not defined as being "allowed to do arithmetic" it is defined as "points to a location in memory," no more, no less. > In computer science, a pointer is a programming language object, whose value refers to (or "points to") another value stored elsewhere in the computer memory using its address. A pointer references a location in memory, and obtaining the value stored at that location is known as dereferencing the pointer.[1] We are not being sloppy, in fact we are being extremely correct and precise. Pointers and dereferencing pointers might be implicit and automatic in Javascript but that does not change that a pointer to a value is being used, instead of the value itself. Pointer arithmetic is not the same thing as pointers, it is merely something you might be able to do with pointers if the language you are using supports it. Rust calls its "symbols that reference objects" (what on earth?) pointers, even though you are unable to do pointer arithmetic on them (unless you drop to unsafe). C++ Smart Pointers are called as such even though you can't do arithmetic on them. [1]: http://en.wikipedia.org/wiki/Pointer_%28computer_programming%29 http://en.wikipedia.org/wiki/Pointer_%28computer_programming...