Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think you nailed it with the reference to a higher-than-high-level language being the next step. We went from binary programming (punch cards) to machine code to assembly to early low-level languages to high-level languages and then just kind of stopped there at the abstraction level. But do we really need to be manually coding in if statements, loops, data storage schemas, etc. over and over again when end users really don't care about any of those things? I hope eventually we'll get to a "super-level" language future where developers still input highly specific and organized needs, but not at the level we see today.


The real world has a whole lot of "ifs" in it. "If it's this hardware rev, do this." "If the employee is a manager with more than five reports, they need to take this training." "If the account is more than 30 days delinquent, then send a second notice. If it's more than 60 days delinquent, call. If it's more than 90 days, begin collections."

Because the real world is like that, there is no possible programming language that is going to prevent the need for "if". Users may think they don't care about that, but the requirements are full of "if".

Loops you don't need to code today - if you don't need too precise a control over execution. If you need real control, you probably need to write the loop instead of just using a comprehension.

Data storage schemas: As databases scale, efficiency of storage start to add up to real money. The user may not care, but the finance people care a great deal.


Maybe declerative programming could help with that, like prolog/datalog. I don't think you can go much higher than inputting only the rules and data of your app, the only thing more higher than that I could imagine is an AI that could create a program written in a declerative language with only a subset of the rules, figuring out the rest by itself - which is pretty much what developers do


> do we really need to be manually coding in if statements, loops, data storage schemas

No, not necessarily, depending on the business requirements. There's already logic programming, for example a language like Prolog. You the programmer input a very high-level description of the rules that your information must follow. The computer figures out all the imperative bits.


There's also block programming. Eg. You put puzzle pieces together. But mainstream languages are becoming really abstract. See for example Rust and JavaScript et.al with async/await, generators, coroutines, etc.




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

Search: