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

C#

58.1K
45.3K
+ 1
2.1K
JavaScript

361.4K
274.9K
+ 1
8.1K
PHP

144.4K
81.2K
+ 1
4.6K

C# vs JavaScript vs PHP: What are the differences?

Introduction

This markdown code provides a comparison of the key differences between C#, JavaScript, and PHP.

  1. Syntax and Structure: C# uses a curly braces syntax with a strong typing system, making it a statically typed language. JavaScript, on the other hand, uses a more flexible syntax with weak typing, making it a dynamically typed language. PHP, similar to JavaScript, uses a flexible syntax with weak typing.

  2. Platform Compatibility: C# is primarily used for building applications on the Microsoft .NET framework and is therefore more suitable for Windows platforms. JavaScript, on the other hand, is mainly used for web development and is supported by all major web browsers. PHP is a server-side scripting language that is specifically designed for web development and runs on various platforms with support for multiple web servers.

  3. Execution Environment: C# relies on a compiler that converts the source code into an intermediate language (IL) which is then executed by the Common Language Runtime (CLR). JavaScript, being a scripting language, is executed directly by the web browser's JavaScript engine. PHP, as a server-side scripting language, is executed on the web server before sending the generated HTML to the client's browser.

  4. Use Cases and Popularity: C# is commonly used for building Windows desktop applications, enterprise software, and backend systems due to its strong performance and support for object-oriented programming concepts. JavaScript is widely used for frontend web development, creating interactive user interfaces, and developing web applications. PHP is predominantly used for server-side web development, especially for dynamic websites and content management systems (CMS).

  5. Error Handling: C# employs a structured exception handling mechanism, allowing developers to catch and handle specific exceptions thrown during program execution. JavaScript uses both try-catch blocks for exception handling and provides error objects with information about the error occurrence. PHP, similar to JavaScript, employs try-catch blocks for exception handling, allowing developers to catch and handle specific errors.

  6. Type System: C# supports a static type system, which requires variables to have a predefined type that cannot be changed during runtime. JavaScript uses a dynamic type system, allowing variables to hold values of different types at different points in the code. PHP also uses a dynamic type system, where variables automatically convert to the appropriate type based on the context in which they are used.

In summary, C# and PHP are more suitable for backend development, while JavaScript is primarily used for frontend development. C# has a strong typing system and is mainly used on Windows platforms, while JavaScript and PHP have weak typing and are widely used for web development with JavaScript being more popular for frontend development.

Advice on C#, JavaScript, and PHP
Needs advice
on
CSS 3CSS 3JavaScriptJavaScript
and
ReactReact

Hi, I learned some skills like HTML & CSS and JavaScript. Now I am learning React but sometimes I feel that I'm not good enough in the skills that I learned before although I make projects by any skills I learned. Every moment I feel that I need to be perfect and I know it's a wrong feel. Now I try to know How can I determine that I have the basis of any skills that I learn I mean that When can I move from learning completing tutorials to learning according to my requirement.

See more
Replies (4)
Muhammad Waleed
Community and Content Operations at StackShare · | 14 upvotes · 89K views
Recommends
on
ReactReactTailwind CSSTailwind CSS

I admire your hard work for learning new technologies, but I would definitely recommend you to go out there, find internships and then learn by doing. There is not too much you can learn just from the tutorials, there are other important factors that you need to be a good programmer, you need to communicate, and do projects according to the liking of the client/project manager.

I would say it again, go out there and find internships to gain experience.

See more

Build a relatively more complicated project. Probably a solution for a problem you might facing rn. Take a few months to build it. Get yourself stuck in the bugs. Try to get outta that bugs. Don't worry about that imperfect feelings. Even senior devs go to Stackoverflow to seek help. And most importantly, finish the project, and don't give it up in the middle of the journey.

See more
Recommends
on
JavaScriptJavaScript

I think with anything related to personal development is about comfort zone management. Being too comfortable one can feel bored, too outside ones comfort zone one may feel out of their depth. I'm sure there's more to this down the rabbit hole of psychology. However I found learning about motivation and striking the right balance of extending myself has truly helped keep me pushing forward at a steady pace. In the end do projects that are motivate you whilst incorporating learning as you go. So pick a project that you know is possible, that you can achieve if you put the work and effort in, and that the outcome of it will be as you expect. I think even the perfectionist in you will find that satisfying.

See more
Jef Kalashnikov
Recommends

I was in your situation 6 months ago. I was well experienced in HTML, CSS, JS and NodeJS but wanted to learn React too.

What really got me going was doing one project for my customer. It was a good basis to learn React in a real environment and it got me rolling.

I can only advice you to do some REAL projects, not a a tutorial to-do list application of sorts: these won't teach you around hard stuff to handle as they are very controlled.

Go out there, create a real application for a business or as an intern somewhere. :)

See more
Sadie Flick
Needs advice
on
JavaJavaJavaScriptJavaScript
and
PythonPython

Generally speaking, what are the most important things you expect a junior developer to know and be able to do from day 1 in your respective tech stack? Firm grasp of OOP? SQL? MVC? ORM? Algorithms and Datastructures? Understanding CRUD & the request response cycle? Database design? framework familiarity? Postman? Deployment? TDD? Git? Language-specific knowledge? Other things?

See more
Replies (5)
Prashant Singh Ahluwalia
Head of Engineering - AIOps at Microsoft · | 13 upvotes · 294.8K views
Recommends
at

Start with building a solid understanding of computer science fundamentals. Understand the basics of building blocks - memory, processing, storage, networking. Understand what CPU bound, memory bound, I/O bound, network bound processes are. Understand the cost of accessing data from Memory vs. Disk vs Network. Understand how multiple CPU threads help in optimizing the performance of a single machine.

Build expertise on a programming language. You may pick any language of your choice. I would recommend starting with Java / Python. Make sure you know one language really well. Build a strong understanding of Data Structures and Algorithms. You should be able to develop an intuition on when to use what. You may practice DS and Algorithm problems, using the language of your choice, on a competitive coding platform (e.g. Leetcode) or by building your own App!

Next, get familiar with basic cloud computing and distributed system concepts. Here is a good resource for that - https://www.youtube.com/watch?v=p7NkTUyEE1o&ab_channel=JeffreyRichter If you understand the computer science fundamentals well, you will be able to apply those concepts here as well.

Hope it helps!

See more
Recommends

Ability to read code and willingness to try to reason flow of operations and information. Tools and technologies change, one doesn't need to have them in toolbelt from day one. All things you name are relevant in some contexts, so it's not bad to understand them.

See more
Luan Himmlisch
Recommends

Just learn to learn. Learn to search and develop your logical thinking, that's all you need. No books, no deep study of how computers work, just logic and willingness to learn

See more
Recommends

For me, it is less of a specific technology you know (although I would prefer you have some knowledge of some of my team stack). It is more the way you get into a problem, the eagerness to learn more, the true sincerity to say "I don't know", the open mind to find solutions in different ways and the "Yes we can" mentality no matter how hard it is.

See more
Recommends

Most employers don't expect from you to know how to implement CI/CD or any other funcy stuff. As junior developer you should focus on building a good toolset of good software practices & principles. Your soft skills are important as well. Learn about soft skills. Be eager to learn, be humble and show you talent and your creativity through your work. If you want to become a good developer ( at first) and a star engineer (at a later stage) then computer programming (coding) is your number one priority . Coding is like painting. Putting aside your talent, you have to practice a lot and improve your outcome each time. As junior developer you can learn how to write good code by studying existing code found in public git repositories (i e , github). As junior developer you should study some good software principles (i.e., DRY, KISS, YAGNI) and always recall them each time you write software code. As junior developer you should learn about coding standards and conventions. You will have to follow to your company's coding conventions (soon or later) as well as you will realize that you have to write code cosistent to the existing code base. At the end of the day, code consistency matters a lot. You have to improve your code day by day. If you manage to follow some good software practices you will find out that you will need an ORM to work with your database. Then you will realize that you need the X web framework to build your REST API etc. To sum up, you will start building a toolset with a single programming language and some good software practices & principles and then you will put new tools in it day-by-day.

See more
Youcef Benamare
Needs advice
on
C langC langC++C++
and
C#C#

include include int main(){ char name[10], pasword[10]; printf("enter you user name :"); gets(name); printf("enter your pasword : "); gets(pasword); printf("your name : %s \n your password : %s \n", name, pasword); if ( name != "youcef") { printf("name undefined\n"); } else { printf("finde name"); }

}

his not working

See more
Replies (2)
Richard Rios
Senior Software Engineer · | 5 upvotes · 154.1K views
Recommends
on
C langC lang

You will want to do a few things here. First, replace gets with fgets. Then, you're going to want to use strcmp from string.h to compare the input with the desired result. The code listed below has been updated with a working example with the previously mentioned recommendations. This isn't perfect and there are other ways to accomplish the same task. Explore other options that are available when you have a chance and see if you can improve on this example.

#include <stdio.h>
#include <string.h>

int main()
{ 
    char name[10], 
    pasword[10]; 

    printf("enter you user name :"); 

    // Use fgets as gets is insecure and can easily lead to buffer overflow exploits
    fgets(name, sizeof(char) * sizeof(name), stdin);

    // Remove \n from fgets stdin read with null character so as to not have to include
    // in strcmp later.
    name[strlen(name) - 1] = '\0';

    printf("enter your pasword : "); 
    fgets(pasword, sizeof(char) * sizeof(pasword), stdin);

    printf("your name : %s \n your password : %s \n", name, pasword);

    // If strcmp result > 0 || < 0 it's not a match
    if (strcmp(name, "youcef") != 0) 
    { 
        printf("name undefined\n"); 
    } 
    else 
    { 
        printf("finde name"); 
    }
}
See more
Recommends
on
C langC lang

Dear, Yusuf You can't use if statement to compare two strings, but you can use strcmp() function which means string compare The behavior of strcmp function is: If (string1 < string2)? Then: return a negative value. If (string1 > string2)? Then: return a positive value.

If(string1 == string2)? Then: return (0).

So, you can modify this statment to: if(strcmp(name,"Yousef") != 0) printf("name undefined\n");

else printf("find name");

But, In this case there is one logic problem that (strcmp) function don't ignore the letter case. For example: If you input name : yousef

The first letter here (y) is small, but in the comparing statement above is capital, So the result will be "name undefined", but in fact "yousef" = "Yousef".

To solve this problem you should use stracasecmp() function. This function ignore the letter case while comparing. The code will be: if(strcasecmp(name,"Yousef") != 0) printf("name undefined\n");

else printf("find name");

Attention: Include string libreary after using these functions to skip any problem may be found.

include

may Allah bless you ^_^

See more
Needs advice
on
JavaJavaJavaScriptJavaScript
and
PythonPython

I'm making my university community web service with a team. (6 members myself included)

And we decided to use JavaScript, HTML, CSS (for sure, it's the basic of websites) but couldn't decide for the back end part.

There are tons of languages, tools, etc., but I'm really new to programming, so I'd like to get some help to figure out what tools we need.

So my question is this: are there any good examples of web community services we can mimic the tools or get an insight from them?

See more
Replies (6)
Recommends
on
DjangoDjangoPythonPython

Since you're following Python, I would recomend using Django as your main back-end language. If you know Python it would be a great experience. Django is well documented on their official website: https://www.djangoproject.com/ I would also use React for front-end as well. Also this article is worth reading, I think progressive web app is something worth learning these days: https://web.dev/progressive-web-apps/ Hope that helps :)

See more

Since your team is already using JavaScript, there's a great number of examples for backend services written with NodeJS. I'd recommend using Firebase, or any backend as a service (you can use that term to find alternatives), for setting up your backend as it is much easier for newer people to understand and lets you focus on your core application logic, and not provisioning servers, databases, etc.

See more
anas mattar
Technical Lead at DPO International · | 2 upvotes · 245.1K views
Recommends
on
JavaScriptJavaScript

Since you're team is already using JavaScript, there are alot of examples and open source projects written with NodeJs, so I preffer this language in your backend application and also I am recommended using Mongo DB with It for saving data in it, and also for your frontend application I am recommanded using VueJs.

See more
Nash Nziramasanga
Software Developer at Billow Software · | 1 upvotes · 244.9K views

Since you are already using JavaScript on the front end it would be easy to adopt the MERN (MongoDB, Express, React, NodeJS) stack which s all javascript based making it easy to transfer knowledge with the backend and front end

See more
Jamal Abdinasir
Product manager at abdinasirjamal171@gmail.com · | 1 upvotes · 245.3K views
Recommends

Kindly I don't find any help that solve this mystery I need more help if it will happen

See more
Hüseyin Özkılıç
Senior Full-Stack Developer at RADSoft · | 1 upvotes · 244.9K views
Recommends
on
JavaScriptJavaScriptLaravelLaravel

Make it simple, most of projects doesnt need a AI, ML or big algorithms. If your project just serving end users take it to the web ready compatible. (Javascript, .Net, PHP Laravel)

See more
Needs advice
on
C++C++JavaScriptJavaScript
and
PythonPython

Hello, I am interested in learning how to program. I am a beginner, and many articles saying I should go with Python if I am new to programming. I considered Lua a long time ago, but for my career, I believe major programming languages should be better for me. I'm considering Python at this moment, but if you have other tools I should use, let me know.

See more
Replies (3)
Pat Fitzner
Recommends
on
PythonPython

Although Lua is a very simple,efficient, elegant and welcoming language, Python is extremely versatile. Therefore, if you want to get into programming without a defined direction, Python is the way to go. It has a lot of libraries, the ability to do anything and it is closer to other languages than Lua is (yeah I know about Lua and C, but from a learner's point of view, it makes sense). Additionally, Python will be a marketable skill, but I for one have not yet seen job offers for Lua devs.

See more
Recommends
on
C langC langC++C++C#C#JavaJava

The language you choose is also dependant on the type of career / area of programming you wish to focus on: Web Based and mobile applicaitons I would lean towards Java, PC Applications I tend to like C#, Embedded industry C, C++

See more
anas mattar
Technical Lead at DPO International · | 2 upvotes · 222.5K views
Recommends

my advice , you should answer me for this question, what do you like to work: web base or mobile native or cross platform. if you like web base you should choose PHP or ASP.net or Node.js or if you like mobile native you should decide Android or IOS platform and else if you like cross platfrom you should learn Flutter with dart language. thanks

See more
Needs advice
on
JavaJavaJavaScriptJavaScript
and
PHPPHP

Hi there. I'm looking to build an employee time tracker web app. This should also be optimized for mobile. I'm trying to figure out what the best stack is for this. I have knowledge of Java, JavaScript, some C#. I don't mind learning a new language for this purpose. Any help or advice would be really awesome! Thanks.

See more
Replies (6)
Stephen Gheysens
Lead Solutions Engineer at Inscribe · | 14 upvotes · 1.8M views
Recommends
on
JavaScriptJavaScript

Hi Otensia! I'd definitely recommend using the skills you've already got and building with JavaScript is a smart way to go these days. Most platform services have JavaScript/Node SDKs or NPM packages, many serverless platforms support Node in case you need to write any backend logic, and JavaScript is incredibly popular - meaning it will be easy to hire for, should you ever need to.

My advice would be "don't reinvent the wheel". If you already have a skill set that will work well to solve the problem at hand, and you don't need it for any other projects, don't spend the time jumping into a new language. If you're looking for an excuse to learn something new, it would be better to invest that time in learning a new platform/tool that compliments your knowledge of JavaScript. For this project, I might recommend using Netlify, Vercel, or Google Firebase to quickly and easily deploy your web app. If you need to add user authentication, there are great examples out there for Firebase Authentication, Auth0, or even Magic (a newcomer on the Auth scene, but very user friendly). All of these services work very well with a JavaScript-based application.

See more
Recommends
on
JavaScriptJavaScript

As you have knowledge of Javascript, I would go towards Vue/React in Frontend and Node (with suitable framework) with backend. From my point of view Java would be too bloated for suggested kind of an app. I myself use PHP as a backend a lot and React as frontend but moving thoughts towards full stack javascript world.

See more
Recommends
on
JavaScriptJavaScriptPHPPHP

php is the best for beginners, and one of the best for web development at all, all the host servers can handle it, a basic knowledge in java is not enough for build a web site, but a basic knowledge in php is enough. learn php basics and oop and mvc design pattern or any framework like Laravel (optional), and javascript for frontend (a framework like React or Angular is optional but good) and you will build any web site you want.

See more
pramod shirsath
Founder at Supra Software Solutions · | 4 upvotes · 241.3K views

We migrated from PHP to Angular/PHP to Angular/Node to React/Node/AWS Lambda. React/Node(Typescript)/Lambda seems to be good so far as we have developed few applications (large and small) using this stack so far. React/Node/Lambda is also good for mobile. If you are planning to use AWS, you can use the S3 bucket to store the frontend and Lambda or EC2 for backend APIs.

See more
pramod shirsath
Founder at Supra Software Solutions · | 2 upvotes · 241.3K views
Recommends

We migrated from PHP to Angular/PHP to Angular/Node to React/Node/AWS Lambda. React/Node(Typescript)/Lambda seems to be good so far as we have developed few applications (large and small) using this stack so far. React/Node/Lambda is also good for mobile. If you are planning to use AWS, you can use the S3 bucket to store the frontend and Lambda or EC2 for backend APIs.

See more
Brandon Miller
Recommends

For just a time tracker app? I'd recommend going with a cloud-based approach. A couple serverless functions in whatever language you choose, and the front end can be a static website hosted inside a storage service (blob for Azure, bucket for AWS, etc). This will ultimately probably save you a little time, and them a little money on hosting.

See more
piusha kalyana
Senior software engineer at Getir · | 13 upvotes · 380.2K views
Needs advice
on
GolangGolangPHPPHP
and
PythonPython

Hi

I want to build a tool to check asset availability (video, images, etc.) from third-party vendors. These vendors have APIs. However, this process should run daily basis and update the database with the status. This is a kind of separate process. I need to know what will be the good approach and technology for this?

See more
Replies (5)
Hannes Holst
at 365 Consulting Services Ltd. · | 7 upvotes · 379K views
Recommends
on
PythonPython

hi - I think this depends on how you want to provide the information to the user. If you want to build a Wordpress-plugin: PHP If you want to build your own website: Python+Django / PHP / JavaScript+Node.js As Desktop application?

See more
anas mattar
Technical Lead at DPO International · | 3 upvotes · 365.9K views
Recommends
on
PHPPHP

for what technologies you should use, this is depend on what technology do you prefer? your should think best structuing for your code because each API vendor has different to a nother one so it's better no merege code vendores together. your code must be using SOLID principle pattern and some design pattern such as Factory Pattern

See more
Recommends
on
GolangGolang

The major advantage of Go is that you can run queries in parallel. Fire off a Go thread for each vendor and each thread can check the availability of assets from a specific vendor and update the database. Go supports hundreds of threads with ease.

See more
anas mattar
Technical Lead at DPO International · | 1 upvotes · 362K views
Recommends
on
C#C#GolangGolangPHPPHP

your decision depend on what language do you know. if you know php you can use laravel framework

See more
Oluwafemi Lawrence
Recommends
on
GolangGolang

Hi, I would recommend Go because of strongly-typed nature which makes a developer more productive as it is less error prone compared to the other dynamic-typed language. Go also has cron-job library(powered by goroutines) that can help with your automated tasks.

See more
Needs advice
on
C#C#F#F#
and
KotlinKotlin

Hi there. I want to expand my coding toolset. So I want to learn a second backend language besides Kotlin. Kotlin is fantastic. I love it in every aspect, and I think I can never return to Java. And also why should I? It is 100% interoperable with java and can co-exist in every project.

So my question here is. Which language do you think will bring me more joy? I think F#; it is more like Kotlin. Then C# (it's more or like 100% java). But, let's say I learn F#. Is it 100% interoperable like Kotlin? can they live side by side? Can I, then, apply to .NET jr jobs after a while, for example, or is C# the holy cow? I would like to learn .Net.

If it is the worst and only C# is acceptable, then which language should I learn? Dart? Go?

See more
Replies (3)
Recommends
on
C#C#

animefanx1,

First let's get your questions sorted: Which language do you think will bring me more joy?

This you will have to decide for yourself, I am a long time C# developer and have seen it grow into a very compelling platform. The language and I'd compare it more to Kotlin than Java (by a long margin). More on .NET in a bit.

say I learn F#. Is it 100% interoperable like Kotlin?

You can have 100% interop with a caveat, your F# libraries have to implement certain guidance in order to be referenced from C#. Some (dare I say most) of the differences between F# and C# are predicated on language constructs that are not available in C#. For instance F# functions that return Unit.

can they live side by side?

Yes.

Can I, then, apply to .NET jr jobs after a while, for example, or is C# the holy cow?

I don't know if I take your meaning, but let me say this: Learning either C# or F# will likely force you to understand concepts such as garbage collection, primitive types, etc. which apply to all .NET languages, thus a lot of the effort you put into .NET is bound to pay off regardless of your choice.

If it is the worst and only C# is acceptable, then which language should I learn? Dart? Go? You can't go wrong with any of these and I venture to say whether you select C#, F#, Dart or Go as your next adventure, your willingness to learn will take you to try other languages, some which mey not even exist yet!

PS1: .NET is an end to end environment now. With the introduction of Blazor and Razor pages one does not need JavaScript or other browser scripting languages, it even interops with JavaScript. PS2. Microsoft is working on unifying .NET. Soon there will be only one version: .NET 5! Caveat: Some features such as WinForms will still be specific to the windows environment but all of those are likely things you don't need in Mac or Linux

See more
Recommends
on
C#C#KotlinKotlin

Exceptional decision to go with Kotlin. For the other story, go full with C#. "is C# the holy cow? Yes it is.". Specially now when netCore is crossplatform and you can build asp.net core applications on Windows, Linux and macOS via Visual Studio Code which is also multiplatform. Nothing will beat C# in the near future. Also, at the end of 2021 Microsoft will release Net 6.0 which will include MAUI.

"For those new to .NET MAUI (standing for .NET Multi-platform App UI), Microsoft says it's "the evolution of Xamarin.Forms extended from mobile to desktop scenarios with UI controls rebuilt from the ground up for performance and extensibility."

So, C# all the way sire!

See more
Recommends
on
GolangGolang

I think you can learn go instead C#. C# is cool, but Golang also cool. It can run on any OS without specific software. C# can run on linux too but it's only the .NET Core as I know. But golang is flexible. So try it and decide what do you think about Golang

See more
Needs advice
on
C#C#JavaScriptJavaScript
and
ReactReact

Hi Everyone,

I have some experience working with JavaScript and React and will now try to learn C# - could you please share some similarities and differences between JS and C# and what rookie mistakes I should watch out for when learning C#?

Also, any tips & good practices are greatly appreciated :)

Thank you

See more
Replies (4)
Pavel Kalugin
Software Engineer at Paralect · | 9 upvotes · 214.8K views

If you want to learn C# to write some backend code you can also check out Node.js which is basically JavaScript running outside the browser. You can create any kind of web servers, APIs, scrapers, automation scripts, etc using all the same JavaScript.

A good entry to Node is Express.js. It is the most common web framework for Node. It's well documented and there are a lot of educational materials for it.

See more
Hameed Moshood
Recommends
on
C#C#

C# is .net framework of a programming language specially different from the programming languages you're used to. If you learn C# you will be experienceed in coding with VIsual Basic .net and also creating web development using ASP and this ASP also include JavaScript function.... I urge you to learn it

See more
Kudos Beluga
Recommends
on
F#F#Node.jsNode.js

I prefer functional programming because it produces less buggy code (thus I recommend F#), and is simply better to learn this paradigm earlier on in your coding career rather than later. It can also do most stuff C# can do, namely code with .NET core. If you're going to learn .NET then you should learn Node.js+Express first though before doing web development with C#/F#

See more
Ross M.
System Architect at MomentFactory · | 2 upvotes · 196.7K views
Recommends
on
C#C#JavaScriptJavaScript

I think you can manage to find something about this topic. it's pretty popular one. ex: https://www.educba.com/c-sharp-vs-js/

Something I don't see discussed enough over the internet is the performance difference. I don't think you should worry about this. 95% of the time you won't notice the difference on your day to day projets. You will know what you need in terms of performance when you get there.

See more
Needs advice
on
HTML5HTML5csscss
and
PHPPHP

Hello,

I want to generate dynamic CSS for each user with an expiry link.

I've created a cloud-based tool (Example - https://www.tablesgenerator.com/) where people can create tables and use them on their website by pasting the HTML generated by the tool.

Now, there are a few styling options needed, which can be done using CSS. As of now, I'm asking the users to copy the CSS and paste it in the "Custom CSS" section, which is a bit hectic work as they need to change the CSS every time if I make any changes to the styling.

So, I'm just wondering if there's a way to generate dynamic CSS for each user with an expiry link.

Currently, I have around 200 users, and what's the best way to do it?

See more
Replies (2)
Grant Steuart
Recommends
on
csscss

Instead of having the user copy and paste the CSS directly, have them copy and paste the HTML that will include an external CSS file generated and hosted by your application. This will allow you to control when the stylesheet is updated as well as control privileges on who can request the file. Additionally, using a CDN service (e.g. Cloudflare) will allow you to cache the static assets being requested reducing overall server load.

When your server (and optionally CDN) no longer are serving the file, consider the link expired. Unique URLs can be generated using a multitude of methods but maybe consider if there is any benefit to the users if it follows the scheme: yourdomain.com/USERNAME/CUSTOM_NAME.css rather than something like: yourdomain.com/style/SOME-UNIQUE-HASH-1234.css

See more
Recommends
on
HTML5HTML5csscssPHPPHP

The best way, as usual, is a "it depends".

Still I would go to something as simple as storing the expire date+the generated css and other metadata in a table. If a user tries to access something that is expired than he's redirected to a specific page. Periodically (like once a day), a janitor process deletes the old data.

See more
Decisions about C#, JavaScript, and PHP
Olivier B Deland
Web Developer, Consultant at ConseilsWeb · | 13 upvotes · 140.2K views

Coming from a C/C++ background, I picked up PHP 20 years ago. Today, the language is still in constant evolution while still having a stable base. It powers all of my backend project. It is fast to prototype and get started, and is supported almost everywhere.

Python and Node.js do not provide anything that PHP cannot already offer, so there is no point for me to switch to those language. Mature framework like Laravel provides real ease and speed of development to kick-start any new web project, be it a simple API or a robust ERP running on server-less architecture. There are libraries available for machine learning, crypto, web3 and pretty much anything you can think of.

See more
Jacob M
Brand Director at NCINTEV · | 15 upvotes · 121.3K views

I’m well aware of the hate that php receives and some of it is well warranted. But the ease of implementation for so many features that I find myself needed on a daily basis is head and shoulders above what I could achieve with JavaScript on my backend. I can do more without the need of frameworks but I still have many options if I want that. Especially with database handling I find many of the complainants about php to be pure rhetoric.

See more

Python will be used in order to train machine learning models from our data. We chose python for this task because it is the most common language for machine learning. It has very performant libraries like numpy and scikit-learn that provide functionality for manipulating data and creating models that you cannot get in other languages like JavaScript and Java. Additionally, it is the most familiar language for us to use for machine learning because almost every machine learning course teaches ml using python.

See more

Javascript will be used for both our frontend and backend on the web service. JavaScript is ubiquitous as the language to use for the frontend. For the backend, we decided to create our server using JavaScript because of its easy setup; using Express we can create a server in just a few short lines of code. It is simple not only to run the server locally, but to host it as well because any major service will support the language. JavaScript is a simple language to code in and familiar among our team members, so using it will help speed up development. Using JavaScript allows us to use NodeJS and npm, so we can use packages to easily set up the server, connect to a database and other convenient utilities. We also considered Python for our server. It is also very simple to create a server in Python, especially using flask. However, the extra familiarity with the JavaScript language and the ease of using packages were enough for us to pick JavaScript as our language of choice.

See more

Python: The top language in machine learning area because of the various open-source libraries. Our company will rely on open-source libraries for development as well.

Amazon EC2: Training machine learning model needs to be running on independent 3rd party computing resources. AWS EC2 can provide a variety of virtual computing resources based on what users need.

React+Javascript: React is popular and everyone in the team is familiar with it. React is an open-source JavaScript library that is used for building user interfaces specifically for single-page applications.

ExpressJS: Everyone in the team has used expressJS for development. It can create server-side web applications faster and smarter.

Amazon RDS: relational database service and free to use

Postman: Tool for the team to test API endpoint.

Circle CI: is lightweight and open. Therefore for faster deployment jobs, one can execute their codes on CircleCI as it deploys on scalable and robust cloud servers.

Docker: Easily pack, ship, and run any application as a lightweight, portable, self-sufficient container, which can run virtually anywhere

Github+Git: Julian is from Github so no other choice for us 😎

Slack: Everyone likes it and it's free

See more

Python: Top one language in machine learning area because of the various open source libraries. Our company will rely on the open source libraries for development as well.

Amazon EC2: Training machine learning model needs to be ran on independent 3rd party computing resources. AWS EC2 can provide variety of virtual computing resources based on what users need.

React+Javascript: React is popular and everyone in the team is familiar with it. React is an open-source JavaScript library that is used for building user interfaces specifically for single-page applications.

ExpressJS: Everyone in the team has used expressJS for development. It can create server-side web applications faster and smarter.

Amazon RDS: relational database service and free to use

Postman: Tool for the team to test API end point.

Circle CI: is lightweight and open. Therefore for faster deployment jobs, one can execute their codes on CircleCI as it deploys on scalable and robust cloud servers.

Docker: Easily pack, ship, and run any application as a lightweight, portable, self-sufficient container, which can run virtually anywhere

Github+Git: Julian is from Github so no other choice for us 😎

Slack: Everyone likes it and it's free

See more

2 major challenges for which JS comes as a handy tool, 1st its integration with AWS SDK was at par as Python and .net and the solution comes to hand with the reverse proxy solutions for the application to be running as an instance taking the situation of inside organization demography of resources expertise over the technology.

See more
Gabor Galazzo

As a startup, we need the maximum flexibility and the ability to reach our customers in a more suitable way. So a hybrid application approach is the best because it allows you to develop a cross-platform application in a unique codebase. The choice behind Ionic is Angular, I think that angular is the best framework to develop a complex application that needs a lot of service interaction, its modularity forces you (the developer) to write the code in the correct way, so it can be maintainable and reusable.

See more
Alexandre Desroches
Founder & Developper at Finance D · | 71 upvotes · 376.4K views

I had a goal to create the simplest accounting software for Mac and Windows to help small businesses in Canada.

This led me to a long 2 years of exploration of the best language that could provide these features:

  • Great overall productivity
  • International wide-spread usage for long-term sustainability and easy to find documentation
  • Versatility for creating websites and desktop softwares
  • Enjoyable developper experience
  • Ability to create good looking modern UIs
  • Job openings with this language

I tried Python, Java, C# and C++ without finding what I was looking for.

When I discovered Javascript, I really knew it was the right language to use. Thinking of this today makes me realize even more how great a decision this has been to learn, use and master Javascript. It has been a fun, challenging and productive road on which I am still satisfied.

Obviously, when I refer to Javascript, it is not without implying the vast ecosystem around it. For me, JS is a whole universe in which almost every imaginable tools exist. It's awesome - for real. Thanks to all the contributors which have made it possible.

To be even clearer about how intense I am with Javascript, let's just say that my first passion was music. Until, I find coding with Javascript! Yep, I know!

So in conclusion, I chose Javascript because it is versatile, enjoyable, widely used, productive for both desktop softwares and websites with ability to create modern great looking user interfaces (assuming HTML and CSS are involved) and finally there are job openings.

See more
Leonardo Henrique da Paixão
Junior QA Tester at SolarMarket · | 11 upvotes · 113.6K views

Simple Customer Registration Crud, with the functions of Register, Delete, Edit and List new and old customers registered in the Database. PostgreSQL was used as DBMS, due to its easy use and practicality.

Crud de Cadastro a Clientes simples, com as funções de Registrar, Deletar, Editar e Listar novos e antigos clientes cadastrado no Banco de Dados. Foi utilizado como SGBD o PostgreSQL, pelo seu facil uso e praticidade.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of C#
Pros of JavaScript
Pros of PHP
  • 351
    Cool syntax
  • 293
    Great lambda support
  • 265
    Great generics support
  • 211
    Language integrated query (linq)
  • 180
    Extension methods
  • 94
    Automatic garbage collection
  • 89
    Properties with get/set methods
  • 84
    Backed by microsoft
  • 71
    Automatic memory management
  • 61
    Amaizing Crossplatform Support
  • 46
    High performance
  • 43
    LINQ
  • 38
    Beautiful
  • 35
    Great ecosystem of community packages with Nuget
  • 27
    Vibrant developer community
  • 24
    Great readability
  • 21
    Dead-simple asynchronous programming with async/await
  • 19
    Visual Studio - Great IDE
  • 17
    Open source
  • 16
    Productive
  • 15
    Strongly typed by default, dynamic typing when needed
  • 15
    Object oriented programming paradigm
  • 12
    Easy separation of config/application code
  • 11
    Great community
  • 10
    OOPS simplified with great syntax
  • 9
    Operator overloading
  • 9
    Cool
  • 8
    Good language to teach OO concepts
  • 8
    High-performance
  • 8
    Events management using delegates
  • 7
    Unity
  • 7
    Linq expressions
  • 6
    Conditional compilation
  • 6
    Coherent language backed by an extensive CLR
  • 5
    Top level code
  • 5
    Organized and clean
  • 5
    Comprehensive platform libraries
  • 4
    Concise syntax, productivity designed
  • 3
    Lovely
  • 2
    Statically typed
  • 1
    Far more sleek and sphisticated than other languages
  • 1
    Simple and Readable
  • 1
    Sophisticated overall
  • 1
    Interfaces
  • 0
    Interfaces
  • 1.7K
    Can be used on frontend/backend
  • 1.5K
    It's everywhere
  • 1.2K
    Lots of great frameworks
  • 898
    Fast
  • 746
    Light weight
  • 425
    Flexible
  • 392
    You can't get a device today that doesn't run js
  • 286
    Non-blocking i/o
  • 237
    Ubiquitousness
  • 191
    Expressive
  • 55
    Extended functionality to web pages
  • 49
    Relatively easy language
  • 46
    Executed on the client side
  • 30
    Relatively fast to the end user
  • 25
    Pure Javascript
  • 21
    Functional programming
  • 15
    Async
  • 13
    Full-stack
  • 12
    Future Language of The Web
  • 12
    Setup is easy
  • 12
    Its everywhere
  • 11
    Because I love functions
  • 11
    JavaScript is the New PHP
  • 10
    Like it or not, JS is part of the web standard
  • 9
    Easy
  • 9
    Can be used in backend, frontend and DB
  • 9
    Expansive community
  • 9
    Everyone use it
  • 8
    Easy to hire developers
  • 8
    Most Popular Language in the World
  • 8
    For the good parts
  • 8
    Can be used both as frontend and backend as well
  • 8
    No need to use PHP
  • 8
    Powerful
  • 7
    Evolution of C
  • 7
    Its fun and fast
  • 7
    It's fun
  • 7
    Nice
  • 7
    Versitile
  • 7
    Hard not to use
  • 7
    Popularized Class-Less Architecture & Lambdas
  • 7
    Agile, packages simple to use
  • 7
    Supports lambdas and closures
  • 7
    Love-hate relationship
  • 7
    Photoshop has 3 JS runtimes built in
  • 6
    1.6K Can be used on frontend/backend
  • 6
    Client side JS uses the visitors CPU to save Server Res
  • 6
    It let's me use Babel & Typescript
  • 6
    Easy to make something
  • 6
    Can be used on frontend/backend/Mobile/create PRO Ui
  • 5
    Client processing
  • 5
    What to add
  • 5
    Everywhere
  • 5
    Scope manipulation
  • 5
    Function expressions are useful for callbacks
  • 5
    Stockholm Syndrome
  • 5
    Promise relationship
  • 5
    Clojurescript
  • 4
    Only Programming language on browser
  • 4
    Because it is so simple and lightweight
  • 1
    Easy to learn and test
  • 1
    Easy to understand
  • 1
    Not the best
  • 1
    Subskill #4
  • 1
    Hard to learn
  • 1
    Test2
  • 1
    Test
  • 1
    Easy to learn
  • 0
    Hard 彤
  • 953
    Large community
  • 819
    Open source
  • 767
    Easy deployment
  • 487
    Great frameworks
  • 387
    The best glue on the web
  • 235
    Continual improvements
  • 185
    Good old web
  • 145
    Web foundation
  • 135
    Community packages
  • 125
    Tool support
  • 35
    Used by wordpress
  • 34
    Excellent documentation
  • 29
    Used by Facebook
  • 23
    Because of Symfony
  • 21
    Dynamic Language
  • 17
    Easy to learn
  • 17
    Cheap hosting
  • 15
    Very powerful web language
  • 14
    Awesome Language and easy to implement
  • 14
    Fast development
  • 14
    Because of Laravel
  • 13
    Composer
  • 12
    Flexibility, syntax, extensibility
  • 9
    Easiest deployment
  • 8
    Readable Code
  • 8
    Fast
  • 7
    Short development lead times
  • 7
    Most of the web uses it
  • 7
    Worst popularity quality ratio
  • 7
    Fastestest Time to Version 1.0 Deployments
  • 6
    Simple, flexible yet Scalable
  • 6
    Faster then ever
  • 5
    Open source and large community
  • 4
    Cheap to own
  • 4
    Has the best ecommerce(Magento,Prestashop,Opencart,etc)
  • 4
    Is like one zip of air
  • 4
    Open source and great framework
  • 4
    Large community, easy setup, easy deployment, framework
  • 4
    Easy to use and learn
  • 4
    Easy to learn, a big community, lot of frameworks
  • 4
    Great developer experience
  • 4
    I have no choice :(
  • 2
    Hard not to use
  • 2
    Walk away
  • 2
    Interpreted at the run time
  • 2
    FFI
  • 2
    Safe the planet
  • 2
    Used by STOMT
  • 2
    Fault tolerance
  • 2
    Great flexibility. From fast prototyping to large apps
  • 1
    Simplesaml
  • 1
    Bando
  • 1
    Secure
  • 1
    It can get you a lamborghini
  • 0
    Secure

Sign up to add or upvote prosMake informed product decisions

Cons of C#
Cons of JavaScript
Cons of PHP
  • 15
    Poor x-platform GUI support
  • 8
    Closed source
  • 7
    Fast and secure
  • 7
    Requires DllImportAttribute for getting stuff from unma
  • 22
    A constant moving target, too much churn
  • 20
    Horribly inconsistent
  • 15
    Javascript is the New PHP
  • 9
    No ability to monitor memory utilitization
  • 8
    Shows Zero output in case of ANY error
  • 7
    Thinks strange results are better than errors
  • 6
    Can be ugly
  • 3
    No GitHub
  • 2
    Slow
  • 0
    HORRIBLE DOCUMENTS, faulty code, repo has bugs
  • 22
    So easy to learn, good practices are hard to find
  • 16
    Inconsistent API
  • 8
    Fragmented community
  • 6
    Not secure
  • 3
    No routing system
  • 3
    Hard to debug
  • 2
    Old

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -
- 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 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.

What is PHP?

Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.

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

What companies use C#?
What companies use JavaScript?
What companies use PHP?

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

What tools integrate with C#?
What tools integrate with JavaScript?
What tools integrate with PHP?

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

Blog Posts

May 6 2020 at 6:34AM

Pinterest

JavaScriptC++Varnish+6
5
3490
JavaScriptGitHubReact+12
5
4205
Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
995
Oct 11 2019 at 2:36PM

LogRocket

JavaScriptReactAngularJS+8
5
2013
Oct 3 2019 at 7:13PM

Ably Realtime

JavaScriptPythonNode.js+8
5
3895
JavaScriptPythonPubNub+4
7
1587
What are some alternatives to C#, JavaScript, and PHP?
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!
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.
Golang
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
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