Live data from Hacker News

Does the software industry learn?

tomrenner.com

31–40 of 102 posts

Re: Does the software industry learn?

#31
post #27

Earlier quoted context omitted.

> and no one seemingly likes funding open source code. I’m not sure how this meme got started but it’s toxic. Why does free software need funding? Free software needs contributions . Big corporations make contributions by paying engineers. Everyone benefits in this ecosystem.

> I’m not sure how this meme got started How? Look at multitude of projects and see that most people using the software is not contributing back, with either time, money or anything else. > Why does free software need funding? Free software needs contributions You're saying the same thing, "contributions" is one way of funding projects, "funding" doesn't just mean money, it also means contributing engineering hours,…

Why do most users need to contribute? The value is the ecosystem. The point is we don’t have to contribute to everything we use. We can build on the work of others and they can build on ours.

Even developers of common libraries are relying on an amount of open code so immense they couldn’t possibly make contributions to all of it. This is the beauty of free software.

Re: Does the software industry learn?

#32

I would also like to read a well-written analysis of COBOL, what it did right and what it did wrong. A problem the article doesn't mention, is that the percentage of still-programming developers who are young (<30 years) is higher than in other professions, for several reasons, so the lessons learned 15 years ago are often lost.

The few I know is the language tried to be so easy to read by anybody that it made creating abstraction impossible. If the problem fits cobol, you get a nanoSQL like DSL to manage on disk records nicely. If it doesn't (controlling multiple sub systems, ad-hoc state, graphs) it becomes a monstrosity. Over the years IBM and others tried to fix that by making tooling or having nicer languages transpiling down to COBOL,…

You see, this sounds really cool. So what kinds of problems fit COBOL? And why did "we" conclude from this that general purpose languages were the solution, rather than building many different languages for specific problems? Did "we" even conclude that, or is that just my impression, 50 years later?

Re: Does the software industry learn?

#33
post #8

Earlier quoted context omitted.

Is that navel gazing? Is a carpenter talking about making a table in 2022 navel gazing? Maybe not the sexiest topic but I'm not sure that's the term I would use.

Software engineering isn't equivalent to carpentry, it is equivalent to CAD. So you can ask if designing new tables in Solidworks is a waste of time. And to this, I'd say the answer is not so clear-cut.

I would say it is sometimes a good use of time to build a date-picker as a learning exercise

Re: Does the software industry learn?

#34
post #31

Earlier quoted context omitted.

> I’m not sure how this meme got started How? Look at multitude of projects and see that most people using the software is not contributing back, with either time, money or anything else. > Why does free software need funding? Free software needs contributions You're saying the same thing, "contributions" is one way of funding projects, "funding" doesn't just mean money, it also means contributing engineering hours,…

Why do most users need to contribute? The value is the ecosystem. The point is we don’t have to contribute to everything we use. We can build on the work of others and they can build on ours. Even developers of common libraries are relying on an amount of open code so immense they couldn’t possibly make contributions to all of it. This is the beauty of free software.

> We can build on the work of others and they can build on ours.

This only works if both parties publish. Otherwise it's "we can build on the work of others"

Re: Does the software industry learn?

#36

Earlier quoted context omitted.

The few I know is the language tried to be so easy to read by anybody that it made creating abstraction impossible. If the problem fits cobol, you get a nanoSQL like DSL to manage on disk records nicely. If it doesn't (controlling multiple sub systems, ad-hoc state, graphs) it becomes a monstrosity. Over the years IBM and others tried to fix that by making tooling or having nicer languages transpiling down to COBOL,…

You see, this sounds really cool. So what kinds of problems fit COBOL? And why did "we" conclude from this that general purpose languages were the solution, rather than building many different languages for specific problems? Did "we" even conclude that, or is that just my impression, 50 years later?

IMO, society doesn't conclude, it reacts, mostly by imitation and deviation. Among long term cycles

Re: Does the software industry learn?

#37
post #6
post #4

Another story on the front page right now is "how I built a date picker". In 2022, people are still building date pickers. Imagine the progress our field could make were it not for the navel gazing, NIHing and pointless reworking.

Lookup YouTube on how many people built a chair, desk, or any other basic piece of furniture. In a craft you have to do the basics yourself sometimes.

And yet, those people do not get paid hundreds of thousands of dollars a year, believe their work to be at the height of economic efficiency, or think themselves generally more intelligent than the average person.

Software engineering is not a craft. It is a discipline. If society is paying people these exorbitant sums to be the equivalent of digital Etsy moms, we're getting a raw deal.

Re: Does the software industry learn?

#38

Given the number of times we have failed to learn the lesson "downloading code from untrusted sources and running it is a bad idea" -- the log4j and NPM colors fiascos spring to mind -- I think it's fair to conclude that this industry is completely incapable of learning anything, ever.

Ignoring the fact that basing ones opinion on an entire industry based on two "fiascos" seems drastic at best, who can we trust if we suddenly can't trust organizations like Apache? Do you trust the Linux Foundation? It's almost like the issue is not that code is available, but how people use the code that's available, and no one seemingly likes funding open source code.

It's also a constraint setting problem. No one deploying software with log4j would've said "yeah, the logging system should be able to reach any IP address at all if asked to by external input.

But we lack a decent way to express that sort of data flow constraint when deploying software.

Re: Does the software industry learn?

#39

I think there's a myth that rewriting software is bad, or at least a symptom of badness, and "reusing" software is ideal. But writing software is really like creating plans: plans for what the machine should do. Of course there is much room for reusing old plans as components of your new plan. But still every plan must be about what is needed at the moment, not about reusing existing plan-components. In human communi…

My feeling is that rewriting is used as blunt weapon when the developer lacks the inclination or skill to learn what was written before. I’m been guilty of this.

That certainly happens but rewriting also happens because what is already available doesn't get the job done and can't be customised so it does.

One of the curses of modern software development is that so many of the resources we rely on are highly opinionated. We have frameworks and toolkits and scaffolding scripts and proprietary formats and convention-over-configuration to do things that could have been done with flexible, self-contained libraries and open standards.

These opinionated resources are often easier to create but they can cause great harm over time as a small application that got a boost from using them initially grows into a large application with changing requirements. Maybe those requirements can't easily be met if nothing composes and nothing can be adapted and each dependency becomes a fight between the direction its developers choose to take it that might not be right for the application and the need to keep updating because the developers don't want to support older releases of their code with essential bug fixes and security updates any more.

In this kind of environment, it is hardly surprising that some teams prefer to build things in-house even if they are reinventing a few wheels. It is sometimes the only way to retain control of your own code or to regain that control after the technical debt becomes overwhelming.

Re: Does the software industry learn?

#40
post #38

Earlier quoted context omitted.

Ignoring the fact that basing ones opinion on an entire industry based on two "fiascos" seems drastic at best, who can we trust if we suddenly can't trust organizations like Apache? Do you trust the Linux Foundation? It's almost like the issue is not that code is available, but how people use the code that's available, and no one seemingly likes funding open source code.

It's also a constraint setting problem. No one deploying software with log4j would've said "yeah, the logging system should be able to reach any IP address at all if asked to by external input. But we lack a decent way to express that sort of data flow constraint when deploying software.

http://man.openbsd.org/pledge
Post reply on HN