Analogy for clueless manager types: in many cases, software is 99% plumbing. But imagine the cost of changing the plumbing after the house has been built :) Also consider the problem of changing the plumbing while people are actually living in the house.
Writing Software is Hard
11–20 of 28 posts
Re: Writing Software is Hard
#12Writing software is hard yes, but I disagree with the author: I do blame the tools. Every language since C has been created as a reaction. What I mean by this is: > C++ was created as a reaction to OOP being so difficult to do in C. > Java as a reaction to memory management being difficult. > C# as a reaction to Java not being concise enough. > Javascript as a reaction to HTML not being dynamic enough. > Go has a rea…
This might be related: https://xkcd.com/927/ Edit: Besides that, I agree, except one thing, I'd say C# is just MS's reaction that there is something awesome which does not belong to them.
Re: Writing Software is Hard
#13Writing software is hard yes, but I disagree with the author: I do blame the tools. Every language since C has been created as a reaction. What I mean by this is: > C++ was created as a reaction to OOP being so difficult to do in C. > Java as a reaction to memory management being difficult. > C# as a reaction to Java not being concise enough. > Javascript as a reaction to HTML not being dynamic enough. > Go has a rea…
Re: Writing Software is Hard
#14I completely agree with the idea that we are overestimating the impact of tools, specifically, programming languages. I often see startups that rewrite their software one or more times just because they think that changing the tools is the key to success. They switch from PHP to Python, then from Python to JavaScript then from JavaScript to Go. It's so easy to say "We failed because X language, now we have to use Y".…
Force of will, network effects, and other political factors dominate most forms of technical merit when it comes to "success" of a project. This includes such meritorious properties as security as well as understandable code. Let's not give up, OK? Doing a good job is always going to be hard, but it doesn't have to hurt this much, and it doesn't have to be as crappy-by-default as it is now.
As we take responsibility for doing better with our tools, we need to take responsibility for doing better on our tools.
Re: Writing Software is Hard
#15Writing software is hard yes, but I disagree with the author: I do blame the tools. Every language since C has been created as a reaction. What I mean by this is: > C++ was created as a reaction to OOP being so difficult to do in C. > Java as a reaction to memory management being difficult. > C# as a reaction to Java not being concise enough. > Javascript as a reaction to HTML not being dynamic enough. > Go has a rea…
Re: Writing Software is Hard
#16Re: Writing Software is Hard
#17Writing software is hard yes, but I disagree with the author: I do blame the tools. Every language since C has been created as a reaction. What I mean by this is: > C++ was created as a reaction to OOP being so difficult to do in C. > Java as a reaction to memory management being difficult. > C# as a reaction to Java not being concise enough. > Javascript as a reaction to HTML not being dynamic enough. > Go has a rea…
Could you elaborate on what you think a better direction for creating a programming language would be? I'm not sure I follow how that would be done in a way that isn't like the list you described. I don't see someone wandering out of a cave and unveiling a p-lang that didn't build off of known drawbacks of past languages.
Re: Writing Software is Hard
#18Writing software is hard but to me the hardest part is always taking a random abstract concept from someone's mind (or worse, several people) and converting that into something "real" in a fixed timeline and budget. There will have to be lots of tradeoffs and miscues by definition. We are always making something that doesn't already exist, it is creation and creation is hard. I do agree that tools (and process and ..…
Re: Writing Software is Hard
#19Writing software is hard yes, but I disagree with the author: I do blame the tools. Every language since C has been created as a reaction. What I mean by this is: > C++ was created as a reaction to OOP being so difficult to do in C. > Java as a reaction to memory management being difficult. > C# as a reaction to Java not being concise enough. > Javascript as a reaction to HTML not being dynamic enough. > Go has a rea…
I don't believe encoding the "why" is possible.
The mapping from "why"s to "machine code" is not predefined bijective nor injective.[1] It can't be well-defined enough to make a deterministic compiler. If you restrict the set of "whys" to a very narrow set of "understandable" inputs by the compiler, you've basically re-implemented the specifying of the *"whats" again.
Building ever higher abstractions is tractable because it's what we've been doing for decades: combine several lower-level "whats" into higher-level "whats". But encoding the "whys" seems to be unsolvable. Either that or I'm not understanding what you're communicating.
Re: Writing Software is Hard
#20Writing software is hard yes, but I disagree with the author: I do blame the tools. Every language since C has been created as a reaction. What I mean by this is: > C++ was created as a reaction to OOP being so difficult to do in C. > Java as a reaction to memory management being difficult. > C# as a reaction to Java not being concise enough. > Javascript as a reaction to HTML not being dynamic enough. > Go has a rea…
This might be related: https://xkcd.com/927/ Edit: Besides that, I agree, except one thing, I'd say C# is just MS's reaction that there is something awesome which does not belong to them.
Really, C# is a public service to correct for something that for so many reasons should be awesome having turned out so-so at best.
(You may say writing a million getters and setters, declaring types twice, stuffing your code in deep directory hierarchies, and dealing with bizarre licensing/version issues feels normal; that's the Java talking.)