suggestion

Hello every one,

I want to ask i have completed the one book of C++ language now i want to ask in which language i should adopt after that please give me a good advise thanks a lot
Talha Nasir

Comments

  • : Hello every one,
    :
    : I want to ask i have completed the one book of C++ language now i want to ask in which language i should adopt after that please give me a good advise thanks a lot
    : Talha Nasir
    :
    Don't post similar Q's in different threads, combine them.


    Assembly is the second language you should learn, becouse it will teach you to think in low level.

    "Real programmers can write assembly in any language"
  • : i have completed the one book of C++ language

    Have you coded something too?


    Greets,
    Eric Goldstein
    http://www.gvh-maatwerk.nl


  • : : i have completed the one book of C++ language
    :
    : Have you coded something too?
    :
    :
    : Greets,
    : Eric Goldstein
    : http://www.gvh-maatwerk.nl
    :

    Yeah, become familiarized with the language too, and DONT FORGET IT.
    ASM is the next step, as niklas said, and to gain even more insight, look at the machine language of platforms other than the x86 (I am a hypocrite in saying this though, I barely noe x86 asm)

    {2}rIng
  • : : : i have completed the one book of C++ language
    : :
    : : Have you coded something too?
    : :
    : :
    : : Greets,
    : : Eric Goldstein
    : : http://www.gvh-maatwerk.nl
    : :
    :
    : Yeah, become familiarized with the language too, and DONT FORGET IT.
    : ASM is the next step, as niklas said, and to gain even more insight, look at the machine language of platforms other than the x86 (I am a hypocrite in saying this though, I barely noe x86 asm)
    :
    : {2}rIng
    :

    [grey]To talhanasir:[/grey]
    At the moment Id only recommend you to start with assembly when you`ve properly mastered and familiarised yourself with C++, because assembly is not an easy language to learn for a beginner.

    [grey]To all:[/grey]
    Sure it`s nice to know assembly for several processor architectures, but I`m not so sure if it`s a must. Most computers today run on the x86 platform, possibly with 64-bit extensions. Knowing the assembly for this platform is probably sufficient for most programmers.

    To get more insight though, try looking at the differences of writing asm for different operating systems(as opposed to different processor architectures). Linux, Windows and DOS all use the x86 architecture, meaning the instructions that are used are the same, but implemented differently in several aspects.
  • : Sure it`s nice to know assembly for several processor architectures, but I`m not so sure if it`s a must. Most computers today run on the x86 platform, possibly with 64-bit extensions. Knowing the assembly for this platform is probably sufficient for most programmers.
    :
    : To get more insight though, try looking at the differences of writing asm for different operating systems(as opposed to different processor architectures). Linux, Windows and DOS all use the x86 architecture, meaning the instructions that are used are the same, but implemented differently in several aspects.
    :

    One shouldn't be limited to the x86 architecture.
    If I love to use the stack and uses it always for everything, what happens when I get to a computer without a stack?
    I should then try to make my own stack, wich is so slow. I can't really take advantage of the proccessor I'm working on. It may have other very cool features, but I simply can't get them in my mind becouse I think in stack.
  • : [grey]To all:[/grey]
    : Sure it`s nice to know assembly for several processor architectures, but I`m not so sure if it`s a must. Most computers today run on the x86 platform, possibly with 64-bit extensions. Knowing the assembly for this platform is probably sufficient for most programmers.

    [blue]Programmer != PC Programmer.

    There are microcontrollers, DSPs, PLCs, all the 32-bit processors not intended for PC and so on. Knowing x86 assembler won't do you much good if you want to work with embedded systems.
    [/blue]

  • : : [grey]To all:[/grey]
    : : Sure it`s nice to know assembly for several processor architectures, but I`m not so sure if it`s a must. Most computers today run on the x86 platform, possibly with 64-bit extensions. Knowing the assembly for this platform is probably sufficient for most programmers.
    :
    : [blue]Programmer != PC Programmer.
    :
    : There are microcontrollers, DSPs, PLCs, all the 32-bit processors not intended for PC and so on. Knowing x86 assembler won't do you much good if you want to work with embedded systems.
    : [/blue]
    :
    :

    Is there such a big difference?
    Or
    What is the difference?
  • : : : [grey]To all:[/grey]
    : : : Sure it`s nice to know assembly for several processor architectures, but I`m not so sure if it`s a must. Most computers today run on the x86 platform, possibly with 64-bit extensions. Knowing the assembly for this platform is probably sufficient for most programmers.
    : :
    : : [blue]Programmer != PC Programmer.
    : :
    : : There are microcontrollers, DSPs, PLCs, all the 32-bit processors not intended for PC and so on. Knowing x86 assembler won't do you much good if you want to work with embedded systems.
    : : [/blue]
    : :
    : :
    :
    : Is there such a big difference?
    : Or
    : What is the difference?
    :


    Every MCU has it's own assembly language, more or less. Though microcontrollers from the same manufacturer tend to have very similar asm instructions.
    Since I don't know much about x86, I'm not sure if I'm able to make the comparison, but I think there is a rather large difference. If you are interested, here is the manual for a 6800:ish (Motorola) 16-bit MCU (HCS12):

    http://www.freescale.com/files/microcontrollers/doc/ref_manual/S12CPUV2.pdf

    Should be as far from Intel as you can get, hopefully :-)

  • : Every MCU has it's own assembly language, more or less. Though microcontrollers from the same manufacturer tend to have very similar asm instructions.
    : Since I don't know much about x86, I'm not sure if I'm able to make the comparison, but I think there is a rather large difference. If you are interested, here is the manual for a 6800:ish (Motorola) 16-bit MCU (HCS12):
    :
    : http://www.freescale.com/files/microcontrollers/doc/ref_manual/S12CPUV2.pdf
    :
    : Should be as far from Intel as you can get, hopefully :-)
    :
    :
    Of course there are lots of other platforms, but is there any point in learning asm for some embedded system with completely different instruction sets and architectural designs just to get a bit of insight of other, different things? Not in my opinion.

    You`ll find loads of code for x86 on the web, but other platforms tend to be rather short on asm code (exeptions include some more popular embedded platforms where asm is applied more often, like Z80 or 68k). Also, you will need the processor itself for which to code for in the first place.
    Furthermore, learning different architetures can be quite a fuss, all the mnemonics are criptic anyway.

    We have reccommended assembly to talhanasir in order to get him to understand how C/C++ programs get compiled. This would be extremely useful for debugging, but debugging for embedded systems is quite a deed, if possible at all. Optimisation is secondary, because modern C++ compilers can compile good code.

    Besides, I was talking about MOST programmers, not ALL programmers so you can`t say that I made programmers and PC programmers equal. I assumed talhanasir to be in the majority, but if he wants to develop for some other platform, I`m certainly not stopping him;-)
  • : Of course there are lots of other platforms, but is there any point in learning asm for some embedded system with completely different instruction sets and architectural designs just to get a bit of insight of other, different things? Not in my opinion.

    [blue]Different from what? We have a person who knows about C++, nobody mentioned PC programming. But for a C/C++ programmer it doesn't really matter what assembler you know, as long as it involves using the stack etc.[/blue]


    : We have reccommended assembly to talhanasir in order to get him to understand how C/C++ programs get compiled. This would be extremely useful for debugging, but debugging for embedded systems is quite a deed, if possible at all. Optimisation is secondary, because modern C++ compilers can compile good code.

    [blue]Agreed. And it is also useful when it comes to writing efficient/good code.

    Debugging embedded systems is not very different from PC debugging. It might even be easier since you probably have more tools to help you: oscilloscopes, emulators etc. But yeah, you get the whole hardware part as well... and often you aren't sure if it is a hw or sw related bug.
    [/blue]


    : Besides, I was talking about MOST programmers, not ALL programmers so you can`t say that I made programmers and PC programmers equal. I assumed talhanasir to be in the majority, but if he wants to develop for some other platform, I`m certainly not stopping him;-)
    :

    [blue]Well, you wrote "to all". And are PC programmers the majority? I don't know. But at least 9 of 10 CPUs out there are not PC CPUs. I wouldn't assume anything about which platform he is using / want to use before he tells us. [/blue]
  • : [blue]Different from what? We have a person who knows about C++, nobody mentioned PC programming. But for a C/C++ programmer it doesn't really matter what assembler you know, as long as it involves using the stack etc.[/blue]
    :
    [green]Actually, talhanasir said in another post, that the book, that he read was Turbo C++ by Example, by Greg Perry and Marcus Johnson. Searching the net I found, that this book is about "Turbo C++ for Windows". Windows sure is for PC;-)[/green]


    : : Besides, I was talking about MOST programmers, not ALL programmers so you can`t say that I made programmers and PC programmers equal. I assumed talhanasir to be in the majority, but if he wants to develop for some other platform, I`m certainly not stopping him;-)
    : :
    :
    : [blue]Well, you wrote "to all".[/blue]
    :
    [green]
    That meant, that I was talking to everyone, not talhanasir specifically, and what I said was: "Knowing the assembly for this platform is probably sufficient for "most" programmers."
    [/green]

    [blue]And are PC programmers the majority? I don't know. But at least 9 of 10 CPUs out there are not PC CPUs. I wouldn't assume anything about which platform he is using / want to use before he tells us. [/blue]

    [green]
    The PC has a very significant role in the CPU industry, most people, that Ive seen on PH write code for PC`s. If you`re talking about desktop computers, washing-machines, MP3-players, PDA`s, then I agree, that at least 9 out of 10 aren`t PC`s, but if you`re talking about desktop computers only, then the PC is a dominator. The most used operating systems for desktop computers are Windows and Linux, which take up about 95% of the market (86% and 9% respectively).

    I hope this discussion won`t get very long or ugly:p
    [/green]
  • : [green]Actually, talhanasir said in another post, that the book, that he read was Turbo C++ by Example, by Greg Perry and Marcus Johnson. Searching the net I found, that this book is about "Turbo C++ for Windows". Windows sure is for PC;-)[/green]
    :


    As a side-note:

    It seems that book is from 1992... they didn't even have Windows back then, they had a GUI wrapped around DOS they called Windows 3.1.

    And the "final" C++ standard was released in 1995 iirc. So the book may be helpful for learning the basics of programming, but it is probably teaching an old C++ standard.

    If the OP wants to become a Windows programmer, then my advice is to first get a fancy, modern compiler like Borland Builder or MS.NET and play around with it for a while: make graphic things and silly games and such. Then study the Windows API. And when you know all of that, then study x86 assembler.

  • : : : : [grey]To all:[/grey]
    : : : : Sure it`s nice to know assembly for several processor architectures, but I`m not so sure if it`s a must. Most computers today run on the x86 platform, possibly with 64-bit extensions. Knowing the assembly for this platform is probably sufficient for most programmers.
    : : :
    : : : [blue]Programmer != PC Programmer.
    : : :
    : : : There are microcontrollers, DSPs, PLCs, all the 32-bit processors not intended for PC and so on. Knowing x86 assembler won't do you much good if you want to work with embedded systems.
    : : : [/blue]
    : : :
    : : :
    : :
    : : Is there such a big difference?
    : : Or
    : : What is the difference?
    : :
    :
    :
    : Every MCU has it's own assembly language, more or less. Though microcontrollers from the same manufacturer tend to have very similar asm instructions.
    : Since I don't know much about x86, I'm not sure if I'm able to make the comparison, but I think there is a rather large difference. If you are interested, here is the manual for a 6800:ish (Motorola) 16-bit MCU (HCS12):
    :
    : http://www.freescale.com/files/microcontrollers/doc/ref_manual/S12CPUV2.pdf
    :
    : Should be as far from Intel as you can get, hopefully :-)
    :
    :


    I read the beggining, and it seems rather the same, it's only the registers, the instructions and the memmory that is different.
    But that's what assembler is, memmory, registers and instructions.
    The main thought is rahter the same.

    Computers don't get much different (atleast not very different) from x86.


    To strengthen what antrax said:
    All desktop, database, web and other programmers program for x86, while there are only the embeded programmers that program for other platforms.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories