4 ms·
Maybe you should stop thinking of code as solving problems and more like painting a picture. It doesn't matter if there are mistakes or if you've done everythin
by ythn 10y ago
Maybe you should stop thinking of code as solving problems and more like painting a picture. It doesn't matter if there are mistakes or if you've done everything perfectly, as long as you've created something cool.
It's like telling a room full of artists that you hate almost all art because the tools available etc etc over complicate painting a simple picture whose purpose is to fulfill a client contract, etc.
- ben_jones 10y agoCan I be mad at ugly paintings going for ridiculous prices?
- Humdeee 10y agoNah, hold back until the transaction actually takes place. Then you have reason to flip tables.
- Retra 10y agoSorry, but that makes no sense. The only reason I'm using any computer at all is to solve problems. Even if that problem is "entertain me", if my computer wastes my time in any way, I'm not going to look at it and say "Oh, gee, that frozen loading bar is just so much ART that I don't mind waiting on this shit box to do what I say." A painting which wastes your time is not a beautiful painting, regardless of your perspective on subjectivity.
- nightski 10y agoI don't think he was calling the user experience art so much as the solution. It's true, there are many ways to solve the same problem and many can be effective warts and all. There is some artistry to it, at least today (maybe someday we'll solve this problem).
- shakna 10y ago> It doesn't matter if there are mistakes or if you've done everything perfectly, as long as you've created something cool. > computation: noun > the action of mathematical calculation. Code is absolutely a method to solving a problem. That's just about all it is, a means to solving a problem. What that problem is can be creative, and the method can be creative. But creating something "cool" is utterly incidental. You might set out to do it, you might not. "Cool" is sort of an objective term. Programming is the subject of mathematical research, which I find cool. I expect others would find it tedious. Code doesn't necessarily mean building the next Facebook or Gmail. It might instead be creating the interface for a keyboard to a computer. A solved problem. You just need to tweak it a little to fit the hardware at both ends. It's still a specification for solving a problem. Coding is different, in that when I sit down, and use a word processor, then I can see the rough edges, and I can potentially improve them. I can know why the "paintbrush" isn't good enough for the task at hand, and I can craft my own one. And many artists have been criticised, and praised, for their methodology. Making use of primitive tools happens in the art community, and usually increases the value of the final product. Making use of primitive tools happens in the coding community, and usually increases the time it takes to create something that functions in the same way. Not to say it always happens, but this is an entirely different realm. Code has a lot more in common with mathematics, where we don't ask everyone to recalculate Pi from scratch each time, than it does with art, where the materials can be as important as the method.
- n00b101 10y ago> Maybe you should stop thinking of code as solving problems and more like painting a picture. It doesn't matter if there are mistakes or if you've done everything perfectly, as long as you've created something cool. But paintings are unobtrusive in day-to-day life. Perhaps a different "art" analogy would be architecture (as in, the art of designing buildings). Think of a rockstar architect who shows up in your home town and gets something new built that everyone has to now live with (whether they like it or not). There are many controversial buildings that people love to hate. For example, when the Eiffel Tower was proposed, several famous Parisians artists fiercely opposed it. Guy de Maupassant famously ate lunch at the Eiffel Tower restaurant every day because it was the one place in Paris where the tower was not visible. [1] Another example is "The Crystal" at the Royal Ontario Museum, which was constructed in 2007 "on top" of the original museum building constructed in 1912. Many architecture critics hated it and it was famously reported as "one of the ten ugliest buildings in the world." [2] There are many other such examples around the world. So it is with technology. Someone engineers something, like a CPU, a programming language, a build system, or an OS, and we all have to live with it. Guido van Rossum sticks a Global Interpreter Lock in the middle of Python, and we are stuck with it. Kitware comes up with a suboptimal language for CMake, and we are stuck with it. Intel extends x86 for 40 years, and we are stuck with it. Microsoft randomly changes the Control Panel layout in a new version of Windows. etc... Usually these things can't be changed, just as no one can ever redesign the Eiffel Tower. We just deal with it and, as the saying goes, "a good craftsman never blames his tools." [1] https://en.wikipedia.org/wiki/Eiffel_Tower#Artists.27_protest https://en.wikipedia.org/wiki/Eiffel_Tower#Artists.27_protes... [2] http://www.theglobeandmail.com/news/toronto/roms-crystal-makes-list-of-worlds-ugliest-buildings/article4293090/ http://www.theglobeandmail.com/news/toronto/roms-crystal-mak...
- AdieuToLogic 10y agoHere are a few software development maxims which I believe you, or others reading this comment, may benefit from: Software is the manifestation of a solution to a problem. Define the problem which needs to be solved. Developers can test their solution or Customers will. Either way, the system will be tested. Only progress a system from a known working state to the next known working state. If the current state of the system is unreliable (IOW: "buggy"), peel back the existing logic until it is in a provably working state. Only then reintroduce removed logic (in adherence with the above) to reach a working state where additional logic can be introduced. And, yes, it does matter "if there are mistakes" for the vast majority of software systems. Perhaps not those with which you've been exposed, but for many this is the case. HTH
- dredmorbius 10y agoKnown working state ... That's a key argument against systemd. It's not inherently deterministic.