10 ms·
"Great news, boss! We invented this new tool that allows nontechnical people to write code in English! Now anyone can deploy applications, and we don't have t
by psunavy03 1y ago
"Great news, boss! We invented this new tool that allows nontechnical people to write code in English! Now anyone can deploy applications, and we don't have to hire all those expensive developers!"
"Wow, show it to me!"
"OK here it is. We call it COBOL."
- glimshe 1y agoYou're joking but it's true. I'm sure you know that. SQL had similar claims... Declarative, say what you need and the computer will do for you. Also written in English.
- ako 1y agoAnd compared to what we had before SQL, it is much easier to use, and a lot more people are able to use it.
- ameliaquining 1y agoIs that really because of the English-esque syntax, rather than because it was a step forward in semantic expressivity? If SQL looked like, say, C#'s LINQ method syntax, would it really be harder to use?
- 9rx 1y ago> Is that really because of the English-esque syntax Well, what we had before SQL[1] was QUEL, which is effectively the same as Alpha[2], except in "English". Given the previous assertion about what came before SQL, clearly not. I expect SQL garnered favour because it is tablational instead of relational, which is the quality that makes it easier to understand for those not heavy in the math. [1] Originally known as SEQUEL, a fun word play on it claiming to be the QUEL successor. [2] The godfather language created by Codd himself.
- dmkolobov 1y agoDo you have any advice for understanding the difference between "relational" and "tablational"? I remember hearing something about how SQL is not really relational from my college professor, but we never really explored that statement.
- razakel 1y agoPer the SQL specification: >SQL [...] is a database language [...] used for access to pseudo-relational databases that are managed by pseudo-relational database management systems (RDBMS). >SQL is based on, but is not a strict implementation of, the relational model of data, making SQL “pseudo-relational” instead of truly relational. >The relational model requires that every relation have no duplicate rows. SQL does not enforce this requirement. >The relational model does not specify or recognize any sort of flag or other marker that represents unspecified, unknown, or otherwise missing data values. Consequently, the relational model depends only on two-valued (true/false) logic. SQL provides a “null value” that serves this purpose. In support of null values, SQL also depends on three-valued (true/false/unknown) logic. Or, in other words, "relation" does not mean the relations between the tables as many assume: the tables, as a set of tuples, are the relations.
- 9rx 1y agoQuite simply: A relation is a set of tuples, while a table is a list/multiset of tuples. The Alpha/QUEL linage chose relations, while SQL went with tables. Notably, a set has no ordering or duplicates — which I suggest is in contrast to how the layman tends to think about the world, and thus finds it to be an impediment when choosing between technology options. There are strong benefits to choosing relations over tables, as Codd wrote about at length, but they tend to not show up until you get into a bit more complexity. By the time your work reaches that point, the choice of technology is apt to already be made. With care, SQL enables mimicking relations to a reasonable degree when needed, which arguably offers the best of all worlds. That said, virtually all of the SQL bugs I see in the real world come as a result of someone not putting in enough care in that area. When complexity grows, it becomes easy to overlook the fine details. Relational algebra and calculus would help by enforcing it. But, tradeoffs, as always.
- AdieuToLogic 1y agoBefore SQL became an industry standard, many programs which required a persistent store used things like ISAM[0], VISAM (a variant of ISAM[0]), or proprietary B-Tree libraries. None of these had "semantic expressivity" as their strength. > If SQL looked like, say, C#'s LINQ method syntax, would it really be harder to use? Yes. 0 - https://en.wikipedia.org/wiki/ISAM https://en.wikipedia.org/wiki/ISAM
- noworriesnate 1y agoBut software developers often struggle to use sql and prefer using ORMs or analytical APIs like polars; the people who excel at sql are typically not programmers, they’re data engineers, DBAs, analysts, etc. Maybe a similar bifurcation will arise where there are vibe coders who use LLMs to write everything, and there are real engineers who avoid LLMs. Maybe we’re seeing the beginning of that with the whole bifurcation of programmers into two camps: heavy AI users and AI skeptics.
- nathanfig 1y agoClaude made this point while reviewing my blog for me: the mechanization of farms created a whole lot more specialization of roles. The person editing CAD diagrams of next year's combine harvester may not be a farmer strictly speaking, but farming is still where their livelihood comes from.
- swader999 1y agoLand is scarce though. The amount of software work that needs doing might not be, it could be infinite or probably more tied to electrical capacity.
- deleted 1y ago[deleted]
- dredmorbius 1y agoStrictly speaking, farming is where all our livelihoods come from, in the greatest part. We're all living off the surplus value of food production. (Also of other food, energy, and materials sourcing: fishing, forestry, mining, etc.) This was the insight of the French economist François Quesnay in his Tableau économique, foundation of the Physiocratic school of economics.
- eru 1y agoYou might find https://en.wikipedia.org/wiki/Margarine#Coal_butter https://en.wikipedia.org/wiki/Margarine#Coal_butter fascinating. > Strictly speaking, farming is where all our livelihoods come from, in the greatest part. We're all living off the surplus value of food production. I don't think farming is special here, because food isn't special. You could make exactly the same argument for water (or even air) instead of food, and all of a sudden all our livelihoods would derive ultimately from the local municipal waterworks. Whether that's a reductio ad absurdum of the original argument, or a valuable new perspective on the local waterworks is left as an exercise to the reader.
- veqq 1y agoEr, have you heard of datalog or Prolog? Declarative programming really does work. SQL was just... Botched.
- glimshe 1y agoYes. And I think SQL is actually pretty good for what it does. My point, as the parent's (I suppose) is that we've heard this "XYZ, which uses natural language, will kill software development" before.
- sanderjd 1y agoI think SQL is better than datalog. I suspect this is one of those opinions that may be somewhat outside consensus on a forum like HN, but is strongly within the consensus more broadly.
- aeonik 1y agoI like both, they excel at different things. SQL is pretty horrifying when you start getting tree structures or recursive structures. While Datalog handles those like a champ. SQL is really nice for columnar data, and it's well supported almost everywhere. Though Datalog isn't half bad at columnar data either.
- sanderjd 1y agoYeah. I think you and I have the same opinions about this :) I like SQL more when working with tabular data (especially for analytical use cases), but that has (thus far) dominated the kinds of work I've done.
- dredmorbius 1y agoI'd long ago (1990s-era) heard that the original intent was that office secretaries would write their own SQL queries. (I'd love for someone to substantiate or debunk this for me.)
- bazoom42 1y agoEarly on, programming was considered secretarial work.
- AdieuToLogic 1y ago> Early on, programming was considered secretarial work. Incorrect. Encoding a program was considered secretarial work, not the act of programming itself. Over time, "encoding" was shortened to "coding." This is why the industry term "coder" is a pejorative descriptor.
- eru 1y ago> This is why the industry term "coder" is a pejorative descriptor. For some people some of the time. I don't think that's true in general.
- 0points 1y ago> This is why the industry term "coder" is a pejorative descriptor. It is not.
- brabel 1y agoIt used to be widely seen as such. See for example Stallmanns latest post where he mentions that. Coder was not the same as programmer, it was the lesser half of the job. Nowadays the term has lost its original meaning.
- rsynnott 1y agoThat's always the promise of these things; non-specialists will be able to program now! This has been going on since COBOL. The one case where it arguably worked out to some extent was spreadsheets.
- kayodelycaon 1y agoSQL and many DSLs (JIRA…) are actually used by plenty of non-technical users. Anyone who wants to build their own reports and do basic data analysis has sufficient incentive to learn it. They are very much the exception that proves the rule though.
- rixed 1y agoOr QBE, "Query By Exemple", that was another try by IBM to make a query language directly usable by anyone.
- charlieyu1 1y agoDon’t think the person was joking. It was literally the promise of COBOL
- bitpush 1y agoBravo. This is the exact sentiment I have, but you expressed in a way that I could never have. Most people miss the fact that technical improvements increases the pie in a way that was not possible before. When digital cameras became popular, everybody become a photographer. That only made the world better, and we got soo many more good photographers. Same with YouTube & creativity. And same with coding & LLMs. World will have lots more of apps, and programmers.
- 20after4 1y agoAnd now the business of wedding / portrait photographer has become hyper-competitive. Now everyone's cousin is an amateur photographer and every phone has an almost acceptable camera built in. It is much more difficult to have a profitable photography business compared to 20 years ago.
- bachmeier 1y agoThat's good to hear. Back when I got married there were some real jerks in the wedding photography business, and they weren't worried about running out of customers. Here's an actual conversation I had with one of them: Me: "I'm getting married on [date] and I'm looking for a photographer." Them, in the voice of Nick Burns: "We're already filling up for next year. Good luck finding a photographer this year." Me: "I just got engaged. You never have anything open up?" Them: "No" and hang up the phone. The faster guys like that struggle to make a living, the better.
- NewsaHackO 1y agoDefinitely. What matters more is that the ability to take photos is available to more people, which is a net positive.
- LargeWu 1y agoIn the same breath, those photographers will complain about all the "amateurs" devaluing their services.
- 1y ago
- deleted 1y ago[deleted]
- veqq 1y agoIn more words: https://alexalejandre.com/languages/end-of-programming-langs/ https://alexalejandre.com/languages/end-of-programming-langs...
- platevoltage 1y agoFast forward a couple decades and "Ok here it is. We call it Dreamweaver"
- fuzztester 1y agothat was from 35 to 40 years ago. today: s/COBOL/SQL and the statement is still true, except that many devs nowadays are JS-only, and are too scared or lazy as shit to learn another, relatively simple language like SQL. ("it's too much work". wtf do you think a job is. it's another name for work.) because, you know, "we have to ship yesterday" (which funnily enough, is always true, like "tomorrow never comes").
- 8note 1y agoSQL is straightforward enough, but its not the sketchy part. taking down the database so other people cant use it by running a test query is the bad part. the explains are not nearly as straightforward to read, and the process of writing SQL is to write the explain yourself, and then try to coax the database into turning SQL you write into that explain. its a much less pleasent LLM chat experience
- mrheosuper 1y agopretty sure i use English in C program.
- musicale 1y agoFORTRAN (FORmula TRANslator) was another "AI" project in "automatic programming": "Before 1954, almost all programming was done in machine language or assembly language. Programmers rightly regarded their work as a complex, creative art that required human inventiveness to produce an efficient program." -John Backus, "The History of Fortran I, II, and III", https://dl.acm.org/doi/10.1145/800025.1198345 https://dl.acm.org/doi/10.1145/800025.1198345 "The IBM Mathematical Formula Translating System or briefly, FORTRAN, will comprise a large set of programs to enable the IBM 704 to accept a concise formulation of a problem in terms of a mathematical notation and to produce automatically a high speed 704 program for the solution of the problem." -IBM, "Specifications for the IBM Mathematical FORmula TRANslating System, FORTRAN", http://archive.computerhistory.org/resources/text/Fortran/102679231.05.01.acc.pdf http://archive.computerhistory.org/resources/text/Fortran/10...
- aitchnyu 1y agoFortran promised to eliminate debugging. In 2015, I taught React is a functional programming way to create very fast, bug free apps and the project manager found ways to push us to the hair-on-fire status quo. "FORTRAN should virtually eliminate coding and debugging" https://news.ycombinator.com/item?id=3970011 https://news.ycombinator.com/item?id=3970011
- Gravityloss 1y agoSQL had similar promises. But it still has been immensely useful and a durable paradigm, even though usage hasn't been exactly as thought.
- ashoeafoot 1y agoWe now have assembler, now anyone can program. No, wait it was called natural language coding, now anyone can code. No, wait it was called run anything self fixing code. No wait, simplified domain specific language. No, wait it was uml based coding. No, wait excel makros. No, wait its node based drag and drop . No, wait its LLMs. The mental retardation of no code is strong with the deciding caste, every reincarnation must be taxed.
- soulofmischief 1y agoWhat's wrong with visual programming?
- ashoeafoot 1y agoInformation density is low, some concepts are hard to display and thus absent by design from the language, the limitations of the display abd debug framework become the limitation of all code executed with them..etc., etc. list goes on forever
- soulofmischief 1y agoIt's a structured way of programming that can invoke particular mental models when solving certain problems. You could for example see it as a scripting language for high-level tasks. For example, look at what Blender and Unreal Engine do with visual programming. Or you could see how Max MSP or Processing make music and data manipulation intuitive. And you can still address lower-level or complex concerns with custom nodes and node groups. Done correctly, you can hide a lot of complexity while having an appropriate information density for the current level of abstraction you're dealing with. Programming environments don't need to be one-size fits all! :)
- chii 1y agoThe big difference with LLM is that you don't have to have a conherant and logical thought, and the LLM will "fix" that for you by morphing it into the nearest coherent expression and show you the result. Presumably, the LLM user will have sufficient brain capacity to verify that the result works as they have imagined (however incomplete the mental picture might be). They then have an opportunity to tweak, in real time (of sorts), to make the output closer to what they want. Repeat this as many times as needed/time available, and the output gets to be quite sufficient for purpose. This is how traditional, bespoke software development would've worked with contractor developers. Except with LLM, the turnaround time is in minutes, rather than in days or weeks.
- iamflimflam1 1y agoI think what we forget is these high level languages did open up programming to people who would have been considered “nontechnical” back in the day.
- ath92 1y agoThis is true, but: - there are more programmers today than there were back then - the best programmers are still those who would be considered technical back then
- RickJWagner 1y agoVery true. But consider this— back in the day, how many mainframe devs ( plus all important systems programmer! ) would it take to conjure up a CRUD application? Did you forget the vsam SME or dba? The CICS programming? Today, one person can do that in a jiffy. Much, much less manpower. That might be what AI does.
- tempodox 1y agoBut a sycophant with a hopeless case of Dunning-Kruger (a.k.a. LLM) is so much more entertaining!