Re: Future of programming

From: KiLVaiDeN (KiLVaiDeN_at_CaRaMaiL.CoM)
Date: 10/08/04


Date: Fri, 8 Oct 2004 08:34:26 +0200


"Percival" <dragontamer5788@yahoo.com> wrote in message
news:2slssiF1n882nU1@uni-berlin.de...
> KiLVaiDeN wrote:
>
> > I think there is a difference between "software evolution" and
"programming
> > evolution", isn't it ?
>
> There is a difference, but from this discussion, i am seeing purely
> programming evolution, and no mention of software evolution. I am asking
> where did you get the idea that we were talking software evolution.
>

Programming evolution, is in the sens I meant it, how the programming
techniques became more and more popular and why.
Software evolution, is the chronological part of programming techniques I'd
say, technically.
Both aren't the same, because programming evolution is dependant on the
market and solutions + popularity, while the second is purely a technical
evolution not mentionning those points, that's how I see it

> OOP is a concept, not set on stone. OOP done at a lower level can
> acheive faster speed.
>

I think I know what OOP is. But there is languages "able" to use OOP, and
others "oriented" OOP, and that's 2 very different things.
Being able to code in OOP in assembler, doesn't make assembler a OOP
language.

> > Chosing an algorithm, handling memory management good, optimizing loops,
> > doesn't it all look "mechanical" for you ?
> > When you code in ASM, don't you feel like an automat, able to produce
ASM ?
> > Is there really intelligence involved in the work of optimization ?
>
> 1. No, i don't feel like an automatic machine.
>
> 2. Yes, there is. Plenty.
>
> You see something done with quicksort algorithm. You realize that the
> set is almost always sorted. Thus you go with the usually slower
> insertion sort.
>

I feel like an automat, even while programming in Java. Why ? Because I go
to an abstract level, where I need to use a vocabulary which isn't mine, to
make the "machine" understand what I'm saying. That's not the way for us (
humans ) to be efficient in explaining things.
Of course this is the only way we have right now, but my point was talking
about future, and how it'll be useless to play "automat" to produce code and
programs, even if it means eventually the "death" of programming on the very
long term, I'd say it's an important future evolution of informatic.

> >>Binary and Assembly are theoretically the same language. C and assembly
> >>are not.
> >>
> >
> >
> > Talking about syntax, and not sementic once again. When you learn a
language
> > you learn a syntax, not a semantic, and nowadays people find it totally
> > useless to learn binary programming, that was my point..
>
> My point, is that the syntax of machine code ops, represented by binary,
> are equivalent to assembly. Thus, we are technically still programming
> at the Machine code level. Machine code and Assembly have a one to one
> correspondance to one another, or at least close to.
>
> The syntax of machine code ops is like this:
> optcode Operand1 Operand2 Operand3
>
> The syntax of assembly commands are like this:
> optcode Operand1 Operand2 Operand3
>
> In both assembly and machine code, operands may or may not exist. (such
> as ret function, or C3)
>
> If you are really talking syntax here, machine code has the same syntax
> as assembly.
> Just look at any disassembler output.
>
> Here is a sample from one of my programs:
>
> 00000000 55 push ebp
> 00000001 89E5 mov ebp,esp
> 00000003 B866000000 mov eax,0x66
> 00000008 BB01000000 mov ebx,0x1
> 0000000D 6800000000 push dword 0x0
> 00000012 6801000000 push dword 0x1
> 00000017 6802000000 push dword 0x2
> 0000001C 89E1 mov ecx,esp
> 0000001E CD80 int 0x80
> 00000020 83C40C add esp,byte +0xc
> 00000023 89C7 mov edi,eax
> 00000025 B866000000 mov eax,0x66
> 0000002A BB03000000 mov ebx,0x3
> 0000002F 6810000000 push dword 0x10
> 00000034 68A5000000 push dword 0xa5
> 00000039 57 push edi
> 0000003A 89E1 mov ecx,esp
> 0000003C CD80 int 0x80
> 0000003E 83C40C add esp,byte +0xc
> 00000041 83F800 cmp eax,byte +0x0
> 00000044 7C53 jl 0x99
> 00000046 BA00010000 mov edx,0x100
> 0000004B B9C7000000 mov ecx,0xc7
>

you agree with me that the left syntax ( in hex ) is different than the
right one ? Hence the difference between programming in binary or asm.
Semantic is the same, but you prefer writing in ASM, because you don't have
to remember "details" like how is mov coded, etc. This is exactly my point,
there will be a point where ASM will feel like a detail, and become useless,
but that's my opinion and I don't think we'll agree on that :)
Once again please understand my points are focused on "future" evolution,
nowadays I don't deny the need and importance of assembly language.

>
> As you can see, each sequence of machine code (represented by the second
> colum) has the same correspondance with assembly code next to it. (And
> assembly isn't usually this ugly. When assembly is disassembled, it
> doesn't look good at all. Assembly code is actually very clean to those
> who can read it)
>
> Percival

Reading assembly is like thinking like the cpu. But we are humans right ?
Why would we need to ever abstract our high level of thinkings and bound it
to the basic thinking of a cpu ?



Relevant Pages

  • Re: Aspiring highest-order programmer
    ... > programming and not just subscribe myself to the one sole doctrine language, ... > have an assembly code stage before they become machine code? ... > is to understand assembly language. ... language and then assembler and only then high level language. ...
    (comp.programming)
  • Re: Time Gets Near For Agamemnon To Go
    ... Assembler is the way most chips are programmed. ... for any high-level programming language to handle safely. ... (Machine code programmers cannot write code as ... under 2,000 pages long and that it has over 40 different instruction ...
    (rec.arts.drwho)
  • Re: low sugar - spotty vision
    ... Can't remember how many computer languages I've programmed in. ... CTL Modular One assembler ... "Assemblers" are not programming languages. ... into machine code before they can be run by a computer. ...
    (alt.support.diabetes)
  • Re: Per the discussions of Software Engineering
    ... programmers who've learned assembler are better equipped to ... commenting) so they don't grow their own bad habits, ... I started-out programming in BASIC and 6502 machine code on a Commodore PET. ...
    (sci.electronics.design)
  • Re: Why There are no Asm Apps
    ... I've been following the "evolution" of software ... usually the "norm" on ROM as the language of the OS itself... ... when it goes wrong)...what about "aspect-orientated programming" ... ;)...for being a "microprocessor" which had a GUI operating ...
    (alt.lang.asm)

Loading