6 ms·
Just because it has not completed doesn't mean it isn't happening. These days very small number of people know how computers actually work(how many know assembl
by mrtksn 5y ago
Just because it has not completed doesn't mean it isn't happening. These days very small number of people know how computers actually work(how many know assembly or even C?) but there's a huge number of people building their businesses by programming machines do things.
In the last 20 years, people were using languages close to English to express their ideas to a computer and make it do work. You touch computer science stuff only when you dive deep in something that hasn't been commercialised completely and when the market is large enough it quickly develops into services where you tell the computer do things in "plain English". The cloud is a good example where 20 years ago you would have to understand the architecture of server systems and networking, these days it's just a form you have to fill and express some rules about accessing the resources in "plain English".
Similar abstractions have been happening everywhere, from AI to game development or graphics generation everything is so abstracted that all you need is to learn the tool through a few tutorials to be productive.
Many people start from the high level abstractions and dive deeper later on since many years. You first build your multiplayer game, make some money and then maybe you learn about stuff like DNS, TCP/IP. That's only possible because networking and server management is completely abstracted and the game developers only interact with the cloud provider's SDK that handles all kind of edge cases and optimisations.
- hackerfromthefu 5y agoThis seems perhaps an idealistic take on how effective the layers of abstraction are. To examine just one of the examples >> these days it's just a form you hav to fill and express some rules about accessing the resources in "plain English". I'm of the opinion getting the cloud to run your systems effectively, and without blowing a large hole in your budget, may be a little harder than it seems from that sentence.
- lanstin 5y agoBecause when you configure your AWS like this, you get public buckets and so on. With private datacenters, Dev Ops can mean Dev can be responsible for their own stuff; with AWS, DevOps is there to keep dev from sending all the company data to the whole world.
- 8note 5y agoas far as expressing things in plain english goes, id think of the various voiceboxes. i can get the computer to turn my lights on and off using plain english, along with some other things
- JohnBooty 5y agoThose are simple states - binary on/off states for the lights, etc. It falls apart fast when you start trying to explain actual engineering stuff in plain English: iterations, complex nested conditional logic, error handling, massaging and sanitizing data, etc. You could describe each of those steps in English, but what have you gained at that point? You've still had to express all of the same exact complexity, but you've done it in a language that is far more clunky than a programming language designed for the task. It's like trying to tell a musician how to play one of Beethoven's symphonies using English instead of sheet music. Even if you could, why? You've expressed the the same exact thing, but in language that is orders of magnitude clunkier.
- JohnBooty 5y agoOh yeah, I remember people saying that about SQL a long time ago. People wouldn't need database engineers any more. Same with Visual Basic. No more application developers. Just drag and drop! You might ask yourself why VB6 or Delphi didn't simply rule the world forever. We had those ~25 years ago and with those tools, non-engineers could drag and drop their client/server database-CRUD apps together. Hell, you could do most of that stuff in FoxPro or dBase even earlier, minus the GUI. You touch computer science stuff only when you dive deep in something that hasn't been commercialised completely and when the market is large enough it quickly develops into services where you tell the computer do things in "plain English". You're fantasizing away the enormous middle ground of development work that lies between "hardcore computer science-y stuff" and "things non-engineers are able and willing to accomplish." The "plain English" bit is hilarious. Human languages are extremely imprecise. That's why we have specialized "languages" for lots of things: math, music, etc. Maybe you are living in another universe where AppleScript took over, I don't know. Ask yourself if "plain English" tools have replaced engineers in other specialized disciplines. Can I tell my keyboard to write me a song in "plain English?" Can I design an airplane in "plain English?" Can I build a bridge in "plain English?" These days very small number of people know how computers actually work(how many know assembly or even C?) Sure, only a small % of work requires low-level languages, or knowledge of how a CPU works. But the bottom line is, somebody needs to describe complex processes to the computer in a very precise way that handles lots of edge cases, filthy data, errors, etc. At some point, somebody has to write that logic and if there's more than one person doing it they'll need a development pipeline of some sort. And they'll need to do it in a maintainable and scalable way. The tools are generally not the limiting factors here. You could replace Javascript and Python and Ruby with world's friendliest, code-free GUIs but you'd still have to describe those processes in an equal amount of detail and do it in equally maintainable and scalable ways, and I doubt it would be as terse or as expressive as the aforementioned languages. Similar abstractions have been happening everywhere, from AI to game development or graphics generation everything is so abstracted that all you need is to learn the tool through a few tutorials to be productive. I am not denying the power of these tools. However, I see these more as "opening up new avenues" as opposed to "eliminating the need for all kinds of nitty gritty development work that actually makes businesses go." Drag and drop all the sweet zero-code shit together you want in Unreal Engine; somebody has still got to sanitize and massage the weirdo sometimes-broken JSON that our partner's API likes to return sometimes and handle the error states when it can't be fixed.