Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

FPS: Which programming language is best?

Discussion in 'Scripting' started by TheShoeBox, Jul 15, 2014.

Thread Status:
Not open for further replies.
  1. TheShoeBox

    TheShoeBox

    Joined:
    Jul 15, 2014
    Posts:
    1
    I could really use a bit of help.

    I'm trying to make a First Person Shooter, but I don't know which programming language to use for it.

    I know a bit of C++.

    Any suggestions?
     
  2. LightStriker

    LightStriker

    Joined:
    Aug 3, 2013
    Posts:
    2,716
    C#... or you could do a search on this forum, the question have been asked a bazillion time before.
     
  3. shaderop

    shaderop

    Joined:
    Nov 24, 2010
    Posts:
    942
    F# all the way. It has an F in its name, just like FPS.

    (i.e. you're asking the wrong question.)
     
    peterdeghaim likes this.
  4. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    When we talk about Unity here, then it doesn't really matter. You can make the same game with all three available languages in equal time and effort.
     
    Patico likes this.
  5. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    Just to contradict Tiles. Have a look at this thread for some solid arguments for C#. Albeit the same game could be possible in all 3 languages (i guess this is an assumption of Tiles since I have not seen it proven yet) C# makes the process clearly more fluent for the Developer and available Tools and Documentation help greatly. Whereas in US you are forced to use Monodevelop and that alone could prevent you from finishing your game (bugs, crashes, slowing down etc). So get Visual Studion (Express), pick C# and go ahead.
     
  6. Patico

    Patico

    Joined:
    May 21, 2013
    Posts:
    886
    Anyone supporting by your engine. C# of JS are the best for Unity. It does not matter which one you will choose, both of them allow you to make the same number of mistakes ;)

    Talking about languages is holywar, but you should seriously consider about some other stuff: Which soft for character animation / for environment modelling / for making sound / for gui drawing / and so on... is best?
     
    Last edited: Jul 16, 2014
  7. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    I never really understood this C# crusade :rolleyes:

    No it is not an assumption. This is fact. Unity is a game engine that can be used with three different languages. And in fact this is proven by tons of games made over years. Unity JS is still used by half of all Unity users. When there would be a single grain of truth in your assumption then half of the games made with Unity would be disfunctional.

    As for documenation: most of Unity tutorials are still made with Unity JS. Most Unity books are still made with Unity JS. This changes slowly. But is still true.
     
  8. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    Why crusade? The OP has asked for opinions so why not tell him?
    If all 3 languages are totally equal 2 of them are superfluous.
    If I were you I would be worried about why noone/few people speak out for US or Boo. If they would be equally suited some users would tell. If they don't probably because they not exist.
    On the other hand I have read experiences from at least a hand full of users who have started with US and "regretet" it and switched to C# later. So part of their learning was wasted. I have heard of noone who did the other way.

    My "assumption" remark refers to your:
    I got the impression that newbies prefer US and if your want to compare their "simple" games with the professional ones which I think are mainly developed with C# its not a very objective comparison IMO. But until UT releases some solid numbers on this issue your assumption is as doubtful as mine. Its just an impression I got by reading the forums, blogs etc. .
    And the time also highly depends on the available tools. And for coding visual studio is (one of) the best tools available. I don't know if there are comparable IDE's for US available but I only read complains about Unity's built in Monodevelop.

    Where do you take this number from? this poll talks a different language.

    I guess this is due to the popular misbelief US is easier to learn. If there would not be all the newbies starting with US following bad advice the poll would even be more clear. I think US was only a "PR-gag" to attract a broader audience albeit UnityScript has not very much in common with Javascript. So now they have the burden to develop, test, document and support 3 different languages. And I also get the impression the US developers "give up" way more quickly and often don't have the intention to purchase Pro licences. So I doubt this pays out for Unity in the long run.

    Like I wrote in the other (linked) thread. If you want to make an objective decision you don't really have a choice.
     
  9. keenanwoodall

    keenanwoodall

    Joined:
    May 30, 2014
    Posts:
    595
    I think I accidentally reported your post, sorry I though I clicked reply. Anyways, I'm definetley a js guy. I still feel like c# is the standard though which upsets me. Javascript makes sense and c# doesn't as much. I always feel bad when I'm talking about javascript because everyone gives it such a hard time!
     
  10. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    838






    How is the learning wasted??? I actually go to school for Game Production and seen many artist turn programmer since they learned JS first, then because it got them going switch to C#. I notice some people have a hard time with C#, I ALWAYS suggest to try JS since its easier to learn and switch, if they want to. ... Just a thought, so no time is wasted here.. Besides JavaScript is useful in Web design as well.. Its a little bit different but can help someone that wanted to do it.

    So again, I can't see any time wasted here, but doing this. Just my 2 cents.
     
  11. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    And here we are, repeating the same discussion since years again and again :rolleyes:

    They are of course not superflous. The languages all have their purpose. It's like saying all other languages besides English is superflous. Which is of course nonsense. That a russian does not talk english does not mean that he cannot talk. Russian is a perfectly fine language. And same goes for programming languages in Unity.

    Your opinion is ONE opinion. not the ultimative opinion. I have another opinion when you don't mind.

    And crusade starts where you start to discredit and tell lies to let your baby shine. But we come to that part ...

    Well, this is exactly my personal experience. Some things goes faster in C#, some things goes faster in JS. For some things you go right in one language while you go left in the other language. But at the end of the day you end in similar workflows in equal time and effort.

    Just make a character controller in JS and C# when you don't believe me. It will run equal, it will need equal time, the effort will be the same.

    Keep in mind that Unity is a game engine where you can use three different languages to reach the goal.

    How many votings? 500? Across how many years? Five? Now that is really representative for millions of Unity users.

    Nope, the FACT that it is easier to learn. Also here: personal experience. Discrediting anyone?

    Again nope. I wouldn't call half of the users using another language a PR gag. Or even just a quarter when we follow your poll. It's a need. People wants it. I would vote for even more available languages.

    That three languages exists is the try to union as much users as possible under one hood. People are different, they have different backgrounds, they have different needs, they have different learning curves. Some are fine with C#, some are fine with JS, some are fine with BOO.

    And this worked really great until the current C# crusade was started. Which includes discrediting, lying, hijacking every possible thread by C# praising, and permanent JS bashing up to the try to make JS deprecated so that the "better" language succeeds. Which is the part that makes me angry. Because i am a happy JS user, and this would harm me.

    I have never ever seen a JS user doing the same thing to C#.

    Seriously, wtf? Now users give up easier because you choose the "wrong" language? And JS Users are therefore the dumber Unity users? JS users are too poor to buy Pro license too? Yeah, get rid of the scum, get rid of JS users, they are not worth to live. Burn witch burn!

    See what i mean with discrediting and telling lies? This is crusade at its best.

    Really? And you are of course the only objective person here, having all the wisdom.


    I am fine that you think C# is the better language. I even think that you really believe it is the better language. So use it and have fun. Some folks needs this elitist feeling i guess.

    But please accept that there are also other people around. I am perfectly fine using JS.

    And just to repeat my point: you can make the same game with all three available languages. This includes also C#.
     
  12. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    8,738
    Christ dude, calm down. You're reading the words "I get the impression" and coming away with "Yeah, get rid of the scum, get rid of JS users, they are not worth to live. Burn witch burn!"? Take some Xanax or something.
     
  13. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    I am. I just wanted to show where the problem is. Propaganda tricks and lies like the shown ones are not really a healthy base to make what he calls an objective choice.

    C# is a valid choice. But you should choose it because you are comfortable with and it fits your needs. Not because somebody tells you so. And you should be able to choose JS when you are more comfortable with withouth a C# witch hunter tells you that you will burn in hell then. Because JS is an equal valid choice.
     
  14. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,500
    I honestly agree with StarManta that you're reading things that aren't being said. Propaganda? Lies? Witch hunts and burning in hell? I think you're trying to highlight a problem that hasn't shown up yet.

    The first guy who disagreed with you did so on a perfectly valid basis, and (from memory of the thread he linked to) most of the arguments there had nothing to do with the functionality of any of the languages. It was all about available documentation, learning material, and prior experience to draw upon.

    Yes, you're right that the same game could be made with any of the languages. That's not the whole story, though, so there's plenty outside of "they can all make the same thing" that is valid for discussion.

    That all said, I too have a strong disdain for the evangelical behaviour that language discussion often elicits. It's not productive for anyone.

    Edit: Just checked, and the linked thread wasn't the one I thought. This is the relevant part of the thread I was thinking of, and I'd suggest reading it because there's actually some pretty interesting stuff in there.
     
    Last edited: Jul 16, 2014
  15. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    This is clearly a propaganda lie to discredit JS. It tells you that

    a) JS users will not buy Unity pro anyways
    b) JS users are the not so clever Unity users. They give up earlier.

    And this is no valid base to disagree really.
     
  16. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    The language you pick usually depends on your background and what you feel most comfortable with. When productions get bigger, there seems to be a clear trend towards C#.

    However, it is independent of your choice, that you need to be careful with mixing those languages. If you plan to do that, have a close look at the compilation order:
    http://docs.unity3d.com/Manual/ScriptCompileOrderFolders.html
     
  17. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    Thats my point, when they are not superflous they must be different and for different things there must be a "best" for a certain weighted mix of criterias. And when you leave out personal preferences and just look at features, clarity, tools etc. thats what I mean with objective decision and thats what I communicated in my first post IMO.

    Well, the problem is that maintaining 3 different languages costs UT serious money and headaches and delays bugfixes and improvements for all users. I'm just questioning that this is worth it in the long run. But the numbers for this are sealed so I can only guess based on unofficial information I percieve. You may guess otherwise and UT may laugh at both of us but according to you i can't express my concern in a discussion?

    To which lies you refer to? Anyone who does not say what you believe is automatically a liar but only you have a right for a deviating opinion?

    I don't mind. But keep in mind that an opinion can be wrong (even the "ultimate" you mention). I told the OP some Facts (Blogpost) and impressions I got. Remeber that he asked for the best language. You are free to convince him of any other when you dislike C# but why do you bash me? I just tell my opinion like you tell yours. Why do you want to deny the freedom of speech for me when you take it for yourself for granted?

    Its the best number I have seen in the years. I still wait for the official numbers you wanted to represent to backup and prove your
    I also tried to use US for learning purpose for a smal project but failed horribly. So I can also speak from experience. Now what?

    A character controller is not a complex game with lots of interactions between systems and a long development time.

    And add even more ambiguity, confusion and maintenance burden for UT? You know about the Tower of Babel and that many languages prevented something ambitious and big?
    Note: I'm not religious and I don't think this is historical. Its just an analogy and myth with a true core.

    So why don't you let the OP gather all informations and opinions about them? In the end he needs to make a decision.

    Not because of the language but (attention: assumption) of experience. I could imagine that some of the newbies has done some web-programming and read Unity is supporting Javascript (which it doesnt) and they could make a grand game (MMO, Skyrim, Crysis) with it. So they come here and ask some questions and are never seen again once they realise that its hard work. That has nothing to do with dumbness but with expectations. UT rises the impression that just a little (true) Javascript experience is required to make a game. And thats why (attention: opinion) many of them fail (not all!).
    On the other hand if you have a little experience in "serious" programming (Java, C++, XNA) you likely choose C# and you know what awaits you and thus you have a slightly higher chance of achieving your goals.
    That does not automatically mean every newbie choosing C# automatically succeeds but at least you have a higher chance of getting help because more (experienced) people use it.

    AFAIK every US-class (script) implicitely inherits from Monobehavior and I have no clue how to prevent that. In my game I have more Non-MB classes than MB ones (scripts). So how should I do this in US with equal time and effort? The bone-classes are needed to keep the whole Universe in memory (updating, ai decision making, pathfinding) but only a very small fraction of this is actually represented by monobehaviors to be displayed by the engine. So how would YOU make the same game in US when you have a hardcap of 65k Gameobjects (and the Engine is angry with you way earlier) but need the data in memory and are forced to use MB's?

    The Op asked for the best language to choose. You told him it does not matter (which is no help at all). I told him there are differences (what you agreed to) which are mainly in available features and workflow (tools, documentation) and that you just theoretically do the same (complex) game in equal time and effort what I highly doubt.
    If you want to propose US simply tell the points/features/facts which speak for it. You did not (what speaks for itself) and instead tried to make my arguments and opinions bad. I have clearly stated when my opinion is just based on years of forum reading and not on solid numbers by UT so the OP could decide himself how much he trusts me and my statements. But you did not accept this and tried to badmouth my opinion without providing proper numbers and facts. So I get the impression its you who is bashing me and you who is driving a crusade and going to burn someone.
    So in my opinion the Holywar has been started by you. You just had to provide some facts for the decision of the OP like I did. If you can't contribute something meaningfull to the discussion why participate in it?

    I'm actually wondering if you actually read what stands there or hearing voices telling you what you want to hear. In any case you have a thriving fantasy. But I don't know how this contributes to the discussion at all.

    So you project your anger on other people and let them suffer for your personal problems? I'm totally relaxed and in the end don't mind what language the OP chooses. But he asked for guidance and I gave him to my best knowledge and experience. You are the only fierce contributor using the mechanisms (discrediting, lying, hijacking ) you impute to others.

    Just read your own posts.

    And some need to argue about their choice (without facts) to feel less inferior?

    I wrote that its an impression and not a matter of fact. Also it was related to the point wether 3 languages (or even more) are meaningfull for UT who have to drive a business. And until they say it pays of I can doubt it or not?

    BTW: I had no intention to post in this thread until you did. And since my experience tells the opposite of your statement I found it important to warn the OP that it's not based on evidence.
    Again: You are totally free to list objective facts which speak for US or Boo. You and all others aren't doing so and this could be because there aren't any. And presumably this is why you are angry?[/quote]
     
  18. Fluzing

    Fluzing

    Joined:
    Apr 5, 2013
    Posts:
    815
    I would like to see a sample of a script that is more efficient in C# than in JS. Heck, show me something that US can't do and C# can.
     
  19. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    To my knowledge, there are some language features that don't work in UnityScript, like namespaces, constraints on type parameters, lock statements.
     
  20. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    I don't know if this list is complete but it gives a good overview.
     
  21. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    Wow, that's again a long post for somebody who has no intention, isn't it?

    And i had no intention to post in this thread until you did.

    Strawman anybody?

    Whoopsie, i provided something meaningful. But surprise, it gots denied :)

    When there is no difference in one small parts, why should there be a difference in several small parts, also known as the big part? The whole game is made of small parts.

    It took me three years to finish my game. It is in fact highly complex, has lots of interactions between systems, has had a long development time. And it works just fine with JS.

    Yeah, surprise, there is a difference between the languages. That's why they are called different.

    And here is your mistake. Because what is best for you is not automatically best for me. There is no general best.

    I have pointed them out already.

    Just have a look at the api. You can use everything with all languages. Fact. Also called evidence.

    And there is no reason to "warn" really. You only warn from bad things. JS is not bad. This is again a witch hunt strategy that you show here.

    I have no intention to continue this holy war with you. The arguments are long told, in several threads. I simply miss the time to spend the rest of the month to battle with you about every split hair.

    See meaningful above.

    The only fact that matters is that you can make the same game with all three languages. Which reduces the choice down to personal preferences. And this IS an important information.

    So try it up to the point where you are familiar with, and then decide then with what you are happy. Remember, it doesn't really matter.

    Engines like Irrlicht has wrappers for nearly every available language. From Basic across Net up to C/ C++ . That's what made it popular. And same goes for Unity. Take away JS and BOO, and you will cut the number of users dramatically.

    Again a classical polemic weapon of discrediting.

    I don't project anything. I don't have personal problems neither. I'm fine, thanks. I just have another opinion.

    As told, i am getting angry when somebody wants to take me away my tool. And the petition to make JS deprecated is still active.

    Heh. My advice was and is: don't listen to anybody. Try by yourself , and find out what fits best to your personal needs. This can also be C#. It's an equal good choice than JS. But to repeat myself: it shouldn't end in a witchhunt then when you decide to use JS.


    Interesting by the way that you just answer me, and totally ignore all the other posts in this thread that says equal things like i do.
     
    Last edited: Jul 16, 2014
  22. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    The key here is "language features". That's one of the things then where you simply have to use another method to reach the goal then. Languages are different ...
     
  23. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    The ones I mentioned can hardly be replaced. They are not just syntactic sugar, but actually help a lot when coding by e.g. making the code more maintainable.
    • There is no replacement for namespaces. You may rename the scripts, but in the case that you have them from a 3rd party, you will have trouble each time you update them. Of course, one could use prefixes for the scripts, but there is no actual standard for that and it is not widely used among developers.
    • The missing lock statement means basically that multithreaded programming is not possible in UnityScript.
    • There is also no workaround for constraints on type parameters which leads to a code duplications and harder to maintain code in UnityScript.
     
  24. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    Yeah, Unity needs to fix that one.
     
  25. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    In my opinion namespaces are a must for UnityScript as well. I am not sure whether it would make sense to implement lock statements or constraints on type parameters for UnityScript. I have no actual evidence for this, but I assume that people who use those kinds of advanced features tend to use C# anyways.
     
  26. LightStriker

    LightStriker

    Joined:
    Aug 3, 2013
    Posts:
    2,716
    That list isn't even complete, like the author said.

    In UT, enum are passed as int to an attribute constructor, which prevent UT support for some attributes in some of my packages. There's simply no way around, because the package needs a full enum to perform reflection on it and find its proper type.
     
  27. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    ... and now the list of things please that you miss because you use C# and not C++ :D

    Folks, seriously, i use Unity to make games, not to fulfill a language test checklist. And when you are firm enough to stumble across the mentioned issues, then it shouldn't be too hard for you to switch to C#. This stuff is pretty advanced.
     
    Last edited: Jul 16, 2014
  28. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    I only mentioned language features that I am using in Unity, it is not about a language checklist, it is about features that have a practical relevance, at least for me and several other developers.

    Translating a huge code base to another language is always painful, even if there are tools that may help you with the translation and all the broken MonoBehaviours in Unity. It is possible to translate just some parts of course, but then other issues related to compilation order may occur.

    It is absolutely okay to use UnityScript, just as the other languages. Every game that can be created in one of the languages, could be implemented with any of the others as well. But C# offers more options to find solutions e.g. to create maintainable code. It has many advantages if the software design matters.
     
  29. LightStriker

    LightStriker

    Joined:
    Aug 3, 2013
    Posts:
    2,716
    Wow... I think you missed the point... There's a FEATURE I cannot do in a language vs another. Not just some fancy sugar syntax.

    And frankly, the only thing I cannot do in C#, off the top of my head, are drivers.
     
  30. Thomas-Pasieka

    Thomas-Pasieka

    Moderator

    Joined:
    Sep 19, 2005
    Posts:
    2,174
    I am posting here to remind everybody to keep cool and to be polite. People have been fighting over which langue is better since the beginning of programming languages - maybe think about the TIME you spend here defending your point of view/stance. Could have been better spend on your game/work?
     
  31. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    8,738
    Besides the fact that I enjoy these sorts of discussions, I actually learned something in this thread - the link exigious provided was very informative.

    You're just going to ignore that this demolishes your previous position that the languages are on equal footing? Nevermind that reducing compilation time and available superior code completion are hardly features that only benefit advanced users. (And if my understanding of the uGUI message system is correct, multicast delegates are soon to become a "everyone should use this" sort of feature as well.)

    C# has more features for advanced users, as you have conceded. C# can do things US simply can't (I'd be interested to see a single instance of the reverse.)

    C# has a VASTLY wider selection of example code, thanks to resources like MSDN. You can't use general-purpose Javascript code you find online, because UnityScript isn't Javascript. But copy and paste a C# function and it's very likely to just work in Unity.

    With its better code assist, I would posit that C# (at least when you have an IDE with code completion, e.g. MonoDevelop or VS) is actually easier to learn than US.

    C# is used, unadulterated, in places besides Unity, unlike US. That means A) if you ever want to venture beyond game programming (if you need a day job to pay the bills, for example), you'll be able to parlay C# experience into many jobs. And B) you're more likely to find someone who knows C# that can provide help for whatever problems you're having. At least twice in my career, someone with no experience in Unity has joined a team and been productive on day one (specializing in the tangential parts of the game, like network and cloud connectivity), because they were able to use their C# experience - this will never be the case with US. This speaks to your other complaint about the "C# crusade". C# users are more likely to be professionals.

    US only has one objective strength: it's easier to learn when coming from ActionScript. If you're not coming from AS, I can't think of any reason anyone would choose to learn US over C#.


    ----

    And now that the "objective arguments" part of my post is complete, here's the personal stuff (I'll be happy to remove this bit and take it into PMs if this is desired): If this thread is representative of your personality, and your personality is representative of the group that uses US (and I'm not saying they are; see next paragraph), holy S*** that is a group I do not want to be a part of. You are doing a terrible, terrible disservice to your cause by your posts here, and are coming off as overly defensive and kind of crazy.... the kind of crazy that you generally only see when someone knows they are proven wrong and can't admit it. When presented with facts, you call "propaganda" and "lies". You brought the word "crusade" into this, but you're the one acting like a member of some cult, or a conspiracy theorist. I'm not saying this in anger. Even though it's personal in nature, I'm trying to be as respectful as possible when I say this: You should seriously take a step back and rethink your approach to this debate. If I were someone with no previous opinion on C# vs US, then the C# supporters' posts would have been pretty good at convincing me to go with C#, but when reading your posts, I would be absolutely certain to go with C#.

    *Lest the above paragraph be taken the wrong way, I am not saying that those things are in fact the case with the US community. Most US users are eager to learn and take criticism well, most are less defensive and crazy than shown in this thread, and I've seen both advanced and newbish people using it. The above paragraph is strictly about the impression of US users one would glean from this thread, which is... negative, to put it gently.
     
  32. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    Not really. We talk about stuff here that 99% of the Unity users doesn't even know that it exists. They make games. That's what matters. And they still can make the very same game with all three available languages.

    There are simply people who are not comfortable with C#, but comfortable with JS. Yes, i know, that's hard to understand for you. *Thinking is not your strong part it seems.

    *I couldn't resist to use the same polemic weapons like you here ;)

    Yeah, you can do calculators with it. Amazing stuff! You can do Calculating with it! Only problem: i want to create games. That's why i use Unity. I don't need calculators.

    ... for calculators. But i create games with Unity.

    In reality there are still more JS tutorials for Unity around. The general C# tutorials helps you nothing really. They don't explain you how to create a charactercontroller.

    Ah, NOW you are getting personal? Good to know :)

    You were very personal from your very first posting here. Just to remind, for you JS users are the dumb ones, having no money to buy Pro, JS users doesn't have to say anything to the thread anyways, and so on ...

    That's what triggered me, that's why i continued the discussion. Not the JS versus C# debate. There is no winner anyways.

    This "personal stuff" here is just one more try to discredit me to weaken my arguments and positions. Because your arguments doesn't help. Polemic at its worst. Trolling to be exact.

    And you still haven't understood that i don't even mind about that. I am perfectly fine with using C#. I don't advocate JS here, i advocate the freedom of choice. Of course, JS is also my choice. For having a choice you need minimum two things though.

    Even when JS would be the much much weaker language, which it isn't, it would still have a purpose. And be it just for the sake of escaping fanboys like you. Because when your way of thinking and acting is representative for C# users, then ... HOLY COW!
     
  33. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,500
    Do you see the irony here, Tiles? Your extreme defensiveness seems to be the very thing that's driven this thread down the course you so feared.

    Discussions like this should be an opportunity for people to learn about the pros and cons of different tools.

    How else are those 99% going to learn, especially if they stick to tools where the options we're talking about aren't even available?

    No, that really isn't what matters. I could also make the same game by sitting down with Notepad, a command line and a C++ compiler. It'd just take me several years longer.

    Pick the right tool for the job. To pick effectively, you must understand both the available tools you're picking from and the job that you are to perform. End of story.
     
  34. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,500
    If you know some C++, I'd suggest C# as I believe it to be the most similar of Unity's available languages. There's also plenty of documentation around to learn C#, since it's a primary language in both .NET and Mono and as a result is used in many, many other places and has a level of support commiserate to that.

    As I'm sure you can tell from the goings on in this thread, for simple stuff there's not going to be too much difference between the languages. One thing you might want to consider with UnityScript (or "JavaScript" - just keep in mind that, confusingly, the thing Unity calls "JavaScript" is not what the rest of the world calls "JavaScript") is that plenty of documentation for Unity uses it for examples. That trend is changing, but if you end up using those resources in the short term and aren't comfortable converting from one language to another it's worth knowing.
     
  35. peterdeghaim

    peterdeghaim

    Joined:
    Apr 10, 2014
    Posts:
    154
    c# cos you know c++
     
  36. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    Again, i don't fear anything. I am perfectly fine with somebody using C#. But he should use C# for the right reason. Because it fits for him. Not because a horde of C# nazis tells him to do so, telling him that he will burn in hell, and holding a gun at his head.

    When i listen to you folks then you cannot even rotate a cube with JS. Which is complete nonsense. I think even you have to admit that.

    Why should they need to learn it at all? It didn't matter for them until now. They did miss nothing. And they nevertheless reached their goal.

    Pros and cons yes. Talking JS down by Bashing, lying, yelling, insulting, telling the opponent having a mental disease etc. no. And i am so free to tell that then.

    And we talk about pros and cons here that doesn't matter for a newbie at all. Because they doesn't even matter for most advanced users.

    Those named pros and cons are of no interest for newbies. The fine differences, what you call pro and cons, doesn't matter for a long time when you are new to the story. As a beginner you already struggle to move a cube.

    Unity is a game engine. Not a ide for a special language. When you are new to it then you need to learn how to program. The language doesn't matter besides the fact that you better choose the one that you are more comfortable with.

    What you totally overlook is that nothing is written in stone. Learning JS does NOT mean you cannot learn C# anymore. More the opposite, you should be able pick it up much faster when you have programming background already. So when C# gives you a hard time, but JS doesn't, then JS is a perfect valid choice also from this angle of view.

    You could even mix both languages, and grab the best things of both worlds.

    And to note, there will not be much difference for most advanced stuff neither.
     
    Last edited: Jul 17, 2014
  37. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    And now the big surprise: i agree ;)
     
    peterdeghaim likes this.
  38. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,500
    You accuse us of discrediting and lying, then you turn around and say that?
     
  39. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    Angry that i use the same weapons of discrediting like you now?

    But you are right. I should have said "some". This statement was too general.
     
    Last edited: Jul 17, 2014
  40. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
    Wrong. You should have said "none" since noone has implied this. There differences between the languages and we discuss them here since they are important for SOME people. if they are not important for you you are fine with this as well as we. but you cannot demand that those things are unimportant for everyone else (especially not in this rough and agressive manner). So it should be possible to list the differences and discuss them without being called "nazis" or liars.
    You always state it does not matter what language you choose so act accordingly. you behave like it is the most important decision in the world for you.
     
  41. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,613
    …and thus I shall bring it to its inevitable conclusion...
     
    StarManta and peterdeghaim like this.
Thread Status:
Not open for further replies.