[Chicago] Question about Machine Language.

Thomas Johnson thomas.j.johnson at gmail.com
Mon Dec 7 16:10:13 EST 2015


Because:
* Different computers use different instruction sets (i.e., different
version of machine language)
* The compiler is almost certainly better than you are at generating
optimized machine language from your high-level language. See some examples
of the kind of optimization options gcc has here:
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
* Unless you are an expert at assembly, you will be more productive in a
higher level language
* We used to, and it wasn't pleasant
https://www.youtube.com/watch?v=EV1ki6LiEmg

On Mon, Dec 7, 2015 at 3:05 PM Lewit, Douglas <d-lewit at neiu.edu> wrote:

> Thanks for the correction Naomi, but that didn't really answer my
> question.  Why don't we all just study machine language and that's it?
>
> On Mon, Dec 7, 2015 at 2:10 PM, Naomi Ceder <naomi.ceder at gmail.com> wrote:
>
>> On 7 December 2015 at 13:57, Lewit, Douglas <d-lewit at neiu.edu> wrote:
>>
>>> Hi everyone,
>>>
>>> I was reading an article on the web about how all programming languages
>>> are "Turing complete".  I believe that basically means that all programming
>>> languages are able to communicate with the computer's CPU using the binary
>>> codes of machine language.
>>>
>>
>> Uh, that's not actually what "Turing Complete" means...  It doesn't  have
>> anything to do with binary or machine language... from Wikipedia (
>> https://en.wikipedia.org/wiki/Turing_completeness):
>>
>> "To show that something is Turing complete, it is enough to show that it
>> can be used to simulate some Turing complete system. For example, an imperative
>> language <https://en.wikipedia.org/wiki/Imperative_language> is Turing
>> complete if it has conditional branching
>> <https://en.wikipedia.org/wiki/Conditional_branching> (*e.g.*, "if" and
>> "goto" statements, or a "branch if zero" instruction. See OISC
>> <https://en.wikipedia.org/wiki/One_instruction_set_computer>) and the
>> ability to change an arbitrary amount ofmemory
>> <https://en.wikipedia.org/wiki/Computer_memory> locations (*e.g.*, the
>> ability to maintain an arbitrary number of variables). Since this is almost
>> always the case, most (if not all) imperative languages are Turing complete
>> if the limitations of finite memory are ignored."
>>
>> Cheers,
>> Naomi
>>
>> Okay then.... so why don't we get rid of C, C++, Java, Python, Ruby,
>>> Perl, Ocaml, Haskell, C#, F#, etc, etc and why don't we call just code in
>>> machine language?  Bear in mind that I'm asking this question from the
>>> point of view of the Devil's Advocate because I know almost nothing about
>>> machine language.  But it's an interesting question.  It's related to the
>>> question, "Why don't we have one universal natural language?  Let's get rid
>>> of English, French, Spanish, German, Russian, Chinese, Japanese, Arabic,
>>> Hebrew, etc, etc, and replace them all with one universal language that
>>> everyone understands".
>>>
>>> I'm interested in reading your thoughts and ideas.  Thanks.
>>>
>>> Best,
>>>
>>> Douglas.
>>>
>>> P.S.  Sorry to hear about the Django Study Group.  I thought Mark Graves
>>> was very friendly and did a great job of demonstrating various web
>>> applications using Python.
>>>
>>> _______________________________________________
>>> Chicago mailing list
>>> Chicago at python.org
>>> https://mail.python.org/mailman/listinfo/chicago
>>>
>>>
>>
>>
>> --
>> Naomi Ceder
>> https://plus.google.com/u/0/111396744045017339164/about
>>
>> _______________________________________________
>> Chicago mailing list
>> Chicago at python.org
>> https://mail.python.org/mailman/listinfo/chicago
>>
>>
> _______________________________________________
> Chicago mailing list
> Chicago at python.org
> https://mail.python.org/mailman/listinfo/chicago
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/chicago/attachments/20151207/1adbd4db/attachment.html>


More information about the Chicago mailing list