Click here to Skip to main content
15,434,147 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi I am currently a CS student who finished their freshman year. The current languages I am familiar with are C#, VB, Java, and Python. I know some query language and used a couple of SQL databases before. I am also familiar with IIS.

I have looked up am undergraduate internship for next year. Most of the skills I need for that internship I will learn during my sophomore year, with the exception of C++ language, Linux operating system, GNU tool chains. I am not sure if UNIX tools is similar or the same as GNU tool chains. Is UNIX a microsoft tool chain? Also I am going to learn C during the second half of my sophomore year. Is going into C++ an easy transition from C?

Anyways I am here to ask for a project, simple or complex, to get me familiar with networks as an admin(IPv4 and/or IPv6). Also to get me some experience with network stacks. I don't know if I can do this C#, because that is the most familiar language I know, or do I have to do the project in C/C++?

Can anyone help with this? I really want to prepare for this internship ^_^

Thanks for being interested in my question!

The GNU tool chain is the primary development tools for linux, and it's available for most modern variants of unix - and quite a number of old ones too.

You can run Lnux under VirtualBox[^] for windows. It supports 64-bit virtual machines under a 64-bit OS.

Microsofts tools are primarily for Windows, and the other MS platforms.

Xenix[^] Microsofts fling with Unix died a long time ago, but they now provide Windows Services for UNIX[^] - It doesn't come with an X server, but Xming X Server[^] is a free alternative - You might want to compile it yourself at a later stage.

"Is going into C++ an easy transition from C?"
Depends - just about everything you do in c can be done in c++, knowing c is a good thing, and you can transition to "modern" c++ at your own pace.

Best regards
Espen Harlinn
Share this answer
Member 8015046 4-Aug-11 14:58pm    
Thanks that is so informational! Good thing I will not get confused by it.
Espen Harlinn 4-Aug-11 18:18pm    
fjdiewornncalwe 4-Aug-11 15:06pm    
Fantastic. +5.
Espen Harlinn 4-Aug-11 18:19pm    
Thank you, Marcus!
Sergey Alexandrovich Kryukov 7-Aug-11 0:59am     CRLF
Good points, my 5. --SA
I have to partially disagree about C vs C++ transition.
That's NOT easy: it SEEMS easy, because C++ retain about 90% of C.
But it adds 400% more.

This ASCII Art can give you an idea of the concept:
       C programmers leave here
         .  <-------------
C->  |-------|
       |-----------------------| <-C++
           ..... ........
             ..   .. <--- good C++ programmers leave here   
              <--- C coming C++ programmers tend to stay here 

If you want to be a good C++ programmer ... just forget C.
Or eve better: learn C after C++ (not before).

The most difficult aspect, here, will be finding a good tutorial: the most of them had been written when C++ was not wide as it is now, and focuses on C to C++, not on "modern C++" as a whole.
Share this answer
Espen Harlinn 5-Aug-11 12:07pm     CRLF
Emilio, the beauty of c was that it was a simple language. I guess you learned c before c++, as that was fairly common back in the eighties – and like many of us you probably struggled a bit with the transition from c to c++. Like many useful concepts, object oriented programming in c++ is actually simple – perhaps so simple that it takes a while to master it – like 10 years or so. Modern c++ with the new c++ features that supports template meta-programming is also based on a set simple mechanisms, and clever people are coming up with new and fabulous ways to make use of those features to implement things like boost spirit. It is perhaps easy to forget that 20 to 30 years of experience with the language changes the way you look at things – remember that the obvious thing about the obvious is that it is not obvious :)
Emilio Garavaglia 5-Aug-11 12:46pm     CRLF
Of course, I learned C before C++ because ... there was no C++ at the time I learned C. (In fact, there was even not Windows or DOS! My first programming environment was an AT&T UNIX IV machine!). But what I'm saying here is a statistic based on how programmers coming from different experience evaluate their own skills. From that, it seem that who started directly from C++ (in proper way: with strings, container, iterator etc. not by emulating C) is more "broadened" than who started from C (that tends to approach everything as OOP where OOP is a way to group functions, and almost misses the generic and functional aspects) who takes more time to reach the same knowledge level. Just give a look to the newbies question about C++: why the most of them are related to array uses as string a-la plain C? Instead of profiquently use C++, they approach everything procedurally, missing all the reason C++ come to existence. Why? To me the answer is simple: the most of "trainers" learned C before C++ and, although now fluent in C++, didn't have elaborate yet a way to communicate their notions.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900