Hacker Newsnew | past | comments | ask | show | jobs | submit | physicsguy's commentslogin

> Actually use a modern compiler

This was always a pain point in C++ embedded space, to be fair.


I think most people didn't really care enough because if they knew C++ and they cared enough, they could still effectively contribute to the kernel.

That's not really true at all though, even in very complex software it's pretty rare to have more than ~10 external dependencies in a C++ project. People tend to roll their own a lot more, partly because dependency management is a lot more painful and fragmented. Boost is effectively an extended standard library, as is abseil, but the language has got much better at incorporating back features since C++ 2011, but even so, the dependencies tend to be slow moving and fairly stable.

True, you have few external dependencies... but you have random code thrown into your repository in the form of vendored 3rd party libraries, header only libraries, and bits and pieces copied from somewhere. Of course you also get huge kitchen-sink libraries that do everything, so you only need to add one library and have semi-decent functionality for everything you might need. At least those usually have people working on maintaining their usually pretty huge dependency tree -- those they know of. They have the same problems knowing their true dependency trees as everybody else in the eco system.

I have not yet looked at any C++ code base > 1 milliom lines where I did not find at least 3 copies of zlib. Often just the compression or decompression function copy and pasted into a random file. Which version? No idea. Was it patched? Likely. Is there any documentation on how to update this? Absolutely not. Was it easy to find? No, some specialists even rename the functions so that users linking to the system zlib do not get into symbol conflicts. I have heared way to often that it is so much simpler to just copy a class over from abseil, or whatever other library than to depend on it.

Sure, you do not see dependencies, the functionality those provide are still there somewhere though -- either hidden away or in the form of reimplementations. You just do not know... and what you do not know about you can not maintain.


It's alright, just get ISO27001 and list them as risks!

> It provides legal stability compared to unpredictable arbitrary decisions by the US executive.

I don't think assuming the European commission will act rationally or stably on this is really a good idea, and I say that as a European...


It's all a spectrum. Considering the alternative...

I worked in very technical engineering software company and they were super paranoid about their special sauce IP of a product that did analysis of a certain type of data, without being able to see that all the pieces of that special sauce were actually just functions from SciPy strung together and which you could look up in a textbook. Don't get me wrong, you need the right background to understand it and that's not trivial, but if you got someone from the right area you could replicate it pretty easily.

> You can defensively set shipped binaries as fallbacks in the event the application is running on a newer system that dropped critical functionality

Not if they're GPL licensed you can't. And that's a headache most commercial people do not want at all when trying to write software that's often for a marginal part of their audience anyway.


Show me the part of the GPL which forbids you from shipping compiled binaries.

> Not if they're GPL licensed you can't.

Wrong, misleading and possibly FUD. Yes you can ship GPL licensed software with your application, even a proprietary, closed source application.

You have to comply with the GPL terms, but that's easy to do for every library or auxiliary program that you'd link to or call in a Linux distro.

The GPL is designed to support this use case, with it's "mere aggregation" clause making it clear that it's allowed.

The one thing you can't do if you're shipping a closed source application is link to GPL-licensed code (unless there's an special exception clause, or it's LGPL, or it's dual-licensed to allow this). But for this type of GPL library, you can't use the Linux distro's shipped version either. So the GPL constraint makes no difference to the question of whether you can ship a frozen or fallback version with your application in lieu of the distro version.

If there's a corner case the above doesn't cover, I'm not aware of it and I've studied GPL compliance more thoroughly than most people. So I'd like to know about it :-)


> If the author's vision of the future is correct, then competent software engineers are safe. Domain knowledge can be learnt much quicker than how to apply good engineering principles.

I think this is true in some things and less true in others.

It's a pretty high moat getting into stuff like simulation software because the people working on numerical methods overwhelmingly have PhDs and it's a mixed skill set. Domain expertise here requires you to know maths to a high level. Even mechanical engineers often struggle here; it's often applied mathematicians and physicists turned devs that work on this stuff.

I worked on a fairly gnarly signal processing thing a while back that required bringing together knowledge of physics and software and maths and I found explaining it to people was tricky as their eyes glazed over at some point because their knowledge typically only covered one part of those.


> It's a pretty high moat getting into stuff like simulation software

I'm currently working on a simulation/game about space and orbital mechanics. I have a lot of software experience, I know how to build large projects and architect my code, and I know how to to test the end result to ensure I'm getting what I want. But I also don't have a strong math or physics background. In my experience, Claude (Opus 4.6+) has had no issues writing any simulation or game related math code. And the key thing is, I don't need to have a PhD in astrophysics to verify interactively and visually that everything is working as I expect to. I just have an interest in space, and a basic understanding of the physics involved.

> it's often applied mathematicians and physicists turned devs that work on this stuff.

It's true that this has been the case, but I also would not have been able to implement what I'm doing now without these models (at least without dedicated a huge amount of time on learning all of the physics and math). So I think this domain specific knowledge is becoming less of a moat than people realize. At least that's my perspective on the specific area I'm working on, but I don't have a hard time believing it extends to other domains, provided there is ample information about them online to have trained on.


I have had similar when trying it too. I couldn't even drive Claude Opus 4.7 to get PETsc to compile properly (with all the optional dependencies)

Of course but sometimes designers like architects design something that can’t easily be built.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: