Jump to content


Hamletic doubt


7 replies to this topic

#1 v71

    Valued Member

  • Members
  • PipPipPipPip
  • 353 posts

Posted 20 December 2012 - 06:06 PM

Good day to everybody , i want to jump straight into the argument i see around that the industry jobs shifted from mainly focused in c++ to c# , not being very convinced about c# performance i left it as a curiosity in my mind , for a considerable amount of time.
Now i see that everyone is searching for c# coders, probably because of Unity and such, my problem is that i don't want to learn c# and loose the fluency i have in c/c++.
I have heard that c# is very similar to java, a language i don't conside very efficient.
How do you manage your inner troubles ? should i learn c# and if so , will i forget the good practice fine tuned in years in c++ programming ????
Sorry for any grammar mistake
P.S.
i dont' want to start a flame war, and i dont' want to insult any c# or java supporters
P.P.S.
To moderators , why is showing always a warn status ?? have i been bad with anyone ???
Check my code in the c/c++ section :
http://www.binpress.com/browse/c

#2 Reedbeta

    DevMaster Staff

  • Administrators
  • 5307 posts
  • LocationBellevue, WA

Posted 20 December 2012 - 06:22 PM

View Postv71, on 20 December 2012 - 06:06 PM, said:

To moderators , why is showing always a warn status ?? have i been bad with anyone ???

No, everyone on the forum has a warn status, but yours is at zero. (It is a sort of progress bar that fills up as people get warned.)
reedbeta.com - developer blog, OpenGL demos, and other projects

#3 Albertone

    New Member

  • Members
  • PipPip
  • 28 posts

Posted 20 December 2012 - 06:36 PM

@v71: it's (almost) always good to learn another language - personally, I'd try C#.
However, I've been reading of a C++ renaissance for over a year - e.g. Microsoft expressed renewed interest in the language, etc.
There's also a site of the committee now: isocpp.org
Whether this renaissance is really happening or not, it's a good idea to learn other languages.

#4 v71

    Valued Member

  • Members
  • PipPipPipPip
  • 353 posts

Posted 20 December 2012 - 07:18 PM

Thanks for the reply, but talking about renaissence is a bit too late in my opinion, adding new syntactic sugar won't make people confortable with c# and java to jump over c++, new engeneering courses start already with java , and they left c++ completely out since many years now.
What i'd like to see is a renaisseance of tools built around and explicitly ( sp ??) for c++ ( gui editors, web programming , parsers , wpf compatibility and the list goes on ).People skipped c++ in favour of c# or java becasue of productivity not becasue the syntax is sexy , when i had to write my thesis i had to create a browser in java , that took me a week i don't want to think how much time i would have spent if i had to do that in c++.
Check my code in the c/c++ section :
http://www.binpress.com/browse/c

#5 Albertone

    New Member

  • Members
  • PipPip
  • 28 posts

Posted 20 December 2012 - 07:55 PM

Speaking of languages - did you take a look at D?
It's obviously not as useful as C#/Java on the job market, yet I think it's very interesting.

#6 fireside

    Senior Member

  • Members
  • PipPipPipPip
  • 1587 posts

Posted 20 December 2012 - 08:09 PM

I think you have to do multiple projects of different languages if you want to stay fluent in them. Alternate or whatever. It's kind of hard to do because it's easier to stick with just one project and it's easier to specialize in one language. C# is very much like Java. I think there are only 7 different keywords or something. I consider it a clone, myself, but a lot of c# people get offended and make a big deal out of the small differences.
Currently using Blender and Unity.

#7 TheNut

    Senior Member

  • Moderators
  • 1699 posts
  • LocationThornhill, ON

Posted 20 December 2012 - 11:51 PM

I know several languages and don't particularly find it difficult to work with them. I would consider it somewhat mandatory to know a few languages (and APIs) these days because you get a sense for what works really well and it will improve your skills. I loved the .NET BCL so much that I ended up porting most of it over to C++ (with some additions, like RB trees). My productivity has jumped through the roof and I code similar to how I would if I were using C#. I ended up doing the same for JavaScript as well. C++ is an old language that's difficult to get up to speed. C# and Java took large leaps to get the industry moving forward, so when you work with these languages you're really seeing what coding for the future is like. C++ is a capable language with a good set of frameworks, but it will always be a couple steps behind.

The other thing is to find commonality between all the languages you work with and maximize on that. For instance, C/C++ coders can use unportable pointer arithmetic iterator++ instead of just using language independent indexers array[i + 1]. Simple things like that can help you maintain a common ground to work with and make switching between languages much easier.

I wouldn't say Java as a language is inefficient. I would put it on par with C++ with the only negative being the auto GC. Same goes for C#. Java has bigger problems that I feel is usually related to the way products are built with it. Due to Java's nature, it much easier to write plugins than using languages like C++. As a result, you have this software that loads hundreds of plugins, which is time consuming and each module has it's own memory and processing requirements. You end up swallowing gigabytes of memory before the process has even started. From an architect point of view, the software is well organized and structured, but the hardware costs are quite high as a result. The second problem to Java is Oracle :)
http://www.nutty.ca - Being a nut has its advantages.

#8 Stainless

    Member

  • Members
  • PipPipPipPip
  • 579 posts
  • LocationSouthampton

Posted 21 December 2012 - 08:10 AM

I hate java with a passion, it was a nice idea which failed. The whole point of java was portability, then they threw that out of the window when they started creating pJava, midp, j2me, (pick any four letters and add a j). On top of that the basic VM has a poor design. Hell the garbage collector has a known bug that means it is expected to crash every ten hours.

Having said that, I can code in Java.

I love C#, it has a garbage collection issue as well, but as long as you know about it and allow for it it's not a major issue. However I only use it for tool creation now. Never for serious game coding. I don't use Unity, probably never will. We met with the developers of Unity asking to port their stuff to our platform and they got all precious and said no. XNA is dead to me, the arrival of windows 8 and xna 4 killed it as far as I am concerned.

I work in c++ more than anything. It's what all the games coders I work with use, so I use it. It can be agony at times trying to work out what some little guy in a programming farm in China did in this block of code, then realising he's overridden + to do something else. You also have compiler compatability issues, things that are legal in visual studio but not in any other c++ compiler.

My favorite language to work in is Forth. Love it. Not a lot of cause for it though.

I also loved VP, but Elate/Intent is dead. I am probably the only person in the world who still has a working dev system.

The future is c#.... absolutely not. For one thing more and more cpu's are heading towards parallelism. Not something c# is good at. Hell one cpu that I have just been sent has 16 cores each with it's own block of memory and a very fast link to all other cores.

Write something meaningful on that in c#





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users