There are wrong premises in the question. Assembly (emphasis on capitalization) exists before punched cards which is actually just a data input. Assembler is not a compiler, although some people think so. It is even a form of compiler, but it is not complete, so it is considered only an assembler, as the name says.
There are questions that help you better understand this and about the first programming language:
Machine language is the binary code that the machine understands. It can even be written off the machine, but it is rare who does it. She doesn’t need to be turned.
Assembly is an "understandable" text by humans. Assembly exists outside the machine, after input into the computer needs a transformation, by Assembler. There is a 1 to 1 ratio between the Assembly code and the machine code.
The Assembler is a translation engine from Assembly to machine code, so it is software. So it needs to be developed in some language. The first one was certainly written in machine code. From then on it was possible, but not necessarily done so, this and other assemblers were used to write any kind of software, including compilers and other assemblers. Today it is possible to use a high level language to write an Assembler.
So strictly answering the question asked, yes, nowadays it is possible to write an Assembler with any programming language. In the 40’s it was necessary to use machine language.
Assembly is a programming language, so it’s just one specification.
Program binary in here.
Thank you! And guys, I’m sorry for the wrong assumptions. Is that when I was going to correct had already sent.
– luana
Did any of the answers solve your question? Do you think you can accept one of them? Check out the [tour] how to do this, if you haven’t already. You would help the community by identifying what was the best solution for you. You can accept only one of them. But you can vote on any question or answer you find useful on the entire site;
– Maniero