LLXX, on Aug 30 2006, 05:11 PM, said:
It wouldn't really matter, C++ and C# are very similar. And C++ is just a superset of basic C.
I'm not arguing if the language themselves are similar or not (they're all from the same "family" so of course they must be similar to some extent - but each language has their own set of extremely useful features e.g. generics or templates, polymorphism via inheritance, reflection, threading and much more things)
Regardless of that, it will truly make a mega-huge difference:
-managed and unmanaged code (I'd call that a very significant one... garbage collection is a great thing)
-C# doesn't use a billion header files (which I don't know)
-the difference between using frameworks I know thoroughly (like .net fw) or some I've likely never even heard of
-the difference between using database interfaces I know quite well (ado.net) or god knows what else (java has jdbc, but c++? no idea), likely different ways to use stored procs (prepared statements), and will likely influence DB choice a great deal (mssql 2005 express or perhaps MySQL instead)
-the difference between using dev tools I know in and out (visual studio), or those I've likely never even seen
-the difference between knowing the common 3rd party tools (code gen tools and templates, apps for app architecture/patterns/UML, tools for unit tests and continuous integration, etc) or not at all
-the difference between writing little bits of code to make SOAP web services sitting at the top of your middleware running on IIS (secured via WSE), or writing apache CGI modules in C++ from scratch (including all the serialization/deserialization to/from XML, descriptions, contracts, security and pretty much everything else by hand... or perhaps using tools/apps and frameworks I've never heard of - no thanks!)
(no point going on for 10 full pages of this stuff really)
With C# you've got visual studio's help, you've got MSDN (online or downloaded), TONS of webcasts, a good amount of training videos (a good part being free - and some being just dirt cheap, like learn247's), the .Net FW SDK, quickstarts, newsgroups (including MS' own NGS servers), forums, MSDN blogs, architecture mag and msdn mag, tons of samples, TONS of community sites (like codeproject and such), and countless more resources (versus god knows what for C++) - and arguably some of best dev tools out there, if not the very best.
So in short, it
WOULD truly matter a great deal. Both scenarios are like
totally and completely different, with the exception of both languages looking somewhat similar.
But language choice isn't mine, and I don't think he should pick whatever suits me best, but whatever HE's more comfortable with (I won't be the one coding all this) - and I don't mean based only on the language itself, but also on what dev tools and everything else (perhaps he does know linux and apache a great deal even though I sure don't, and he could be greatly familiar with everything C++ and also find C# totally alien)