Need advice about which tool to choose?Ask the StackShare community!
C# vs PHP: What are the differences?
Key Differences between C# and PHP
C# and PHP are both popular programming languages used for web development, but they have several key differences.
Syntax: C# and PHP have different syntax styles. C# is a statically-typed language, meaning you have to declare the variable type explicitly, while PHP is a dynamically-typed language, where the variable types are automatically determined. This can affect the clarity and readability of the code.
Performance: C# is generally considered to be faster and more efficient than PHP. C# is compiled into bytecode and executed by the .NET runtime, which allows for better optimization. PHP, on the other hand, is interpreted at runtime, which can result in slower execution speed.
Platform Dependence: C# is primarily used for developing applications on the Windows platform, while PHP is platform-independent and widely used for web development on various operating systems. This means that C# applications may not run on non-Windows systems without additional tools.
Language Features: C# is a feature-rich language with strong support for object-oriented programming, generics, and advanced language constructs. PHP, on the other hand, is more focused on web development and has built-in support for web-related features like handling HTTP requests and working with databases.
Community and Ecosystem: C# has a large enterprise-level community and ecosystem with excellent documentation, support, and libraries. PHP has a massive community focused on web development, with many open-source projects, frameworks, and content management systems like WordPress.
Tooling and IDE Support: C# has a mature and powerful Integrated Development Environment (IDE) like Visual Studio, which provides extensive code analysis, debugging, and refactoring features. PHP also has IDEs like PhpStorm, but the tooling and support are not as advanced as C#.
In summary, C# and PHP have distinct differences in syntax, performance, platform dependence, language features, community support, and tooling.
Hello everybody,
I'm Syed, recently graduated from university. I studied C++ as the first programming language and later I have (a little) experience working with C#. I also have a basic understanding of Kotlin, JavaScript and Python. As of today, I am studying Kotlin from https://developer.android.com/.
Please give me some tips about my career. Which language should I choose in today's modern era? Whether I go with Web development or work on Android app development. Thank you for your assistance.
Hi Syed, I wish you all the best. I'm an experienced programmer with more than 15 years of experience. Recently in my company, we were trying to hire a MERN Full-Stack developer and we found many who can code in React but few who were capable of thinking logically and actually able to solve the business problem. Learn any language or package, but keep in mind to learn for a goal. Syntaxes don't matter, we hire to achieve goals. Small to medium companies, usually hire full-stack developers due to the lack of resources. So it would be great to learn the following: For Web, I would suggest "React", and for mobile development, "Flutter" comes in handy with lots of promising future. How about learning both? much better but it's all about you. Good luck!
Hi, I am working as a web developer (PHP, Laravel, AngularJS, and MySQL) with more than 8 years of experience and looking for a tech stack that pays better. I have a little bit of knowledge of Core Java. For better opportunities, Should I learn Java, Spring Boot or Python. Or should I learn Drupal, WordPress or Magento? Any guidance would be really appreciated! Thanks.
Hard to answer it depend on market. Python + Flask + Jinja2 is better that SpringBoot. Java can be paid better now but I think that future is Python. I code very good in PHP, Java, Python - prefer Python for less code and more effects. PHP is little ugly and limited to web.
What do you think about Node JS with React? I feel like this stack is fairly paid more than PHP.
I am also a Laravel developer, in process of transitioning towards Node js.
If you wanna personally connect with me, hit me up at @izshreyansh on twitter.
I'm working in a company as a software engineer, Mainly we are focusing on PHP as the product is being developed in PHP (native) also there are a few products in Node.js, I tried to introduce Laravel but there is no luck to work on it. Now I have started learning Go language, should I focus more on Go or continue only with PHP and NodeJS. BTW I know PHP and NodeJS very well.
Be flexible, be agile in your personal and professional life. Don't be afraid to learn new things and step outside of your confort zone BUT with reason. Reason can be a career path or just money. Does Go belongs to your career path? Does Go belongs to your company's toolset? Do yo seek for new job oportunities? Some people follow a complete career path by using a single language i.e, PHP or java, but if you want to standout in the crowd this is not enough. You already know PHP. This is an oportunity to learn something new. In general, I would advise you to learn at least one language & library/framework per stack . This will help you to lead a team someday.
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
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");
}
}
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.
includemay Allah bless you ^_^
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.
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.
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.
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.
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.
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.
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.
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?
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?
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
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.
your decision depend on what language do you know. if you know php you can use laravel framework
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.
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?
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!
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
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
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
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.
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
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#
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.
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?
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
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.
Hi all, I have been working on the development and automation of construction software using C# and Python. Recently I have started working on Django python web framework and basic frontend for web development. I am really confused to choose between C# and Python to move forward in my career. Seeking your advice on these technologies and their future market value from a career perspective. Thanks,
In my opinion, a modern developer should have deep knowledge about Object Oriented (OOP) and Functional Programming (FP). The programming language is something that must come later. Any good programmer should be able to switch from one programming language to another easily, if they follow OOP and FP. There are languages, though, that must absolutely be in the portfolio of a modern developer: Java, C#, Python and JavaScript. But be prepared to know also Scala, Kotlin, Swift, Go, Ruby, Rust and TypeScript.
It depends on your preferred career path, if you want to work in start-up/scale-up environments, you probably want to go with a language like Django for the rapid development (fast to production). On the other hand, C# or Java would be better for building long term and large scaled applications, although, Django could certainly achieve this as well. I also want to second that it won't hurt to know both languages, pick your technologies wisely according to the use case, don't stick to a single technology stack. :)
C# and Python are both great languages. With great communities, libraries, frameworks, opportunities. I think it will be the same in a near future.
It’s matter of your likes, and your next jobs.
Dot net core is a little faster on performance. Python more popular with dynamic types. Probably the most lovable language.
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.
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.
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.
Go is a way faster than both Python and PHP, which is pretty understandable, but we were amazed at how good we adapted to use it. Go was a blessing for a team , since strict typing is making it very easy to develop and control everything inside team, so the quality was really good. We made huge leap forward in dev speed because of it.
I was considering focusing on learning RoR and looking for a work that uses those techs.
After some investigation, I decided to stay with C# .NET:
It is more requested on job positions (7 to 1 in my personal searches average).
It's been around for longer.
it has better documentation and community.
One of Ruby advantages (its amazing community gems, that allows to quickly build parts of your systems by merely putting together third party components) gets quite complicated to use and maintain in huge applications, where building and reusing your own components may become a better approach.
Rail's front end support is starting to waver.
C# .NET code is far easier to understand, debug and maintain. Although certainly not easier to learn from scratch.
Though Rails has an excellent programming speed, C# tends to get the upper hand in long term projects.
I would avise to stick to rails when building small projects, and switching to C# for more long term ones.
Opinions are welcome!
We have a lot of experience in JavaScript, writing our services in NodeJS allows developers to transition to the back end without any friction, without having to learn a new language. There is also the option to write services in TypeScript, which adds an expressive type layer. The semi-shared ecosystem between front and back end is nice as well, though specifically NodeJS libraries sometimes suffer in quality, compared to other major languages.
As for why we didn't pick the other languages, most of it comes down to "personal preference" and historically grown code bases, but let's do some post-hoc deduction:
Go is a practical choice, reasonably easy to learn, but until we find performance issues with our NodeJS stack, there is simply no reason to switch. The benefits of using NodeJS so far outweigh those of picking Go. This might change in the future.
PHP is a language we're still using in big parts of our system, and are still sometimes writing new code in. Modern PHP has fixed some of its issues, and probably has the fastest development cycle time, but it suffers around modelling complex asynchronous tasks, and (on a personal note) lack of support for writing in a functional style.
We don't use Python, Elixir or Ruby, mostly because of personal preference and for historic reasons.
Rust, though I personally love and use it in my projects, would require us to specifically hire for that, as the learning curve is quite steep. Its web ecosystem is OK by now (see https://www.arewewebyet.org/), but in my opinion, it is still no where near that of the other web languages. In other words, we are not willing to pay the price for playing this innovation card.
Haskell, as with Rust, I personally adore, but is simply too esoteric for us. There are problem domains where it shines, ours is not one of them.
In 2015 as Xelex Digital was paving a new technology path, moving from ASP.NET web services and web applications, we knew that we wanted to move to a more modular decoupled base of applications centered around REST APIs.
To that end we spent several months studying API design patterns and decided to use our own adaptation of CRUD, specifically a SCRUD pattern that elevates query params to a more central role via the Search action.
Once we nailed down the API design pattern it was time to decide what language(s) our new APIs would be built upon. Our team has always been driven by the right tool for the job rather than what we know best. That said, in balancing practicality we chose to focus on 3 options that our team had deep experience with and knew the pros and cons of.
For us it came down to C#, JavaScript, and Ruby. At the time we owned our infrastructure, racks in cages, that were all loaded with Windows. We were also at a point that we were using that infrastructure to it's fullest and could not afford additional servers running Linux. That's a long way of saying we decided against Ruby as it doesn't play nice on Windows.
That left us with two options. We went a very unconventional route for deciding between the two. We built MVP APIs on both. The interfaces were identical and interchangeable. What we found was easily quantifiable differences.
We were able to iterate on our Node based APIs much more rapidly than we were our C# APIs. For us this was owed to the community coupled with the extremely dynamic nature of JS. There were tradeoffs we considered, latency was (acceptably) higher on requests to our Node APIs. No strong types to protect us from ourselves, but we've rarely found that to be an issue.
As such we decided to commit resources to our Node APIs and push it out as the core brain of our new system. We haven't looked back since. It has consistently met our needs, scaling with us, getting better with time as continually pour into and expand our capabilities.
Node continues to be dominant force in the world of web apps, with it's signature async first non-blocking IO, and frankly mind bending speeds. PHP and Python are formable tools, I chose Node for the simplicity of Express as a good and performant server side API gateway platform, that works well with Angular.
Both PHP and Python are free but when it comes to web development PHP wins for sure. There is no doubt that Python is a powerful language but it is not optimal for web. PHP has issues... of course; but so does any other language.
Another reason I chose PHP is for community - it has one of the most resourceful communities from the internet and for a good reason: it evolved with the language itself.
The fact that OOP evolved so much in PHP makes me keep it for good :)
C# and .Net were obvious choices for us at LiveTiles given our investment in the Microsoft ecosystem. It enabled us to harness of the .Net framework to build ASP.Net MVC, WebAPI, and Serverless applications very easily. Coupled with the high productivity of Visual Studio, it's the native tongue of Microsoft technology.
Pros of C#
- Cool syntax351
- Great lambda support293
- Great generics support265
- Language integrated query (linq)211
- Extension methods180
- Automatic garbage collection94
- Properties with get/set methods89
- Backed by microsoft84
- Automatic memory management71
- Amaizing Crossplatform Support61
- High performance46
- LINQ43
- Beautiful38
- Great ecosystem of community packages with Nuget35
- Vibrant developer community27
- Great readability24
- Dead-simple asynchronous programming with async/await21
- Visual Studio - Great IDE19
- Open source17
- Productive16
- Strongly typed by default, dynamic typing when needed15
- Object oriented programming paradigm15
- Easy separation of config/application code12
- Great community11
- OOPS simplified with great syntax10
- Operator overloading9
- Cool9
- Good language to teach OO concepts8
- High-performance8
- Events management using delegates8
- Unity7
- Linq expressions7
- Conditional compilation6
- Coherent language backed by an extensive CLR6
- Top level code5
- Organized and clean5
- Comprehensive platform libraries5
- Concise syntax, productivity designed4
- Lovely3
- Statically typed2
- Far more sleek and sphisticated than other languages1
- Simple and Readable1
- Sophisticated overall1
- Interfaces1
- Interfaces0
Pros of PHP
- Large community953
- Open source819
- Easy deployment767
- Great frameworks487
- The best glue on the web387
- Continual improvements235
- Good old web185
- Web foundation145
- Community packages135
- Tool support125
- Used by wordpress35
- Excellent documentation34
- Used by Facebook29
- Because of Symfony23
- Dynamic Language21
- Easy to learn17
- Cheap hosting17
- Very powerful web language15
- Awesome Language and easy to implement14
- Fast development14
- Because of Laravel14
- Composer13
- Flexibility, syntax, extensibility12
- Easiest deployment9
- Readable Code8
- Fast8
- Short development lead times7
- Most of the web uses it7
- Worst popularity quality ratio7
- Fastestest Time to Version 1.0 Deployments7
- Simple, flexible yet Scalable6
- Faster then ever6
- Open source and large community5
- Cheap to own4
- Has the best ecommerce(Magento,Prestashop,Opencart,etc)4
- Is like one zip of air4
- Open source and great framework4
- Large community, easy setup, easy deployment, framework4
- Easy to use and learn4
- Easy to learn, a big community, lot of frameworks4
- Great developer experience4
- I have no choice :(4
- Hard not to use2
- Walk away2
- Interpreted at the run time2
- FFI2
- Safe the planet2
- Used by STOMT2
- Fault tolerance2
- Great flexibility. From fast prototyping to large apps2
- Simplesaml1
- Bando1
- Secure1
- It can get you a lamborghini1
- Secure0
Sign up to add or upvote prosMake informed product decisions
Cons of C#
- Poor x-platform GUI support15
- Closed source8
- Fast and secure7
- Requires DllImportAttribute for getting stuff from unma7
Cons of PHP
- So easy to learn, good practices are hard to find21
- Inconsistent API16
- Fragmented community8
- Not secure6
- No routing system3
- Hard to debug3
- Old2