One of the premises of this article - that "competing standards" exist primarily because of political reasons or shallow decision making - demonstrates a fundamental misunderstanding of software engineering. Sure, some engineers (especially junior ones) enjoy reinventing the wheel more than using something that already exists to solve users' problems. We all like to trick ourselves into thinking we're unique snowflak…
Indeed. Sometimes things are complicated/messy because we're stupid or lazy or ignorant. But sometimes things are complicated/messy because we're trying to solve complex problems. That's not to say that there isn't a simple solution to a particular problem nor that we should strive to find it. But to assume that there are always simple solutions to complex problems is itself a form of ignorance.
Why does programming suck?
61–70 of 90 posts
Re: Why does programming suck?
#62Here's the thing: everything sucks. Every industry, profession, even hobby is full of seemingly arbitrary limitations, poor tooling, quirky hacks you have to work around, little bits of required know-how that seem ancillary to the central goals. Ask your friends in other engineering disciplines, politics and public policy of all kinds, finance, medicine, and energy. Everything sucks because the world is complicated a…
as a tinkerer, I love programming. I enjoy optimizing routines, fighting complexity, exploring the solution space for hard problems. the problem is, that doesn't pay for a roof and a meal. so I spend my day fighting users that requires twenty seven pop-ups not to delete their own data accidentally, browsers that have each their own idea of css3, enterprise services that are a landmine of old documentation, bugs, work…
A usual misconception, my fault, is to think I'm complaining about our profession. I'm not, I'm talking about programming, the tool.
Re: I love programming. Me too! but I think tools should be measured by their outcomes, not by how much we love them.
Re: Why does programming suck?
#63One of the premises of this article - that "competing standards" exist primarily because of political reasons or shallow decision making - demonstrates a fundamental misunderstanding of software engineering. Sure, some engineers (especially junior ones) enjoy reinventing the wheel more than using something that already exists to solve users' problems. We all like to trick ourselves into thinking we're unique snowflak…
I clarified that "Sometimes" the causes are political, it used to say "Usually".
But if after a 30 minute read you picked up on a stupid example and you started a discussion on XML vs JSON you are just proving my point. The expectation in the 60s was that machines will figure out protocol, even make protocol, on the fly, by asking about each other. Yet, you want to have another discussion about XML and JSON.
Re: Why does programming suck?
#64Earlier quoted context omitted.
I don't have a problem with generating diagrams from configuration and/or code (e.g. with Graphviz) but I'm not keen on diagrams actually being edited and used to generate stuff. However, I would say that my aversion isn't based on a fundamental problem just on my experience that "graphical" tools are often awful from a usability and practicality perspective so that the benefits never seem to clearly outweigh the sig…
> However, I would say that my aversion isn't based on a fundamental problem just on my experience that "graphical" tools are often awful from a usability and practicality perspective ... Yeah. For any truly novel visual programming approach to succeed it'd probably require some next-level UI/UX work for sure.
Visual programming could be very well an alternative. Or fucking oculus vr or god knows why. I 100% agree with rl3, it proposes a very interesting and challenging problems for the UI/UX folks.
Re: Why does programming suck?
#65No, you have to present your reasoning before I agree with you.
Re: Why does programming suck?
#66Earlier quoted context omitted.
While I'm not terribly familiar with UML, I was under the impression that it's primarily a modeling language, not necessarily a visual programming implement. As far as I'm aware, most visual programming today is actually implemented in the form of node-based editors, which gained popularity in the film and visual effects industries well over a decade ago. The best modern examples I can think of are probably Nuke[0] a…
I've tried this, some two decades ago: https://en.wikipedia.org/wiki/Rational_Software "The development of Rose 2.0 combined a Windows-based Booch notation editor called Object System Designer (acquired from Wisconsin-based Palladio) with a new intermediate representation, and with new semantic analysis, code generation, and reverse engineering capabilities. The latter, which allowed prospective customers to analyze…
UML didn't pick up for whatever reason and visual programming fell into the valley of deception. I expect that with more UI/UX research we can get to the plateau of productivity in the next decade.
Btw, there is a variant of UML that is executable. https://en.wikipedia.org/wiki/Executable_UML
Re: Why does programming suck?
#67I would say that everything the author describes as facts that have led us to this "mess" are actual testments to how fucking amazing human ingenuity is. Look at everything we built out of arbitrary conventions of boolean logic that has real impact and is shapping the modern world! >> The computer shifted the complexity of our solutions from the world of atoms to the world of ideas. And that's fucking awesome! Thanks…
>>The computer shifted the complexity of our solutions from the world of atoms to the world of ideas. >And that's fucking awesome! Thanks everyone that was part in making that a reality!
I glad you are entertained with programming. I am too! but we should judge a tool like programming by its productivity, not by it's entertaining powers.
> We can create things as complex as we can logically describe them.
One of my points is that we can't. To make a single app facebook needs hundreds of engineers and it is still buggy. Humans are, yet again, the weaker link in software engineering. I believe we need fundamentally better tools.
> It's also incredibly difficult to create something that will acomodate everyone else's solutions.
Agreed. I'd very happy with a tool that is not general purpose that could churn though CRUD systems (vast majority of systems our there) in a matter of hours without errors. If you want to something else like AI, or games or whathaveyou, use other tools built specifically for that or a programming language if none are available.
That CRUD tool (gross oversimplification) could be expanded with new capabilities as long as we understand those new capabilities properly.
> Saying programming sucks and wishfull thinking does not help anyone. Not happy? Start hacking on the next thing!
I am, thanks for the encouragement.
Re: Why does programming suck?
#68In the ideal world, i would program purely at the level of a sugared lambda calculus, free of trivial things like runtime,memory use,network latencies,serialization,platform incompatibilities,dependency management,string encoding/decoding issues . Basically everything that makes programming different from math. However, programming may be lambda calculus at a theoretical level, but execution is a turing machine. All…
Re: Why does programming suck?
#69The article is a long rant, but wrong on more premises and conclusions. And yet, by quoting the people who were actually right in the cases they wrote about, it appears more correct than it is. There are too many wrong "conclusions" and premises in the text, just an example, here's the author writing about Babbage's and his Analytical Machine: "he was focused on doing math fast and without errors. He didn’t care how…
> Of course, not true, Babbage had to care
reference? In any case, the main point is that he was making tradeoffs for his math machine, not for modern software development. Not blaming him, just pointing out it was suboptimal for us.
> The whole article is, unfortunately, like this
I'd love more examples. I have definitely a lot to learn about writing.
> The author just doesn't understand how much of everything was invested up to now for him to pay so little for the CPU's he uses
I don't see how "a lot of money was invested" proves how there is no alternate hardware that would make programming more productive.
Re: Why does programming suck?
#70[meta] The title of this article sucks, really, it's a bait, which is sad because the article is actually interesting. Why do blog post titles about programming have to suck in order to attract readers ? > Lots of rework happens because of miscommunications with the user. Other times, the user doesn’t fully understand their problem (there’s not much we can do about this) Agreed. That's where "lean programming" comes…
> [meta] The title of this article sucks, really, it's a bait,
It was not intended. The title just tries to summarize the post. Still, so much to learn about writing!
>> Lots of rework happens because of miscommunications with the user. Other times, the user doesn’t fully understand their problem (there’s not much we can do about this)
> Agreed. That's where "lean programming" comes into play. If you have the capacity to make the code change as requirements change then I think the issue is pretty much solved. However, not all languages/solutions are equal in that matter. Obviously TDD, Agile techniques help.
I have a note on Agile. As I mentioned, I believe Agile or lean programming to be solutions. They don't question anything about the status quo, they just try to cope with it. It's good, it's an improvement. But an incremental one from the perspective of the stack of poker chips.
>> If we assume that typing code is the way to program, we will never look for better alternatives. > Typing code is a medium. The fact is, for an engineers it usually the most convenient way to create a program.
Turns out that the medium has an huge effect on our understanding. https://signalvnoise.com/posts/2976-bret-victor-thinks-math-...
>> Building software is 90% a human problem >Agreed, but like everything humans do.
The first rule of the tautology club is the first rule of the tautology club. Of course! the idea is to make programming something that humans don't do, or at least, reduce how much human involvement you need. Humans are the weaker link in software development, we should do like with other things that humans don't do anymore, figure out a solution and put our time to do something else.