Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

C#
C#

9.4K
6.9K
+ 1
1.4K
TypeScript
TypeScript

10.3K
7.6K
+ 1
400
Add tool

C# vs TypeScript: What are the differences?

C#: Simple, general-purpose, object-oriented programming language for the .NET platform. C# (pronounced "See Sharp") is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages and will be immediately familiar to C, C++, Java, and JavaScript programmers; TypeScript: A superset of JavaScript that compiles to clean JavaScript output. TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.

C# and TypeScript are primarily classified as "Languages" and "Templating Languages & Extensions" tools respectively.

"Cool syntax", "Great lambda support" and "Great generics support" are the key factors why developers consider C#; whereas "More intuitive and type safe javascript", "Type safe" and "JavaScript superset" are the primary reasons why TypeScript is favored.

TypeScript is an open source tool with 50.5K GitHub stars and 6.98K GitHub forks. Here's a link to TypeScript's open source repository on GitHub.

Slack, Clever, and Repro are some of the popular companies that use TypeScript, whereas C# is used by Stack Exchange, PedidosYa, and Coderus. TypeScript has a broader approval, being mentioned in 954 company stacks & 1390 developers stacks; compared to C#, which is listed in 684 company stacks and 1118 developer stacks.

- No public GitHub repository available -

What is C#?

C# (pronounced "See Sharp") is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages and will be immediately familiar to C, C++, Java, and JavaScript programmers.

What is TypeScript?

TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose C#?
Why do developers choose TypeScript?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
    Jobs that mention C# and TypeScript as a desired skillset
    What companies use C#?
    What companies use TypeScript?

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with C#?
    What tools integrate with TypeScript?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to C# and TypeScript?
    PHP
    Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
    JavaScript
    JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
    Python
    Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
    Java
    Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
    HTML5
    HTML5 is a core technology markup language of the Internet used for structuring and presenting content for the World Wide Web. As of October 2014 this is the final and complete fifth revision of the HTML standard of the World Wide Web Consortium (W3C). The previous version, HTML 4, was standardised in 1997.
    See all alternatives
    Decisions about C# and TypeScript
    Yshay Yaacobi
    Yshay Yaacobi
    Software Engineer · | 27 upvotes · 212.3K views
    atSolutoSoluto
    Docker Swarm
    Docker Swarm
    Kubernetes
    Kubernetes
    Visual Studio Code
    Visual Studio Code
    Go
    Go
    TypeScript
    TypeScript
    JavaScript
    JavaScript
    C#
    C#
    F#
    F#
    .NET
    .NET

    Our first experience with .NET core was when we developed our OSS feature management platform - Tweek (https://github.com/soluto/tweek). We wanted to create a solution that is able to run anywhere (super important for OSS), has excellent performance characteristics and can fit in a multi-container architecture. We decided to implement our rule engine processor in F# , our main service was implemented in C# and other components were built using JavaScript / TypeScript and Go.

    Visual Studio Code worked really well for us as well, it worked well with all our polyglot services and the .Net core integration had great cross-platform developer experience (to be fair, F# was a bit trickier) - actually, each of our team members used a different OS (Ubuntu, macos, windows). Our production deployment ran for a time on Docker Swarm until we've decided to adopt Kubernetes with almost seamless migration process.

    After our positive experience of running .Net core workloads in containers and developing Tweek's .Net services on non-windows machines, C# had gained back some of its popularity (originally lost to Node.js), and other teams have been using it for developing microservices, k8s sidecars (like https://github.com/Soluto/airbag), cli tools, serverless functions and other projects...

    See more
    Omar Melendrez
    Omar Melendrez
    Front-end developer · | 3 upvotes · 4.2K views
    Python
    Python
    C#
    C#
    Node.js
    Node.js
    React
    React
    Vue.js
    Vue.js
    #Vscode
    #Fullstack

    I'm #Fullstack here and work with Vue.js, React and Node.js in some projects but also C# for other clients. Also started learning Python. And all this with just one tool!: #Vscode I have used Atom and Sublime Text in the past and they are very good too, but for me now is just vscode. I think the combination of vscode with the free available extensions that the community is creating makes a powerful tool and that's why vscode became the most popular IDE for software development. You can match it to your own needs in a couple of minutes. Did I mention you can style it your way? Amazing tool!

    See more
    React Native
    React Native
    Java
    Java
    Flow (JS)
    Flow (JS)
    TypeScript
    TypeScript

    I use TypeScript for Web Applications and for both frontend and backend because it has a lot of tooling around it and they really got the types and type safety right. Flow (JS) on the other hand lacks tooling and most of the times I scramble to find the right way of building my contracts in which TypeScript is very intuitive and natural. Additionally TypeScript is very similar to Java so your backend engineers and full stack engineers can work with it without much of context switch.

    The only time I think Flow shines is (based on probably my outdated knowledge) Flow is/was the only option if you want/wanted to build a React Native application mainly because React Native transpiler at the time I was working with it would only work with flow.

    See more
    Flow (JS)
    Flow (JS)
    TypeScript
    TypeScript

    I use TypeScript because it isn't just about validating the types I'm expecting to receive though that is a huge part of it too. Flow (JS) seems to be a type system only. TypeScript also allows you to use the latest features of JavaScript while also providing the type checking. To be fair to Flow (JS), I have not used it, but likely wouldn't have due to the additional features I get from TypeScript.

    See more
    David Koblas
    David Koblas
    VP Engineering at Payment Rails · | 9 upvotes · 6.5K views
    atPayment RailsPayment Rails
    TypeScript
    TypeScript
    Flow (JS)
    Flow (JS)
    JavaScript
    JavaScript

    We originally (in 2017) started rewriting our platform from JavaScript to Flow (JS) but found the library support for Flow was lacking. After switching gears to TypeScript we've never looked back. At this point we're finding that frontend and backend libraries are supporting TypeScript out of the box and where the support is missing that the commuity is typically got a solution in hand.

    See more
    Forrest Norvell
    Forrest Norvell
    engineering manager at self-employed · | 6 upvotes · 9.5K views
    Visual Studio Code
    Visual Studio Code
    Flow (JS)
    Flow (JS)
    ESLint
    ESLint
    TSLint
    TSLint
    TypeScript
    TypeScript

    I use TypeScript because the tooling is more mature (the decision to discontinue TSLint in favor of moving all its checks to ESLint is a thoughtful and mature decision), there's a ton of examples and tutorials for it, and it just generally seems to be where the industry is headed. Flow (JS) is a fine tool, but it just hasn't seen the uptake that TS has, and as a result is lacking a lot of the nicer small things, like thorough Visual Studio Code integration, offered by TS.

    See more
    Visual Studio Code
    Visual Studio Code
    Flow (JS)
    Flow (JS)
    TypeScript
    TypeScript

    We currently use TypeScript at work. Previously we used Flow (JS) but it was sometimes really difficult to make the types work the way you want. Especially non-trivial types were problematic. And the IDE support wasn't good, Flow took too much resources and sometimes remain stuck and do not show errors (I use Visual Studio Code). With TypeScript we almost do not have these problems. IDE support is superb, working with types is much easier and typing system seems more mature and powerful. There are some downsides (like partion inheritance etc.), but TS team is still pushing it forward. So for me TypeScript is clear winner.

    See more
    JavaScript
    JavaScript
    Flow (JS)
    Flow (JS)
    TypeScript
    TypeScript

    If you will start a project from scratch I recommend to use TypeScript. But, If you work with legacy projects written in JavaScript I recommend Flow (JS). Both tools have the same objective: reduce the bad code (which create illegible code, generate bugs e problems to maintenance). Flex helps you to avoid fall in bad codes, but TypeScript prevent you to c you to create bad codes. I believe cause this some JavaScript fans don't like TS, because TS block you to write some types o code. This is the fundamental difference between TS and Flow: Flow avoid problems, but no force. TS force you to prevent problems.

    See more
    .NET Core
    .NET Core
    React
    React
    AngularJS
    AngularJS
    TypeScript
    TypeScript

    I use TypeScript because it's adoption by many developers, it's supported by many companies, and it's growth. AngularJS, React, @ASP.NET Core. I started using it in .NET Core, then for a job. Later I added more Angular experience and wrote more React software. It makes your code easier to understand and read... which means it makes other people's code easier to understand and read.

    See more
    TypeScript
    TypeScript

    I use TypeScript because:

    • incredible developer tooling and community support
    • actively developed and supported by Microsoft (yes, I like Microsoft) ;)
    • easier to make sense of a TS codebase because the annotations provide so much more context than plain JS
    • refactors become easier (VSCode has superb support for TS)

    I've switched back and forth between TS and Flow and decided a year ago to abandon Flow completely in favor of TS. I don't want to bash Flow, however, my main grievances are very poor tooling (editor integration leaves much to be desired), a slower release cycle, and subpar docs and community support.

    See more
    Nicholas Rogoff
    Nicholas Rogoff
    at Avanade UK Ltd. · | 7 upvotes · 53K views
    atNHS Digital (NHS.UK)NHS Digital (NHS.UK)
    Visual Studio
    Visual Studio
    Visual Studio Code
    Visual Studio Code
    Newman
    Newman
    Postman
    Postman
    Azure DevOps
    Azure DevOps
    Git
    Git
    jQuery
    jQuery
    JavaScript
    JavaScript
    Microsoft SQL Server
    Microsoft SQL Server
    C#
    C#
    .NET Core
    .NET Core

    Secure Membership Web API backed by SQL Server. This is the backing API to store additional profile and complex membership metadata outside of an Azure AD B2C provider. The front-end using the Azure AD B2C to allow 3rd party trusted identity providers to authenticate. This API provides a way to add and manage more complex permission structures than can easily be maintained in Azure AD.

    We have .Net developers and an Azure infrastructure environment using server-less functions, logic apps and SaaS where ever possible. For this service I opted to keep it as a classic WebAPI project and deployed to AppService.

    • Trusted Authentication Provider: @AzureActiveDirectoryB2C
    • Frameworks: .NET Core
    • Language: C# , Microsoft SQL Server , JavaScript
    • IDEs: Visual Studio Code , Visual Studio
    • Libraries: jQuery @EntityFramework, @AutoMapper, @FeatureToggle , @Swashbuckle
    • Database: @SqlAzure
    • Source Control: Git
    • Build and Release Pipelines: Azure DevOps
    • Test tools: Postman , Newman
    • Test framework: @nUnit, @moq
    • Infrastructure: @AzureAppService, @AzureAPIManagement
    See more
    Gustavo Muñoz
    Gustavo Muñoz
    Web UI Developer at Globant · | 2 upvotes · 5K views
    CoffeeScript
    CoffeeScript
    JavaScript
    JavaScript
    Flow (JS)
    Flow (JS)
    React
    React
    TypeScript
    TypeScript
    Angular 2
    Angular 2
    #ECMA
    #Angular

    Long ago when Angular 2 evolved I had to decide between the new #Angular and TypeScript or React. I really love typing my code, but forced to use TypeScript was a bit too much. I prefer the new #ECMA standard and the evolution of the old and reliable JavaScript. So finding Flow (JS) was an incredible milestone in my career as a developer. Finally, I could use types in my code, and JavaScript with the new standard. I already had the experience of CoffeeScript, so TypeScript was not an option.

    See more
    Flow (JS)
    Flow (JS)
    JavaScript
    JavaScript
    CoffeeScript
    CoffeeScript
    TypeScript
    TypeScript

    From a StackShare community member: "We are looking to rewrite our outdated front-end with TypeScript. Right now we have a mix of CoffeeScript and vanilla JavaScript. I have read that adopting TypeScript can help enforce better code quality, and best practices. I also heard good things about Flow (JS). Which one would you recommend and why?"

    See more
    Jason Barry
    Jason Barry
    Cofounder at FeaturePeek · | 4 upvotes · 9K views
    atFeaturePeekFeaturePeek
    npm
    npm
    Yarn
    Yarn
    Babel
    Babel
    Sublime Text
    Sublime Text
    JavaScript
    JavaScript
    React
    React
    TypeScript
    TypeScript
    Flow (JS)
    Flow (JS)
    #Frontend

    I think our #Frontend stack is pretty standard – but we have taken some deviations from a typical modern stack:

    • Flow (JS) instead of TypeScript. Flow was an easy choice 2+ years ago, as both flow and React were (and still are) maintained by Facebook. Today, it seems that the JavaScript community has settled on TypeScript as the winner. For new projects, I'd choose TS, but I don't see the point in migrating an existing project from flowtype to TS, when the end result will be roughly the same. Sure, memory usage is a bit high, and every now and then I have to kill some zombie processes, but our text editors (Sublime Text), CI scripts, and Babel are already set up to take advantage of the type safety that flow offers. When/if the React team writes React itself in TS, then I'll take a closer look – until then, flow works for us.

    • Yarn instead of npm. When yarn debuted, we never looked back. Now npm has pretty much caught up with speed and lockfiles, but yarn gives me confidence that my dependency installs are deterministic. Really interested in the plug-n-play (PnP) feature that removes the need for a node_modules folder, but haven't implemented this yet.

    See more
    Visual Studio
    Visual Studio
    Java
    Java
    C#
    C#

    I use C# because of the ease of designing user interfaces compared to Java. Using Visual Studio makes C# a breeze for prototyping and creating apps and I really appreciate how quickly I can turn an idea into reality. I was first introduced to C# in a special topics course and quickly started preferring it over Java. The similarities between the two made the switch easy while the added benefits C# offers made it very worth it.

    See more
    Interest over time
    Reviews of C# and TypeScript
    Avatar of lpellegr
    Noticeable
    Review ofTypeScriptTypeScript

    Typed JavaScript is just fantastic for medium to large size projects. The type system is well thought and compatible with standard JavaScript. Almost any new Javascript-based development should use TypeScript to save time and prevent technical debt over time.

    How developers use C# and TypeScript
    Avatar of NewCraft
    NewCraft uses TypeScriptTypeScript

    Typescript has been a win because, in general, it makes codebase maintenance less brittle. It's significantly easier to refactor in TS than JS, which encourages incremental improvements, file re-organizing, etc. Our developers are happier with the overall development experience.

    The downside is that TS sometimes exacerbates problems caused by Node's fragmented ecosystem. Sometimes @types/ don't work, other times types are outdated. This can lead to problems with newly-installed libraries.

    If your project is big enough, I'd say TS is nearly always worth it, but it can make selecting libraries a pain.

    Avatar of Arbor Health, LLC
    Arbor Health, LLC uses C#C#

    C# is the most productive production language - it exposes a lot of functional conveniences along with the robustness of strong typing. And they're finally embracing the open source community - a huge plus.

    #Language Features We use the basic syntax (for, foreach, if,while) and object oriented constructs (classes, very simple inheritance).

    We also use lambdas and block methods extensively, an intermediate level programming construct, but in a very formulaic and predictable way.

    Avatar of Matt Welke
    Matt Welke uses TypeScriptTypeScript

    Used for Node.js personal projects that I think will have a longer lifetime than others, or that are combined with a web front end component like Angular (to share types).

    Generally a poor developer experience. Usage decreasing recently compared to other preferred programming languages/platforms.

    Avatar of Marc3842h
    Marc3842h uses TypeScriptTypeScript

    TypeScript is used in Kuro (https://github.com/Marc3842h/kuro).

    Kuro is the browser facing portion of shiro. Typescript is the language in which the web server and the frontend scripts are written in. They later get compiled down to vanilla JavaScript.

    Avatar of Promethean TV
    Promethean TV uses C#C#

    PrometheanTV has used .NET and C# for several back-end applications and services including the Morphic Video Task System utilized to stream video assets to a variety of video delivery platforms including, Akamai, Brightcove, and others.

    Avatar of Jonathan Bro
    Jonathan Bro uses C#C#

    Unity3d builds the app and scripts are written in C#. It receives first class support from the Unity3d developer and most plugins exist in C# in comparison to Javascript (the other supported scripting language)

    Avatar of John Harris
    John Harris uses TypeScriptTypeScript

    Excellent design-time type checking and the ability for the Typescript compiler to attach typing information to metadata at compile time allows for relatively simple type checking at run-time as well.

    Avatar of Carbonmade
    Carbonmade uses C#C#

    The main Carbonmade backend / API is written in C# and is ready to run on the CLR. We currently host on Windows but are preparing to migrate to Linux when the CoreCLR stabilizes.

    Avatar of Blood Bot
    Blood Bot uses TypeScriptTypeScript

    We, our team can sleep comfortable at night know "x is undefined" will not occur in production. It's also really helpful as IDE help in code completion when they know types.

    Avatar of Andrew Miller
    Andrew Miller uses C#C#

    C# is the industry standard for Microsoft developers. It has a lot of syntactical similarities to Java & JavaScript. New releases integrate cutting-edge features.

    How much does C# cost?
    How much does TypeScript cost?
    Pricing unavailable
    Pricing unavailable