A constantly cycling proliferation of different languages, frameworks, libraries, etc. that all do the same things in a different way and are most often mutually incompatible with each other and have entirely different ecosystems with their own comparative advantages but also major pitfalls. This causes tech workers’ investment in skills to get more out of shallow knowledge and trivia than on deeper concepts, creates…
Learning new skills is easy enough, what kills me is the enormous manpower invested in churning working code. Easily 30% of my company's total engineering effort is just treading water, migrating from a deprecated platform to another one that will be deprecated by the time the migration is complete. Typically because the original team's standard 18-month tenure has elapsed and the new guy was under-leveled at hiring…
Ask HN: What is the single top-priority software engineering problem?
301–310 of 364 posts
Re: Ask HN: What is the single top-priority software engineering problem?
#302Re: Ask HN: What is the single top-priority software engineering problem?
#303Development environments. The amount of time and hassle I've seen lost to getting a working development environment up and running is incredible. Every time I talk to someone who's learning to program I tell them: "Setting up your development environment will be a nightmare. I have been doing this for twenty years and it's STILL a nightmare for me every time I do it. You are not alone." Docker is reasonably good here…
Nix is the closest I've come to this dream. I like docker, but it's too resource heavy on a Mac. I need it running directly and not in a VM. So a simple nix file, and nix-shell shebangs[1] has been life changing. Throw in --pure and now you really know the environment works everywhere. My repos all have a shell.nix with every dependency. Just call nix-shell and it works in Linux and OSX. Anywhere. You can even bundle…
Re: Ask HN: What is the single top-priority software engineering problem?
#304We need a faster web framework that generates HTML on mobile phones with no JS on the main thread. The web is the "single top-priority" software platform, but it's in big, big trouble. On mobile, users spend less than 7% of their time on the web. https://vimeo.com/364402896 All of the rest of their time is in native apps, where big corporations decide what you are and aren't allowed to do. As a result, the money is g…
And the web isn't controlled by big corporations? You literally just linked to a website on the web owned by a big publicly-traded corporation.
I am in favor of using the web over apps but mostly because it has less tracking features. A more high-performance, bare metal implementation of the web would most likely give more stuff for websites to fingerprint you with. You want WASM, but WASM makes the web just as bad as apps in that respect. WASM is going to make it impossible to hide ads (because it will be painted without the DOM) or to block tracking or otherwise malicious code (because it will be heavily obfuscated).
Re: Ask HN: What is the single top-priority software engineering problem?
#305Earlier quoted context omitted.
JS isn't the bottleneck, the DOM is. A new framework isn't going to solve that.
What kind of alternatives exist to the DOM? Even conceptual ones?
Re: Ask HN: What is the single top-priority software engineering problem?
#306A piece of technology that seems to be missing is a global decentralised anonymous identity and trust framework. It probably requires a leap of engineering comparable to the invention of the blockchain (although I don't think that a blockchain is necessarily the model to follow here, since the data should be encrypted). Every website and app and network service seems to be reinventing the wheel here, and end up creat…
The best you can do is have just one central reference store of trust/reputation. China's social credit score is a working implementation of this. I don't think the West will ever be ready for that though, so you're going to have to deal with the fragmentation.
[1] The innovation was requiring a computationally difficult problem to be solved to participate in the network and using hash functions to prevent tampering. This made any participant (miner) in the Bitcoin network a dumb cog in the machine that could be replaced by another. The people aren't special; the computational work is special.
Re: Ask HN: What is the single top-priority software engineering problem?
#307I seem to spend far more time on the deployment of code than I ever used to, more time writing CloudFormation and ansible than the Java backend, python lambdas and static UI that it deploys. That seems nuts to me. I'm not sure how you fix it without being Amazon/Google. People moan about Terraform too before that gets mentioned.
Re: Ask HN: What is the single top-priority software engineering problem?
#3081. A cross platform gui library, that could replace electron as the go to choice when making cross platform apps with a GUI. 2. Tools to help making parallel programming easier, without massive impacts on efficiency. Future CPUs are offering more performance primarily through more cores and wider vector instructions. Currently to use these efficiently is often very hard. 3. A replacement for C/C++. Rust is promising,…
2. OpenMP is easy to use, just put #pragma statements
3. Rust is the leader here. It's doing very well.
4. I have read a few studies like this. The takeaway was that it took about the same time to write a program in every language studied (it included Haskell and FP langs). Language/paradigm also did not have much of an effect on correctness and bugs.
Re: Ask HN: What is the single top-priority software engineering problem?
#309Replace POSIX shell with something reasonable. Anyone trying to bring in a feature or name "because history" is temporarily banned from the working group. Other than that I've no idea how it should be done or what will emerge, but I would hope for it to include words like "exception handling", "test framework", "API", "concurrency" and "asynchronous stream processing" non-ironically.
Re: Ask HN: What is the single top-priority software engineering problem?
#310Thus, on a longer term, you might want to identify the cycles and look into opportunities beyond the current phase in these cycles, and whether there are under-utilized ideas there.
For instance, for unix-style command line operation, we have the idea of piping data between applications and combining multiple applications to perform a job.
These applications communicate through very simple protocol, the text file format, where one line means one thing. Thus, if we want to combine more complex applications, such as operations on image files, each needs to implement their own processing for various file formats etc.
My idea would be to try to increase the abstraction level of operating system from files to something more generic.
For example, what kind of things I could script more easily if the operating system would allow me to read source code tokens/statements/packages in any language? Or images as an abstraction regardless of their file type?