Page 2 of 6
Re: Probable quantity of machine code programmers and Assemb
Posted: Tue May 01, 2018 7:31 pm
by manhobby
@All the OS Dev.org Forums moderators, you will answer all the questions that I posted in this topic???
@Schol-R-LEA, Brendan, simeonz, alexfru, you will answer all the questions that I posted in this topic???
Re: Probable quantity of machine code programmers and Assemb
Posted: Tue May 01, 2018 7:35 pm
by Schol-R-LEA
There really isn't any way to answer the question. How could we possibly know that sort of thing? How could anyone know it? Any figure we give you would be a flat-out lie.
Oh, and I'm not a moderator...
Re: Probable quantity of machine code programmers and Assemb
Posted: Tue May 01, 2018 8:17 pm
by manhobby
Schol-R-LEA wrote:There really isn't any way to answer the question. How could we possibly know that sort of thing? How could anyone know it? Any figure we give you would be a flat-out lie.
Oh, and I'm not a moderator...
@Schol-R-LEA
If DavidCooper did not answered, he said his opinions to my questions.
I did not want to say that you is a moderator, I tried to get the answers of all forum moderators and others, including you.
Re: Probable quantity of machine code programmers and Assemb
Posted: Tue May 01, 2018 9:37 pm
by StudlyCaps
I'll give my 2c.
The number of programmers coding in machine code professionally: 0 almost certainly.
The percentage, also 0. There is no reason to ever code in machine code for any platform that an assembler exists for, and no company would use a processor without an assembler.
The percentage coding in assembly: probably 5-10%. These would mostly be embedded systems developers, or hardware engineers writing firmware/drivers. Even these people probably use assembly only sometimes, not every day.
Re: Probable quantity of machine code programmers and Assemb
Posted: Tue May 01, 2018 9:42 pm
by manhobby
StudlyCaps wrote:I'll give my 2c.
The number of programmers coding in machine code professionally: 0 almost certainly.
The percentage, also 0. There is no reason to ever code in machine code for any platform that an assembler exists for, and no company would use a processor without an assembler.
The percentage coding in assembly: probably 5-10%. These would mostly be embedded systems developers, or hardware engineers writing firmware/drivers. Even these people probably use assembly only sometimes, not every day.
@StudlyCaps
Many thanks!
Re: Probable quantity of machine code programmers and Assemb
Posted: Wed May 02, 2018 1:34 am
by Solar
StudlyCaps wrote:The percentage coding in assembly: probably 5-10%.
I think this is an overestimation of
at least one order of magnitude. I don't think the embedded realm
in total comes up to that percentage, and even in the embedded realm, most coding is done in C, with quite some percentage done in C++. Actually, much of the code running on embedded systems is
generated, not hardcoded...
Re: Probable quantity of machine code programmers and Assemb
Posted: Wed May 02, 2018 1:52 am
by simeonz
manhobby wrote:What is the probable quantity of programmers that currently are coding in machine code?
First, as StudlyCaps stated, aside from enthusiasts, I expect no work to be done directly in machine code. Not on the professional level. Programming in machine code, which I have never done myself, involves writing number sequences, in some cases bit-packed binary sequences, which is neither productive, nor artistic in itself. You can check out this
documentary around the 22 minute mark. They were apparently programming in machine code in 1962, but at this point, they were still figuring out what to do with computers anyway. Today, there are legitimate reasons to understand machine code or have some knowledge of it, but there is a difference between understanding and using directly to create software. Those reasons fall in two categories. First, generating or manipulating programmatically code requires some understanding of machine code. You have to do that when linking, compiling, generating code at run-time in performance sensitive software, hot patching, debugging, tracing, etc. The second principle reason for being vaguely familiar with machine code is code alignment and branching through address arithmetic in assembler programming. Neither of those require hard knowledge, only sketchy knowledge, awareness of the pertinent documentation, and overall understanding.
For example, only 1 programmer is currently coding in machine code?
2? 5?
This part of the question is concerning. It is almost inconceivable that you are asking this seriously. At some point I genuinely speculated that someone might be using this forum as a Turing test for their AI. Your question is so unorthodox.
Re: Probable quantity of machine code programmers and Assemb
Posted: Wed May 02, 2018 2:39 am
by manhobby
simeonz wrote:manhobby wrote:
For example, only 1 programmer is currently coding in machine code?
2? 5?
This part of the question is concerning. It is almost inconceivable that you are asking this seriously. At some point I genuinely speculated that someone might be using this forum as a Turing test for their AI. Your question is so unorthodox.
@simeonz
Please, sorry me!
Re: Probable quantity of machine code programmers and Assemb
Posted: Wed May 02, 2018 2:54 am
by simeonz
I am not offended in any way. I am just confused.
I also just realized that we can add disassemblers and possibly decompilers to the list of software that requires processing of machine code. Not that it is relevant to the original question.
Re: Probable quantity of machine code programmers and Assemb
Posted: Wed May 02, 2018 5:25 pm
by OSwhatever
< 0.001% are coding in pure machine code (meaning writing the instruction as numbers directly, was it that TS meant?). Reason, creating your own assembler language and compiler is easy and that time spent immediately increase productivity. So if you create your own exotic CPU where no assembler compiler (assembler compiler is that even a term, write it to avoid confusion with assembler language) is available, you will write one. I've done this myself and it wasn't hard. Also the assembler was created together with the CPU as a test bed. You create the programs along with the CPU in order to prove your concept which are simulated on RTL level.
So, a CPU for which no assembler compiler exist is highly unlikely.
Re: Probable quantity of machine code programmers and Assemb
Posted: Wed May 02, 2018 9:15 pm
by manhobby
@simeonz, StudlyCaps, Solar, OSwhatever,
Many thanks!
Re: Probable quantity of machine code programmers and Assemb
Posted: Thu May 03, 2018 1:39 am
by manhobby
OSwhatever wrote:< 0.001% are coding in pure machine code (meaning writing the instruction as numbers directly, was it that TS meant?).
@OSwhatever
According the Deitels in book "Java How to Program", "machine code 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)".
Re: Probable quantity of machine code programmers and Assemb
Posted: Thu May 03, 2018 6:11 am
by zaval
emmm, manhobby, do you like assembly and wanna program in it? learn it and do it. it's all possible. writing instructions directly in numbers in hexeditor is stupid now for sure.
asking the same questions over and over and over on different forums is not going to help.
Re: Probable quantity of machine code programmers and Assemb
Posted: Thu May 03, 2018 10:25 am
by manhobby
Schol-R-LEA wrote:There really isn't any way to answer the question. How could we possibly know that sort of thing? How could anyone know it? Any figure we give you would be a flat-out lie.
@Schol-R-LEA
How can Andrew Tanenbaum know that no one programs in machine language today?
According the book of Andrew Tanenbaum, STRUCTURED COMPUTER ORGANIZATION, no one programs in machine language today:
"The reason that people use assembly language, as opposed to programming in machine language (in hexadecimal), is that it is much easier to program in assembly language. The use of symbolic names and symbolic addresses instead of binary or octal ones makes an enormous difference. Most people can remember that the abbreviations for add, subtract, multiply, and divide are ADD, SUB, MUL, and DIV, but few can remember the corresponding numerical values the machine uses.
The assembly language programmer need only remember the symbolic names because the assembler translates them to the machine instructions. The same remarks apply to addresses. The assembly language programmer can give symbolic names to memory locations and have the assembler worry about supplying the correct numerical values. The machine language programmer must always work with the numerical values of the addresses. As a consequence, no one programs in machine language today, although people did so decades ago, before assemblers had been invented".
@Schol-R-LEA
Andrew Tanenbaum lied?
Re: Probable quantity of machine code programmers and Assemb
Posted: Thu May 03, 2018 10:51 am
by Schol-R-LEA
manhobby wrote:
@Schol-R-LEA
Andrew Tanenbaum lied?
For all intents and purposes, no. He may not have been literally accurate, as there is no way to actually know for certain (and there are always wingnuts, specialists, and hobbyists who do things like that anyway), but the numbers are so small that they are negligible. His statement was basically accurate, because for anyone who isn't doing so either for fun or for some exceeding specialized purpose (as is the case for DavidCooper), programming in machine language - or even doing extensive programming in assembly language, for things that don't need it - is
stupid.
To repeat something I've said before: modern programming is all about increasing levels of abstraction. Machine code has no abstraction at all, and bare assembly language (i.e., without any kind of macros or other structuring) has only minimal abstraction. Using either of them means discarding nearly everything we've learned in sixty years' of improvements in the methods of program development and software engineering.
I have to second the question which Zaval, and several others, have already asked: what are you trying to accomplish by asking these questions? We've already told you that this is a dead end with regards to professional programming. If you want to learn machine code or assembly language programming out of curiosity or as a hobby, go ahead and do it (Hell, there are probably some here who would help you with that, and there several more specialized message boards where they certainly would), but there is no reason for you to be belaboring this if you intent is to find work.
Or do you think
we are lying? If you do, then what would you gain out of badgering us about this - seriously, do you think we'll change our answers or something?