4 ms·
> Copy and paste doesn't help you at all with this. In some cases it may prevent you learning essential lessons and hinder your improvement. It annoys the heck
by lazyjones 12y ago
> Copy and paste doesn't help you at all with this. In some cases it may prevent you learning essential lessons and hinder your improvement.
It annoys the heck out of me too when people apply for a programming job and cannot implement even trivial CS methods (like integer => string conversion with base N), then point out that they would just Google for a solution if they needed something like this.
But to be honest, a lot of programming wisdom is buried somewhere on the web as well as inside libraries that do not warrant reimplementation. Much of this googling and copy-pasting simply represents the fact that our traditional programming library approach isn't sufficient anymore for distributing correct implementations of particular functionality - probably too much overhead. SO is much like a large library with mediocre code, imprecise interface specification and without working imports, but it also contains many solutions to trivial problems that competent engineers should be able to implement straighforwardly...
- mattmanser 12y agoI have been programming professionally for 10 years, 5 years more as a hobby. I have been paid 100s of thousands of dollars, my code is used daily by 10s of thousands of people, I have built large, complex systems from scratch, worked in teams and by myself. The things I make do what they're supposed to, they don't break often[1], tend to be fast and usually my client is a happy bunny. I can fix anyone's code, even when I've never used the language before [2] and it was written by an outsourced programmer who quite obviously only read "how to write SatanScript in 28 days" and then was locked in a room for 2 years until his program kinda worked if you held it upside down while reciting the words to Annie. I am confident I am a good coder at this point in my career, and much better than many of the programmers I have met. There are a handful I have met that I know are better than me. I would only have a vague idea of how to do a integer => string conversion with base N without googling it. So am I shit? Am I suddenly a useless programmer because lazyjones only likes people who studied CS? Even though I can understand that code in a glance and rewrite it, often better or clearer than the SO example? You have picked an arbitrary, and extremely rare in the programming world, standard. No-one needs to write their own string handling routines any more. Programming is hard and there are many different flavours. And yours is an old fashioned favour from the early 00s. Stop judging people by it. [1] Apart from my very bad habit of making a minor last minute tweak or bug fix, not testing it, and introducing an easily fixed bug [2] They're all pretty much the same after you've used 3 or 4.
- lazyjones 12y ago> would only have a vague idea of how to do a integer => string conversion with base N without googling it. So am I shit? I would probably not hire you unless you could actually back up your dubious claims ("I can fix anyone's code ..."). The funny thing is, while I am judging people by their ability to solve a particular problem (which admittedly may have an age bias), you are judging people who studied CS based on the fact that you didn't but are still full of yourself.
- mattmanser 12y agoI'm not judging them. There are great programmers who studied CS. Is a worthwhile thing to add. The best programmer I know studied CS. It's worthwhile, if you can actually program. It's unfortunate that a lot of people have to wait till they've gone to Uni, studied CS, gone into the real world, got a job programming, and found they cannot program.
- wting 12y ago> I can fix anyone's code, even when I've never used the language before [..] You can jump into any codebase and solve core architectural problems like precise garbage collection, eventual consistency, or miscellaneous dead locks? I'm not making up contrived examples, these are some of the problems my friends and I are currently dealing with at work for different companies. > I would only have a vague idea of how to do a integer => string conversion with base N without googling it. So am I shit? Am I suddenly a useless programmer because lazyjones only likes people who studied CS? I've never had to do integer => string conversion until asked in an interview either and I still did it. It's not a difficult problem. Anyone with a basic understanding of division and string manipulation should be able to reason out a solution. > You have picked an arbitrary, and extremely rare in the programming world, standard. No-one needs to write their own string handling routines any more. I wrote my own C++ string library before std::string was introduced. I contribute to Rust which has its own string, big number, vector libraries and much more. The web site I work on gets >130M monthly uniques and we have extended Python's string, dictionary, iteration, and datetime modules because the standard library isn't enough. > [Programming languages are] all pretty much the same after you've used 3 or 4. Then you haven't used enough languages. Try functional programming via Haskell, or dependent typing via Coq, or concurrency via Erlang, or memory safety via Rust. The world is a really big place. I know people infinitely smarter than me doing incredible things, and there are many more like them. Stop being limited by your own experiences.