• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:

  • You are not logged in. If you are already registered, fill in the form below to log in, or follow the "Sign Up" link to register a new account.
  • You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
  • If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.

Previously on "C# for new projects? Wise choice in the new cloud world?"

Collapse

  • RasputinDude
    replied
    Originally posted by mogga71 View Post

    'Just choose the most appropriate language for the task in-front of you'.....unfortunately that is not really an option for most Companies. At my clients place for example, the majority of devs are either Java (mostly) or Python ... and they are virtually all permies. So there is no chance management are going to say 'Go would be awesome for this ... let's build it with Go'. They are not going to cross train their devs for a 6 month Go project .. instead they will write it in Java / Python (or in our case c# going forward.)
    The problem for most companies is bigger than "what language to we write it in?" though, isn't it? If you have an existing team of developers that are skilled in Java or Python AND that understand the business domain then I would suggest that what is most appropriate as a language would be Java or Python. Why is that a problem? Why is that they are virtually all permies a problem? If you are starting something from scratch, completely new. No pre-existing systems, dependencies, team members, domain knowledge etc, then maybe you can say "we're using Go" but those opportunities are vanishingly rare.

    Originally posted by mogga71 View Post
    When you say, there are a massive number of windows servers out there ... yeah I know that .. I helped to build some of the apps on them. When you say c# is not going anywhere .. I know that too. Again, I helped to build some of them. What I was asking is 'does it make any sense to choose c# for brand new projects that are intended to run on AWS and/or GCP'. I personally don't think it does.
    No, it doesn't. Of course. But I'm sure that there's some edge case out there where it does make sense in someone's head.

    Originally posted by mogga71 View Post
    As far as I can gather, the reason our management have decided to go with c# is because the current head of Dev for our Dept (based in another country) has experience in c#.
    And there's the real answer to "why". For sure.



    Leave a comment:


  • minestrone
    replied
    The wild west 90s when financials would order their army of Cobol devs to read Head First Java over the weekend as they were retooling and needed to deliver an online banking system in 4 months.

    Those were special days.

    Leave a comment:


  • d000hg
    replied
    Originally posted by eek View Post

    My 1 comment for that is if your team are Java devs and there are reasons why you may wish to change language (for Java is owned by Oracle and well it's Oracle) then C# may be a good compromise language that would be easier for people to learn than say python....

    But yep - for most companies use the language your staff know even if it is vb.net
    But then also have a long-term strategy to modernise... without rushing into the decision based on a single project

    Leave a comment:


  • eek
    replied
    Originally posted by d000hg View Post
    If all your team are Java devs, Java is clearly the most appropriate language for the task. That's a big part of what "most appropriate" means.
    My 1 comment for that is if your team are Java devs and there are reasons why you may wish to change language (for Java is owned by Oracle and well it's Oracle) then C# may be a good compromise language that would be easier for people to learn than say python....

    But yep - for most companies use the language your staff know even if it is vb.net

    Leave a comment:


  • d000hg
    replied
    Originally posted by mogga71 View Post

    'Just choose the most appropriate language for the task in-front of you'.....unfortunately that is not really an option for most Companies. At my clients place for example, the majority of devs are either Java (mostly) or Python ... and they are virtually all permies. So there is no chance management are going to say 'Go would be awesome for this ... let's build it with Go'. They are not going to cross train their devs for a 6 month Go project .. instead they will write it in Java / Python (or in our case c# going forward.)
    If all your team are Java devs, Java is clearly the most appropriate language for the task. That's a big part of what "most appropriate" means.

    Leave a comment:


  • eek
    replied
    Originally posted by DevUK View Post
    If I had to take a stab at answering an incredibly vague question I would say yes, C# is a wise choice - especially when MAUI's (properly) rolled out.

    That said, this is vague - it's like me saying "is a screwdriver the best tool for a job I need to do" without specifying any details of the job. I'm a C# dev, but I'm aware it's not always the most appropriate fit for everything.
    There is a similar question regarding - what cloud* should we use. To which the answer is the one you are already using as your staff will need to learn stuff to support the change and chances are they will simply up sticks and go somewhere else that that cloud is still being used.

    * for cloud I mean AWS or Azure. No one sane is going to use the other options....

    Leave a comment:


  • DevUK
    replied
    If I had to take a stab at answering an incredibly vague question I would say yes, C# is a wise choice - especially when MAUI's (properly) rolled out.

    That said, this is vague - it's like me saying "is a screwdriver the best tool for a job I need to do" without specifying any details of the job. I'm a C# dev, but I'm aware it's not always the most appropriate fit for everything.

    Leave a comment:


  • eek
    replied
    Originally posted by mogga71 View Post



    As far as I can gather, the reason our management have decided to go with c# is because the current head of Dev for our Dept (based in another country) has experience in c#.
    There is your answer

    Leave a comment:


  • ladymuck
    replied
    The beauty of building something in a language the permies don't have experience of is repeat business for tweaks and updates. If you do a good enough job of selling what you think is the most appropriate language for the job you could be in line to sign them up to a support contract too...

    Leave a comment:


  • mogga71
    replied
    Originally posted by RasputinDude View Post
    I have never understood these types of discussion. Just choose the most appropriate language for the task in-front of you. C# is actually pretty good. It is well maintained, tried and tested and well integrated with a major operating system. 5 minutes googling shows that around 25% of servers serving the internet are windows. That is a massive number of windows servers. Why wouldn't you choose a programming language created by the same vendor as your OS?

    C# isn't going anywhere. If you want to write desktop app (and yes, even now people use desktop apps), what is there better for your solution?

    My current project is implemented all in GO. It works for us, tiny docker containers or lambda functions. But that was a decision made on an evaluation of what we were doing. If we were doing something integrating MS Exchange or their AD federation for example, why would I not use C#?
    'Just choose the most appropriate language for the task in-front of you'.....unfortunately that is not really an option for most Companies. At my clients place for example, the majority of devs are either Java (mostly) or Python ... and they are virtually all permies. So there is no chance management are going to say 'Go would be awesome for this ... let's build it with Go'. They are not going to cross train their devs for a 6 month Go project .. instead they will write it in Java / Python (or in our case c# going forward.)

    When you say, there are a massive number of windows servers out there ... yeah I know that .. I helped to build some of the apps on them. When you say c# is not going anywhere .. I know that too. Again, I helped to build some of them. What I was asking is 'does it make any sense to choose c# for brand new projects that are intended to run on AWS and/or GCP'. I personally don't think it does.

    As far as I can gather, the reason our management have decided to go with c# is because the current head of Dev for our Dept (based in another country) has experience in c#.

    Leave a comment:


  • eek
    replied
    Originally posted by _V_ View Post

    The thing is all managed services in AWS run on Linux only. Yes you can run AWS Lambda using .Net core on Linux, but the results of running .Net on Windows isn't always the same as running .Net on Linux. For example, all locale names and codes are different between the OS.

    C# is a 2nd class citizen to AWS managed cloud services.

    If the primary goal is a fully managed AWS solution, C# and .Net core are not the best fit.

    Python is probably the best language for 100% AWS solutions.
    But if you look at azure C# is probably the best choice and python 3rd after all the various Javascript implementations.

    Leave a comment:


  • _V_
    replied
    Originally posted by RasputinDude View Post
    I have never understood these types of discussion. Just choose the most appropriate language for the task in-front of you. C# is actually pretty good. It is well maintained, tried and tested and well integrated with a major operating system. 5 minutes googling shows that around 25% of servers serving the internet are windows. That is a massive number of windows servers. Why wouldn't you choose a programming language created by the same vendor as your OS?

    C# isn't going anywhere. If you want to write desktop app (and yes, even now people use desktop apps), what is there better for your solution?

    My current project is implemented all in GO. It works for us, tiny docker containers or lambda functions. But that was a decision made on an evaluation of what we were doing. If we were doing something integrating MS Exchange or their AD federation for example, why would I not use C#?
    The thing is all managed services in AWS run on Linux only. Yes you can run AWS Lambda using .Net core on Linux, but the results of running .Net on Windows isn't always the same as running .Net on Linux. For example, all locale names and codes are different between the OS.

    C# is a 2nd class citizen to AWS managed cloud services.

    If the primary goal is a fully managed AWS solution, C# and .Net core are not the best fit.

    Python is probably the best language for 100% AWS solutions.

    Leave a comment:


  • RasputinDude
    replied
    I have never understood these types of discussion. Just choose the most appropriate language for the task in-front of you. C# is actually pretty good. It is well maintained, tried and tested and well integrated with a major operating system. 5 minutes googling shows that around 25% of servers serving the internet are windows. That is a massive number of windows servers. Why wouldn't you choose a programming language created by the same vendor as your OS?

    C# isn't going anywhere. If you want to write desktop app (and yes, even now people use desktop apps), what is there better for your solution?

    My current project is implemented all in GO. It works for us, tiny docker containers or lambda functions. But that was a decision made on an evaluation of what we were doing. If we were doing something integrating MS Exchange or their AD federation for example, why would I not use C#?

    Leave a comment:


  • mogga71
    replied
    Originally posted by eek View Post

    Python will still be around - but it's Python and given that it believes white space is for anything beyond layout - I avoid it like the plague.

    All the OP is really doing here is looking for a reason to pick his pet language rather than another person's favourite - but c# has a lot of buy in from firms because well it's been around a long time and doesn't have the this weeks framework is xyz that Javascript / Node is prone to.
    LOL ... Not really eek ... my pet language is GO. I actually rather like c# but my major concern is it's place in an increasingly Unix based server environment.

    Leave a comment:


  • Lance
    replied
    Originally posted by vwdan View Post

    God, I hate Python so much.
    even Microsoft are pushing it as a cloud scripting language.

    Leave a comment:

Working...
X