Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
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!
Posted 4-Aug-11 8:37am
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

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
  Permalink  
Comments
Member 8015046 at 4-Aug-11 14:58pm
   
Thanks that is so informational! Good thing I will not get confused by it.
Espen Harlinn at 4-Aug-11 18:18pm
   
Great!
Marcus Kramer at 4-Aug-11 15:06pm
   
Fantastic. +5.
Espen Harlinn at 4-Aug-11 18:19pm
   
Thank you, Marcus!
SAKryukov at 7-Aug-11 0:59am
   
Good points, my 5.
--SA
Espen Harlinn at 7-Aug-11 6:52am
   
Thank you, Sergey!
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

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.
  Permalink  
v2
Comments
Espen Harlinn at 5-Aug-11 12:07pm
   
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 at 5-Aug-11 12:46pm
   
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)

  Print Answers RSS
0 OriginalGriff 250
1 Jochen Arndt 155
2 PIEBALDconsult 150
3 DamithSL 125
4 Afzaal Ahmad Zeeshan 120
0 OriginalGriff 5,695
1 DamithSL 4,591
2 Maciej Los 4,012
3 Kornfeld Eliyahu Peter 3,480
4 Sergey Alexandrovich Kryukov 3,190


Advertise | Privacy | Mobile
Web02 | 2.8.141220.1 | Last Updated 5 Aug 2011
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100