Get Advice Icon

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

C#
C#

9.4K
6.9K
+ 1
1.4K
Lua
Lua

518
258
+ 1
63
Add tool

C# vs Lua: 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; Lua: Powerful, fast, lightweight, embeddable scripting language. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.

C# and Lua can be categorized as "Languages" tools.

"Cool syntax" is the top reason why over 280 developers like C#, while over 19 developers mention "Fast learning curve" as the leading cause for choosing Lua.

Lua is an open source tool with 1.26K GitHub stars and 437 GitHub forks. Here's a link to Lua's open source repository on GitHub.

Stack Exchange, PedidosYa, and Coderus are some of the popular companies that use C#, whereas Lua is used by Shopify, Close, and Thumbtack. C# has a broader approval, being mentioned in 684 company stacks & 1118 developers stacks; compared to Lua, which is listed in 55 company stacks and 22 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 Lua?

Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.
Get Advice Icon

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

Why do developers choose C#?
Why do developers choose Lua?

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

    Be the first to leave a con
    What companies use C#?
    What companies use Lua?

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

    What tools integrate with C#?
    What tools integrate with Lua?

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

    What are some alternatives to C# and Lua?
    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 Lua
    StackShare Editors
    StackShare Editors
    Rust
    Rust
    Lua
    Lua

    To handle its growing observability needs, Postmates created and open sourced Cernan, a telemetry and logging aggregation server. Ceran is built on Rust and Lua, and can ingest data from many sources and then push or exposes what it’s collected to many destinations, or “sinks.” It can also create or manipulate in-flight data with programmable Lua filters.

    See more
    Yshay Yaacobi
    Yshay Yaacobi
    Software Engineer · | 27 upvotes · 211.9K 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
    Kubernetes
    Kubernetes
    Docker
    Docker
    C#
    C#
    F#
    F#
    .NET
    .NET

    I've used .NET for many years, but only in recent years, after Microsoft introduced .NET Core, I've found a new love and excitement for the technology again. The main driver for us using .NET Core is not that it is cross platform compatible, open source or blazingly fast (which it is!), but the fact that we can use (what we consider) the best programming languages (mainly F# and C#) to carry out our jobs without sacrificing the other benefits.

    Today we run most of our web infrastructure on .NET Core in Docker containers, deployed into a Kubernetes cluster which spans across multiple time zones in the Google Cloud and we couldn't be happier. Due to the portability of the .NET Core platform we are even able to develop many new services as serverless functions with F# which has become an absolute game changer.

    See more
    Conor Myhrvold
    Conor Myhrvold
    Tech Brand Mgr, Office of CTO at Uber · | 13 upvotes · 650K views
    atUber TechnologiesUber Technologies
    Apache Spark
    Apache Spark
    C#
    C#
    OpenShift
    OpenShift
    JavaScript
    JavaScript
    Kubernetes
    Kubernetes
    C++
    C++
    Go
    Go
    Node.js
    Node.js
    Java
    Java
    Python
    Python
    Jaeger
    Jaeger

    How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

    Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

    Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

    https://eng.uber.com/distributed-tracing/

    (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

    Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

    See more
    Go
    Go
    Lua
    Lua
    OpenResty
    OpenResty
    nginx
    nginx
    Logstash
    Logstash
    Prometheus
    Prometheus

    At Kong while building an internal tool, we struggled to route metrics to Prometheus and logs to Logstash without incurring too much latency in our metrics collection.

    We replaced nginx with OpenResty on the edge of our tool which allowed us to use the lua-nginx-module to run Lua code that captures metrics and records telemetry data during every request’s log phase. Our code then pushes the metrics to a local aggregator process (written in Go) which in turn exposes them in Prometheus Exposition Format for consumption by Prometheus. This solution reduced the number of components we needed to maintain and is fast thanks to NGINX and LuaJIT.

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

    I use C# because it is incredibly clear and easy to use. The documentation is second to none, being a Microsoft product, and if you just want something that works without exploring a million frameworks and libraries you can pretty much start a C# website and have it running in an hour. C# is basically, in my opinion, a cleaner and easier to use Java. My experience is limited to web design, however. It might come down to personal opinion but I wouldn't even know where to start writing a java back end website but visual studio makes it very easy to write it in C#. If you are new to full stack development I can't recommend Visual Studio enough. It does, however, hide away a lot of abstraction that programmers much more clever than me use to make really interesting websites and server setups. C# will do everything you need to create any website you can imagine, though.

    Before I end my rant about how much I love this language I'd like to reiterate how easy it is to figure out problems you encounter. I was stuck on how to store a path string in a database and found the solution by browsing the documentation for 2 minutes, which included examples. Every ASP element is clearly and wonderfully documented.

    See more
    C#
    C#
    Java
    Java
    JavaScript
    JavaScript
    ClojureScript
    ClojureScript
    Clojure
    Clojure

    I adopted Clojure and ClojureScript because:

    • it's 1 language, multiple platforms.
    • Simple syntax.
    • Designed to avoid unwanted side effects and bugs.
    • Immutable data-structures.
    • Compact code, very expressive.
    • Source code is data.
    • It has super-flexible macro.
    • Has metadata.
    • Interoperability with JavaScript, Java and C#.
    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
    Nicholas Rogoff
    Nicholas Rogoff
    at Avanade UK Ltd. · | 7 upvotes · 52.8K 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
    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 Lua
    No reviews found
    How developers use C# and Lua
    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 papaver
    papaver uses LuaLua

    used lua as gameplay glue while at insomniac. one my favorite wins was integrating table support. it took walking the source code in a debugger to figure it out, still remember being at work at 3am when i got it working finally. (no google back then to make such things simple.)

    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 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 Sine Wave Entertainment
    Sine Wave Entertainment uses LuaLua

    We use Lua as our primary scripting language for third party developers - it's fast, the runtime can be quite small and fits into everywhere it needs to go - from mobile to web.

    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.

    Avatar of micro systems
    micro systems uses LuaLua

    Lua is used as the programming language for all extensions and the main business logic.

    Avatar of Dick Cocker
    Dick Cocker uses LuaLua

    Used for hashing client IP in Nginx

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