Thread: Career Guidence:C++ with unix flavor

  1. #1
    Registered User
    Join Date
    Sep 2008
    Posts
    76

    Career Guidance:C++ with unix flavor

    I am interested in pursuing career as C++ network programmer for Unix.

    What's the perquisite for such career?

    What should I know for network/driver programming for Unix?

    please guide me

    best regards,
    Chakra
    Last edited by CChakra; 10-25-2008 at 04:05 AM.

  2. #2
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    I doubt that the average network application programmer ever gets near to the driver code, and many of the guys/gals writing the networking drivers will never write anything particularly fancy in the networking applications side - because writing drivers is a different type of programming than writing applications. Yes, the basics of it is similar, it's just like driving a normal car, a race-car or a lorry/big truck - the basics is the same, but once you get to the details, there's some real differences.

    Note also that I'm not aware of any networking driver for a Unix-like OS that is written in C++. Linux is certainly not allowing any C++ in kernel mode, and Windows is a struggle to use C++ in the kernel too. I don't believe there's much C++ inside the Solaris, AIX or HP-UX kernels either, but I'm not quite so familiar with those kernels.

    As to what you need to know, depends on who you are looking to be employed by, I suppose. Understanding basic concepts such as sockets and how networking in general works is obvious, but beyond that, it would depend on what your future employer is actually doing - networking filters are a different area from for example a networking server.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  3. #3
    Registered User
    Join Date
    Sep 2008
    Posts
    76
    thanks matps , you are my bro

    I actually wanted to know what domain should I learn to do powerful network programming.

    one more question, how do we write cisco's protocols in c++?

    I tried hard in google but could not find anything special. please brief me about it.

  4. #4
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    I'm pretty sure Cisco doesn't have their own protocol - they are most likely using either UDP or TCP/IP to transfer information across the network.

    Of course, Cisco probably has it's own layer ON TOP of that for management of their switches and routers. But that's pretty much the same knowledge as any other TCP/IP based specific protocol - you need to know how to send packets with specific content over a link of some sort.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  5. #5
    Hacker MeTh0Dz's Avatar
    Join Date
    Oct 2008
    Posts
    111
    Cisco does have proprietary protocols such as CDP.

    But as far as writing programs that adhere to protocols, you need to read the documentation on the protocols (RFCs and such) and then work on your own implementations.

  6. #6
    Registered User
    Join Date
    Sep 2008
    Posts
    76
    I see... So I have to strong TCP/IP and UDP knowledge.

  7. #7
    Hacker MeTh0Dz's Avatar
    Join Date
    Oct 2008
    Posts
    111
    TCP, IP, and UDP are just three of most well known protocols. There is a whole lot more going on as far as protocols go. If you want to see what all protocols are involved with the connection and data transfer between systems. You need to learn the OSI model and the protocols associate with each level.

    Examples of protocols include: ARP, CDP, ICMP, RIP, RIP2, EIGRP, IGRP, IS-IS, BGP, SMB, etc etc.

  8. #8
    Registered User
    Join Date
    Sep 2008
    Posts
    76
    Hmm... looks like I have to learn a lot for this programming.

    I am Java programmer and bored doing web stuff in Java because every six months or so you have to learn new framework which is boring as hell.

    Creating your own Apis is better than learning already existing Apis.

    I want to become network/socket programmer please help me to decide which platform
    I should choose.I made up my mind to choose between windows socket programming
    and Unix socket programming.

    please help me to decide ,by the way, currently I am Jobless

  9. #9
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    It's not about creating the API... the API is just some way to interface with something. That "something" should be the thing to interest you.

    Don't try and be a "network programmer" just because you like what it is, you should like what they do. You should be trying to get as much experience with networking as possible accross mulitple; platforms, hardware, configurations, protocols etc.

  10. #10
    Registered User
    Join Date
    Sep 2008
    Posts
    76
    Zachs:What you tried to tell me I understand that it's not easy task.

    What's the market of network programming ? I am currently jobless and want to change my
    career path.I know c/c++ in dos(turboC++).

    I don't like VC++ and windows programming.I can never think about writing commercial
    application in c++.I can't do driver programming because it will take years to learn domain knowledge for that kind of programming(as I am 24yrs old now).

    Should I change my career path or stick with Java? please help.
    You people have lots of experience , I badly need your help to decide.

    best regards,
    Chakra

  11. #11
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    I'm only 19, and a software engineering student.

    I've been told to both, keep my options open (ie be broad) and to specialize. But there are a lot of jobs in Java, not all are web-related. Perhaps try move that way since you already have experience in that area? That is, if you enjoy it too. Then you could learn networking in your own time, experiment a bit and perhaps move to a networking job, perhaps in C or C++. Certainly don't ditch Java if you already have a grasp of it.

    Other members with industry experience will probably reply, but that's my $0.02.

    And if someone asked you to work on a project in Turbo C/C++, then you probably shouldn't go for the job -- unless they had a good reason.

  12. #12
    Registered User
    Join Date
    Sep 2008
    Posts
    76
    thanks for your reply zacs , I am not from CS/SE background but management background so
    your reply was profitable.

    I am desperately waiting for masters' replies.

    best regards,
    Chakra
    Last edited by CChakra; 10-26-2008 at 03:08 AM.

  13. #13
    Registered User
    Join Date
    Oct 2001
    Posts
    2,129
    There aren't many networking gurus on these boards, and I'm not one of them. But I do know where you could start. In the networking forum, there is a sticky with links to resources there. One commonly recommended site is Beej's. Read that. If you want to invest some dough, books by Richard Stevens are commonly recommended.

  14. #14
    Hacker MeTh0Dz's Avatar
    Join Date
    Oct 2008
    Posts
    111
    If you want to learn about networking in general. Try to download the CCNA (Semesters 1 - 4) coursework. That is a good start.

  15. #15
    Registered User
    Join Date
    Sep 2008
    Posts
    76
    thanks for suggestions but you did not advise me about my career path.

    please do that

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. How to program in unix
    By Cpro in forum Linux Programming
    Replies: 21
    Last Post: 02-12-2008, 10:54 AM
  2. Setting up a Unix box
    By @nthony in forum Tech Board
    Replies: 6
    Last Post: 07-22-2007, 10:22 PM
  3. UNIX (Linux, BSD, etc) Programming :: UNIX
    By kuphryn in forum Linux Programming
    Replies: 6
    Last Post: 04-01-2004, 08:44 PM
  4. Unix Sockets
    By prvindia in forum Linux Programming
    Replies: 5
    Last Post: 03-11-2003, 09:16 AM
  5. About Unix Programming - Making a career desision
    By null in forum C Programming
    Replies: 0
    Last Post: 10-14-2001, 07:37 AM