Will future programmers probably warn people not to use high-level programming languages?

Quantum Robin

Member
Jan 3, 2019
49
3
16
Hi!

Just as most programmers today warn people not to use assembler, probably future programmers will warn people not to use high-level programming languages.

It is written in book Java How to Program ninth edition that instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary
operations:

1.5 Machine Languages, Assembly Languages and High-Level Languages

Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Hundreds of such languages are in use today. These may be divided into three general types:

Machine languages
Assembly languages
High-level languages

Any computer can directly understand only its own machine language, defined by its hardware design. Machine languages generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time. Machine languages are machine dependent (a particular machine language can be used on only one type of computer). Such languages are cumbersome for humans. For example, here’s a section of an early machine-language program that adds overtime pay to base pay and stores the result in gross pay:

+1300042774
+1400593419
+1200274027

Programming in machine language was simply too slow and tedious for most programmers. Instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations. These abbreviations formed the basis of assembly languages. Translator programs called assemblers were developed to convert early assembly-language programs to machine language at computer speeds. The following section of an assembly-language program also adds overtime pay to base pay and stores the result in gross pay:

load basepay
add overpay
store grosspay

Although such code is clearer to humans, it’s incomprehensible to computers until translated to machine language. Computer usage increased rapidly with the advent of assembly languages, but programmers still had to use many instructions to accomplish even the simplest tasks. To speed the programming process, high-level languages were developed in which single statements could be written to accomplish substantial tasks. Translator programs called compilers convert high-level language programs into machine language. High-level languages allow you to write instructions that look almost like everyday English and contain commonly used mathematical notations. A payroll program written in a high-level language might contain a single statement such as

grossPay = basePay + overTimePay


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?
 
  • Wow
Reactions: whm1974

Quantum Robin

Member
Jan 3, 2019
49
3
16
What's your obsession with pushing natural language programming?

I am not pushing natural language programming in this topic.

Maybe the natural language programming is not the future of programming.

I asked the following questions in this topic:

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?
 

Cogman

Lifer
Sep 19, 2000
10,277
125
106
> Will future programmers probably warn people not to use high-level programming languages just as most programmers today warn people not to use assembler?

Today's "High-level programming lanagues" aren't tomorrow's "High-level programming languages".

C was considered a high level programming language when it was released. Now it is practically thought of as the lowest level practical language.

> If yes, what are the programming languages that will replace the high-level programming languages?

I've not seen them yet. I don't think anything that exists today (or it doesn't have a large following) that is both higher level than current programming languages and likely to become "The next high level". In fact, with languages like rust taking off, I think we are starting to see a slight pull back from the current higher level language assumptions.

GC was thought to be practically required for all new programming languages, Rust bucked that trend.

If I were to guess on what the next "High level language" looks like, I'd say it would have closer similarities to a functional programming language than standard procedural code. The problem with today's functional languages (looking at you Haskell) is their complexity and unfamiliar concepts.
 

TheELF

Diamond Member
Dec 22, 2012
3,973
730
126
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?
Are programmers really warning people or are they just saying not to bother because it's not worth the effort?
With the amount of work that has went into compilers over that many years, using assembly will most probably result in a much slower executable unless you are some super genius programmer.

There only is low and high level languages so no matter what comes in the future it will still be a low or a high level language.
The way things are going the next really big change will be if google translate get's updated to include google code and you only have to explain to google what you want the app to do and it will run thousands of cores of cloud AI to make the most efficient exe possible.
 

clamum

Lifer
Feb 13, 2003
26,255
403
126
I don't know, I think in general, for most apps, programming languages that will be used will remain high level. It just allows for more rapid development and they're easier to pick up and for people to maintain the applications.

Of course that doesn't mean people won't use lower level languages, but I still think the majority will be languages that allow for more rapid construction of complex apps, which are high level languages.
 
  • Like
Reactions: whm1974

Borealis7

Platinum Member
Oct 19, 2006
2,914
205
106
you may be kidding, but in the future there will not be programmers as we know them today.
in the future, computers will write code according to specifications given to them by humans.
for instance i would ask the computer "create a calculator program for me which can perform add, subtract, multiply and division operations".
the computer will then start churning out code in an iterative process or evolutionary algorithm which would result in the desired output application.

another example could be an engineer with Intel or AMD asking the computer to design a CPU which can do X,Y,Z...the computer will go over all possible designs and pick the best one. but it will not be "the best CPU ever made and ever will be" because the requirements and specifications change, the available resources change, the use cases change.
 

Cogman

Lifer
Sep 19, 2000
10,277
125
106
you may be kidding, but in the future there will not be programmers as we know them today.
in the future, computers will write code according to specifications given to them by humans.
for instance i would ask the computer "create a calculator program for me which can perform add, subtract, multiply and division operations".
the computer will then start churning out code in an iterative process or evolutionary algorithm which would result in the desired output application.

another example could be an engineer with Intel or AMD asking the computer to design a CPU which can do X,Y,Z...the computer will go over all possible designs and pick the best one. but it will not be "the best CPU ever made and ever will be" because the requirements and specifications change, the available resources change, the use cases change.

Baloney.

Maybe, MAYBE, in the next 50 years we MIGHT get near the point of possibly approaching something like this, but I highly doubt it.

Natural languages are simply far to ambiguous to describe things. Context and nuance matter a lot.

Take your simple example.

"create a calculator program for me which can perform add, subtract, multiply and division operations".

Ok, Do you want a gui? How should you display the numbers of that gui? What OS should you target? What colors should you use? What font should you use? What type of division are you talking about? How many decimal places of accuracy? What is the maximum size of the numbers this calculator will support? What base are we talking about? What language does this support? Who and how are you going to feedback to the computer that "This is a good application" vs a bad one. You mention evolutionary algorithms, but where is the competition happening?

"AI will do it" Anyone with any understanding of ML will tell you that ML isn't some sort of magic that can do anything.
 

Borealis7

Platinum Member
Oct 19, 2006
2,914
205
106
Maybe, MAYBE, in the next 50 years we MIGHT get near the point of possibly approaching something like this, but I highly doubt it.
i did not specify a timeline, only an eventuality.

Take your simple example.
you sure did, and over-analyzed it. of course, you would need to give the computer a benchmarking method to determine the quality of its' output.
i did not go into detail for simplicity's sake.
 

Cogman

Lifer
Sep 19, 2000
10,277
125
106
i did not go into detail for simplicity's sake.

That's the problem.

You start out by saying "It will be as easy as saying 'make me a calculator'" and at the end of it you say "Well, obviously you'll need to describe everything but I didn't want to do that here because then things would look more complex."

My whole point is that the process of breaking down and describing everything requires exactly the same amount of effort as just programming the thing with today's technologies.

This is why it's a pipe dream. It doesn't solve any current issues that programmers are facing. It doesn't lower the barrier to create new programs. it doesn't improve the quality of programs produced. It doesn't eliminate the need to hire programmers that can write good specs.

So what's the point? How is this "the future"?

The dream that everyone will program with natural languages is a fantasy. It identifies precisely the wrong thing that makes programming hard.
 

purbeast0

No Lifer
Sep 13, 2001
52,855
5,727
126
As someone working in the ML/AI field right now (not doing that type of work, but in that space) working on applications that are dealing with language translations, we aren't even CLOSE to being perfect in even this area of doing simple language translations.

And you are talking about translating conversational language into iterative computer language?

Yeah ... that is some movie sci-fi stuff there. That won't be around any time soon or in multiple lifetimes.
 

TheELF

Diamond Member
Dec 22, 2012
3,973
730
126
That's the problem.

You start out by saying "It will be as easy as saying 'make me a calculator'" and at the end of it you say "Well, obviously you'll need to describe everything but I didn't want to do that here because then things would look more complex."

My whole point is that the process of breaking down and describing everything requires exactly the same amount of effort as just programming the thing with today's technologies.

This is why it's a pipe dream. It doesn't solve any current issues that programmers are facing. It doesn't lower the barrier to create new programs. it doesn't improve the quality of programs produced. It doesn't eliminate the need to hire programmers that can write good specs.

So what's the point? How is this "the future"?
You ever heard of defaults?! They are pretty common in the computer world.
Yes the system probably would spit out the most basic cmd calc ever and show it to you,it would not shut down at that point and never let you talk to it again...
You would be able to tell it what and how to change,having the most common things,like all the stuff you listed as default replies/suggestions that's not all that hard,that doesn't even need any AI.
As someone working in the ML/AI field right now (not doing that type of work, but in that space) working on applications that are dealing with language translations, we aren't even CLOSE to being perfect in even this area of doing simple language translations.

And you are talking about translating conversational language into iterative computer language?

Yeah ... that is some movie sci-fi stuff there. That won't be around any time soon or in multiple lifetimes.
Google is trying to get there..
Intel just integrated nervana AI into pretty much everything new they put out...
AI is exploding right now with all the driverless cars and siris,alexas and all of that stuff,it will still take a lot of time but the end result is practically set in stone.
 

whm1974

Diamond Member
Jul 24, 2016
9,460
1,570
96
I really don't see the point of @Quantum Robin thread. Why would Programmers warn people not to use High Level Programming Languages. More likely they steer most folks away from low level since they not are needed for the vast majority of applications anyway.
 

Printed Circuit Bro

Senior member
Jan 21, 2020
411
84
61
If you want some real money, learn cobol and basic and go work on AS400's at old companies. There are ancient systems running strong but most of the people with the expertise to run them are all retiring or dying off.

There's good money in becoming their replacement.
 
  • Like
Reactions: cytg111

reallyscrued

Platinum Member
Jul 28, 2004
2,617
5
81
What's your obsession with pushing natural language programming?

I think he is either selling something, doing marketing research, or maybe writing a paper and is farming for ideas...

Either way, it's really annoying.
 

Atari2600

Golden Member
Nov 22, 2016
1,409
1,655
136
Erm? Whats wrong with high level programming?

I expect in the future, you will see more hybrid programming, it is certainly the most cost efficient if done right.

High level => 95-99% of code, quickly built and tested.
Low level => 1-5% of the most performance sensitive code, accessed via calls from high level code.

An easy example being Python calling customised C functions. To build the program entirely in C would take several months if not years, that could be shortened to a few weeks in Python - and you only build the repetitive ops into custom C codes. End result is a program with 95% of the speed of the full C approach at 5% of the programming time.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
I think the question is kind of based on a flawed premise. No one says "don't use Assembly". What people actually say is "use the correct tool for the job". (Although, do note that there isn't always a single "correct tool"; however, in most cases, the language is chosen based upon project needs and the strengths of the language.)