|
That's interesting, because if today is Monday and I say "Next Friday" I also mean in 11 days time. "This Friday" to me would be four days away as "This" and "Next" refer to the week(as in "Friday this week/this Friday" and "Friday next week/next Friday").
I tend to use lunch and supper, so dinner would confuse me too.
In the UK we also have "tea", if you are middle class "tea" means tea and some sort of cake mid-afternoon. If you are from a working class background "tea" means supper.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
Sounds perfect for quantum processors, gotta love the observer effect!
"I don't really know what you're saying, but I do feel like I know where you're going with this."
vs
"I know what you're saying, but where are you going with it?"
"Never attribute to malice that which can be explained by stupidity."
- Hanlon's Razor
|
|
|
|
|
COBOL was the first "natural language" programming language. Enough said!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
OriginalGriff wrote: ...I'm not convinced that natural language is a good idea for programming - it's too imprecise, too open to misinterpretation...
Just the absence of differentiation between Inclusive OR (IOR) and Exclusive OR (XOR) disqualifies natural language. That's a pretty basic concept that is completely absent.
I'm retired. There's a nap for that...
- Harvey
|
|
|
|
|
That's not a fault in natural language per se, more of a shortcoming in English (and possibly many other languages too). In fact the whole "too imprecise" problem is down to the "implementation" of natural language. Maybe we could, I dunno, create some sort of natural language, with its own syntax and structure, that computers could understand without ambiguity? oh... doh.
|
|
|
|
|
I tend to think the opposite, natural language will become the way computers are programmed - we aren't there yet but it will come.
I agree that most natural language can be imprecise, but you can work around this by echoing back in plain english what we think you said in precise terms "Next friday" becomes "Friday the 9th of November". We replaced a very complex data entry screen with 50+ input fields and checkboxes and turned it to english input. End user mistakes have dropped, help desk calls have dropped. To be fair the english parser is super dumb, and we are only using it for very specific domains, not complete programs, but the power is evident. Small first steps, but I can see we could probably build a simple PWA based purely on english if that was our aim.
Heck, we even now have an experimental API that takes classic query parameters OR english /people?q=get 5 most recent seen with blue as favourite color. Vs /people?limit=5&order=recentseen&select=favouritecolor(blue)
I hate to say it, but it is putting power into end users who aren't programmers. Most end users can look intuitively at previous sentences and understand how to change it. Sure, it cannot handle all the nuances yet, and users learn to phrase in a certain way.
When you step right back, isn't a programming language simply another language like english/french/german? Programmers take natural language requirements and translate to C/Java/etc which compilers then translate again to machine code. Of course programmers [should] also have more logical thought patterns than J.Bloggs which is currently still required.
|
|
|
|
|
There were attempts during the 1950's and -60's to create Loglan, the first of a series of constructed, unambiguous languages that (presumably) humans and computers could share. The idea never really caught on, not even to the extent that Esperanto (another constructed language) has.
Apparently, humans do not like thinking logically.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Daniel Pfeffer wrote: Apparently, humans do not like can't thinking logically. (at least the big %) FTFY
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Humans are not logical.
But we (most of us) are able to think logically, even though it takes a bit of effort for most people.
|
|
|
|
|
We are the exception confirming the rule
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Not unless natural language will be replaced by something like Java or C# (I hope not JavaScript ).
|
|
|
|
|
Quantum Robin wrote: Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use anything other than natural language.
I think everyone should learn assembly!
Given how poorly people communicate with natural language, I think programming languages will be around for a while. We don't do very well with them either!
|
|
|
|
|
Ph'nglui mglw'nafh Osmosian R'lyeh wgah'nagl fhtagn.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
This answer is the most underrated here. Have an upvote for the mix of Ctuhlu and the hidden reference to the PEC (I won't write in plain text to avoid making advertisement for it).
|
|
|
|
|
I reject the premise of the question.
|
|
|
|
|
Will future programmers probably warn people not to use high-level programming languages just as most programmers today warn people not to use assembler?
If yes, what are the programming languages that will replace the high-level programming languages?
|
|
|
|
|
Please see previous response.
|
|
|
|
|
There's a distinct possibility we will get to natural language programming. Many of the comments above say that people don't think logically, and that is true. They will not sit down and dictate the entire operation of an application from A to Z flawlessly on their first attempt. The process will be necessarily iterative. Something like this:
"Make a page that shows me my stock quotes and the weather."
"Put the weather in the top right."
"The weather should show the current temperature and the 24 hour forecast for my current location."
"For the stocks, show the current trading price for Microsoft and Bill's Sweat Socks from the TSE"
"Also show an up/down arrow for the four hour trend"
This will take some work, but I don't think we're too far away.
Outside of a dog, a book is a man's best friend; inside of a dog, it's too dark to read. -- Groucho Marx
|
|
|
|
|
Congratulations! You have just reinvented COBOL!
|
|
|
|
|
Natural language will never be used for programming, because natural language isn't suitable for strict logic. Otherwise, no one would have had to invent symbolic logic. Symbolic logic is the foundation of computing, it's no accident that Turing was a logician. You can't translate logic into natural language without introducing ambiguity, and it's worse trying to go the other way because you're starting with ambiguity.
|
|
|
|
|
No, not in the near term. American English is way too imprecise to be used as a 'reliable' programing language. Way too many opportunities for misinterpretation.
|
|
|
|
|
So you've traced the evolution from machine language, to assembly, to high level languages. And you also note why the change occurred. Before I could answer your question, I have to ask why would programming move to a natural language to describe the program? Would natural language programming languages offer any benefit over a high level language? All I see is downsides.
|
|
|
|
|
"Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use anything other than natural language." - Quantum Robin
Please don't go down this rabbit hole. I really don't want to see a resurgence of COBOL...
|
|
|
|
|
For a few reasons I doubt it including that natural language is very imprecise.
Another reason though might be more obscure. I write about how humans can adapt genetically and strategically to the future as our ecology undergoes a radical change from tribal ecology to Civilization. On chapter is about what a person needs to know which includes certain things like Critical Thinking skills so a person can discern truth, science including biology because it describes humans, law because it describes the human environment, etc. I do recommend that a person know a foreign language because it teaches them about their own language. I also recommend that a person learn a programming language. Not necessarily for use on a job, but so they know how machines communicate and think. If we develop machines that can communicate with us in our natural language, we are going to naturally make mistakes communicating with machines and about distinguishing what machines are. We do need to keep that in mind.
|
|
|
|
|
In the long term, the question will be irrelevant - there won't be "programmers" or "languages". Systems will develop themselves. Eventually AI will reach the stage where it can "think" semi-creatively and identify the problem, and from that a solution which it can implement. By semi-creatively I mean, for instance: a hospital administration system that is itself able to identify trends in patient data (e.g. outcomes for groups treated in a certain way are "better" than those treated differently - which involves it being told, or having learnt, what "better" looks like). Having identified such (complex) trends it can then adjust treatment plans accordingly, because systems will be interconnected far more than they already are. It may never reach the stage of being fully "creative", i.e. coming up with entirely novel ideas; however eventually there will be such little demand for human programmers that the requirement to write in a "computer" language rather than natural language would be irrelevant. It's a pretty bleak outlook, not just for developers, but for all mankind since while there will be localisation of solutions, pretty much everything will be an amorphous blob of "the system" which will be taking all the decision making away from us. And of course, scope for hacking would be tremendous - in the situation above, just consider if someone switches the definition of "better" to mean "dead"...
|
|
|
|