Live data from Hacker News

Ask HN: What is the single top-priority software engineering problem?

news.ycombinator.com

221–230 of 364 posts

Re: Ask HN: What is the single top-priority software engineering problem?

#221

A programming language with Python-like syntax and a Hindley-Milner type system plus typeclasses. Basically, we bring Haskell’s type system an imperative programming language. An easy-to-learn scripting language with a strong, sound type system with reliable type inference will reduce bugs in codebases of every size across the industry.

Disagree about scripting. Compile times are fast if you are willing to tradeoff performance. But you can decide whether you whether or not you want a long compile fast program, a short compile slow program, or an interactive compiler. The example I can give is StandardML. You have SML/NJ and MLTon as two possible compilation options among other. SML/NJ has an interactive mode. MLTon compiles for longer but results in…

Yes, I agree the language should be compiled for performance, types enable compiler optimizations and it would be silly to abandon that benefit. By “scripting language” I mean the syntax will be similar to existing interpreted languages and it will be easy to write small scripts without specifying types since they are inferred.

Re: Ask HN: What is the single top-priority software engineering problem?

#223
1. 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, you could contribute there, or to Zig, or come up with something better.

4. large scale, high quality studies into the efficacy of various programming ideas, languages, methodologies, etc. (Does dynamic typing increasing or decrease productivity, or under what domains does it do one or the other, does functional programming reduce error rates, by how much, and at what performance cost? etc

Re: Ask HN: What is the single top-priority software engineering problem?

#225

IMHO, making WebAssembly fully and tightly integrated with browsers like JS is today will be the next big leap forward. In such a way that you won't need to use JS at all - direct access to DOM and other Web APIs, choice to use whatever programming language you want Java applets came 20 years too early - potentially had the power to do everything we do with the web today but 10x faster and more cleanly. The web remai…

> IMHO, making WebAssembly fully and tightly integrated with browsers like JS is today will be the next big leap forward. In such a way that you won't need to use JS at all

It exists, and is called VirtualBox. It just doesn't run inside the browser though, but you can run a browser in it.

Re: Ask HN: What is the single top-priority software engineering problem?

#226
Everyone has a complicated "data layer" with multiple boxes taped together. It should just be one database.

The root of the problem is that data denormalization is broken [0]. The fix is doable in theory, yet not done yet, and not talked about enough.

[0] https://medium.com/@lironshapira/data-denormalization-is-bro...

Re: Ask HN: What is the single top-priority software engineering problem?

#227

We 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…

You're right to raise apps as a threat to the open web. And about performance being a factor (WASM could help there). However, the real reason that the ad money (and engineering effort) is going to apps is that app platforms do not protect privacy at the same level that the open web does. There's so much more tracking available on mobile platforms than there is on the open web.

I don't think I agree. The privacy protections are different between web and native apps. On the web, you can track users passively with cookies and with various fingerprinting techniques, and there are numerous ways for third parties to communicate to share tracking info. In native apps, you can use the "advertising ID" (IDFA for iOS, AdvertisingId for Android) the advertising ID is designed to change from time to time or even restricted by savvy privacy-sensitive users, and communication between third party apps is more restrictive. Privacy is mostly a fiasco in both cases, IMO.

Re: Ask HN: What is the single top-priority software engineering problem?

#229

We 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…

[deleted]

Re: Ask HN: What is the single top-priority software engineering problem?

#230
post #55

Development 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…

Agree that Nix is a great candidate. The PhD about it is quite readable and demonstrates the rigour with which the author approaches this problem space.

It’s pretty difficult to understand and use though.

Post reply on HN