4 ms·
I disagree. A bad programmer is the guy that says "I will only use lisp! Everything else is terrible". A good programmer just wants the thing to work and will
by axod 16y ago
I disagree. A bad programmer is the guy that says "I will only use lisp! Everything else is terrible".
A good programmer just wants the thing to work and will use whatever is best for the task.
The solution is for programmers to learn more technologies and stop being so fanboish with his favorite. Rise above the language/tool. They're nothing to do with real programming, which is solving real world problems.
Good programmers don't think about problems in a specific language, they don't read code in a specific language. It's all just code. Languages are just a crappy way for humans to write machine code. That's all.
- cool-RR 16y agoSomeone who insists too much on perfection is a bad programmer, like in the example you gave. Someone who doesn't insist enough on perfection is also a bad programmer.
- axod 16y agoI don't think that's the case at all. Bad programmers spend years on silly problems that don't matter. No one cares if you as a programmer find a particular language to be beautiful. Language syntax doesn't matter. Having to type out boilerplate doesn't matter. Runtime matters, scalability matters, resource usage etc.
- eitland 16y agoAnd often, most important: Time to market. A working solution in PHP today may may often be far more valueable than a perfect solution in Java next week, next month or next year.
- Dn_Ab 16y agoBut then it does matter. While choice of language is not the end all be all it will affect run time, scalability, resource usage, correctness and time to market. And if you have a choice in language to use then do not forget we are humans with psychological considerations; balance the choice between the one you want while also considering its fit for the problem domain. Going less common has its down but also up sides. Its up to you to decide what is paramount. Some syntax and language features suit different mental types better. This will affect things like motivation hence touching correctness, time to market and similar mental state affectable things.
- lukeschlather 16y agoYou're confusing bare-minimum languages with bad languages. At my last job, I spent some time working in an arcane dialect of BASIC. There were two data types: strings and numbers. There appeared to be several array data types, but they were just a special syntax for creating strings delimited with three obscure Unicode characters (hopefully obscure enough not to show up in a string.) That was a bad language. I also spent some time working in PHP. I begged to get PHP projects. I would have rather been working in Python or Perl. Or Ruby or Scala or Java or whatever. But PHP supplies the bare minimum I need to do my job. At the same time, I don't think the author is talking about languages. The author is talking about tools in general. And I've seen a variety of tools written in PHP that are very poorly architected. And there the author's premise holds true: I'm going to spend a lot of time working on that poorly architected PHP code until I make it better. In fact, the good vs. bad programmer is something of a distraction. If a tool requires a lot of maintenance, it's a bad tool. If it's a bad tool, programmers will spend a lot more time dealing with it than with good tools.
- drblast 16y agoA great programmer writes Lisp programs to generate code in the languages he doesn't like but is forced to use :-)
- evilduck 16y agoNot to rant or single you out, but I'm not sure that "programmer" is a sufficient descriptor in this thread anymore since everyone seems to have their own little definition, and I'd argue that solving real world problems is only one of many attributes of "real programming". Is game programming solving a problem? What about music visualizers? They're both fun distractions, but to call them "problems" is stretching the definition. What about malicious programming efforts? What about using programming languages for the challenge of it (brainfuck, whitespace, etc)? Refusing to use anything but lisp may make you a poor candidate as an employee or teammate or entrepreneur or whatever, but says nothing about your ability to use lisp effectively.
- axod 16y agoGame programming, music visualizers solve the problem "Make something people want". > What about using programming languages for the challenge of it (brainfuck, whitespace, etc)? I think this is one reason lots of programmers get into a rut where they only want to use a specific language and get depressed using anything else. Using a programming language for the challenge of it is good fun, but it's not really a worthwhile use of effort often. I agree, 'programmer' has many definitions, but at the end of the day, we "program" to make a product that we or others can use. How that product is made and what tools were used isn't that important. It's the fact it's made at all that matters.
- maxawaytoolong 16y agoIs game programming solving a problem? There is a game to be made, and the problem is that it hasn't been programmed yet.