Re: Will future programmers probably warn people not to use high-level programming languages just as most programmers today warn people not to use assembler?
On Tue, 29 Oct 2019 14:12:12 -0400 Mike wrote: > On 10/29/2019 1:17 PM, Nathan Hartman wrote: > > On Tue, Oct 29, 2019 at 7:41 AM Clark Block > > wrote: > >> Just as most programmers today warn people not to use assembler, > >> probably future programmers will warn people not to use high-level > >> programming languages. > > > > > > In the future, computers will program programmers. > > > > I remember programming back when it was the programmer, and not the > compiler, that did the optimizations. > > :) I also remember :-) I think compiler optimisations are great, but programmers must also optimise (examples: by using an algorithm with lower complexity, by being aware of locality of reference issues, etc.) Also, assembly language is, in my opinion, still useful for: - programming micro-controllers with scarce resources - programming graphics cards (shader code) - using processor features for which there exists no intrinsic function in a high level language. - proving to yourself that the compiler is actually doing the wrong thing with it's input when you suspect it (rare) With regards to assembly language (or any language for that matter), my opinion is this: use the right tool for the job; if the right tool is assembler, then use assembler, if the right tool is logo, use logo. A large part of programming is: 1) Knowing what you are trying to achieve 2) Having the ability to choose a good tool, that is, one of the right tools, to achieve what you want to achieve In my opinion, some sub-optimal things a programmer can do (and I know this because I also have these propensities) are: - cleaving only to tools one is comfortable and familiar with - doing something fancy, or using a fancy language/environment when a simpler choice is better - trading ease of code-maintenance/extendability/portability for small gains in performance I guess what I'm trying to say is that I think the issue doesn't really lie with high-level vs low-level; I think it's more about the programmer and the programmer's ability to make the (or one of the many) correct choices. regards, Jeff
Re: Will future programmers probably warn people not to use high-level programming languages just as most programmers today warn people not to use assembler?
On 30/10/19 3:17 am, Nathan Hartman wrote: > On Tue, Oct 29, 2019 at 7:41 AM Clark Block wrote: > >> Just as most programmers today warn people not to use assembler, probably >> future programmers will warn people not to use high-level programming >> languages. > > In the future, computers will program programmers. "Man must be master" is the phrase that comes to mind. Electronic computers exist to do the low-level dull data drudgery under the guidance of their human operators, not the other way around. -- Stuart Longland (aka Redhatter, VK4MSL) I haven't lost my mind... ...it's backed up on a tape somewhere.
Re: Will future programmers probably warn people not to use high-level programming languages just as most programmers today warn people not to use assembler?
On 10/29/2019 1:17 PM, Nathan Hartman wrote: > On Tue, Oct 29, 2019 at 7:41 AM Clark Block wrote: > >> Just as most programmers today warn people not to use assembler, probably >> future programmers will warn people not to use high-level programming >> languages. > > > In the future, computers will program programmers. > I remember programming back when it was the programmer, and not the compiler, that did the optimizations. :)
Re: Will future programmers probably warn people not to use high-level programming languages just as most programmers today warn people not to use assembler?
On Tue, Oct 29, 2019 at 7:41 AM Clark Block wrote: > Just as most programmers today warn people not to use assembler, probably > future programmers will warn people not to use high-level programming > languages. In the future, computers will program programmers.
Will future programmers probably warn people not to use high-level programming languages just as most programmers today warn people not to use assembler?
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?