Get Advice Icon

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

Grain
Grain

2
8
+ 1
0
PHP
PHP

59.4K
15.2K
+ 1
4.3K
Add tool

Grain vs PHP: What are the differences?

Developers describe Grain as "A strongly-typed functional programming language". Grain is a strongly-typed functional programming language built for the modern web. Unlike other languages used on the web today (like TypeScript or Elm), Grain doesn’t compile into JavaScript. Grain complies all the way down to WebAssembly, and is supported by a tiny JavaScript runtime to give Grain access to web features that WebAssembly doesn’t yet support. On the other hand, PHP is detailed as "A popular general-purpose scripting language that is especially suited to web development". Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.

Grain and PHP can be primarily classified as "Languages" tools.

Grain and PHP are both open source tools. It seems that PHP with 23.9K GitHub stars and 5.53K forks on GitHub has more adoption than Grain with 1.21K GitHub stars and 21 GitHub forks.

What is Grain?

Grain is a strongly-typed functional programming language built for the modern web. Unlike other languages used on the web today (like TypeScript or Elm), Grain doesn’t compile into JavaScript. Grain complies all the way down to WebAssembly, and is supported by a tiny JavaScript runtime to give Grain access to web features that WebAssembly doesn’t yet support.

What is PHP?

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

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

Why do developers choose Grain?
Why do developers choose PHP?
    Be the first to leave a pro

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

      Be the first to leave a con
      What companies use Grain?
      What companies use PHP?
        No companies found

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

        What tools integrate with Grain?
        What tools integrate with PHP?
          No integrations found

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

          What are some alternatives to Grain and PHP?
          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.
          ASP.NET
          .NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
          See all alternatives
          Decisions about Grain and PHP
          StackShare Editors
          StackShare Editors
          HHVM (HipHop Virtual Machine)
          HHVM (HipHop Virtual Machine)
          Hack
          Hack
          PHP
          PHP

          Throughout 2016, Slack began migrating from PHP5 to Hack. They cite several well-known challenges inherent to PHP, including surprise type conversions, inconsistency around reference semantics, inconsistencies in the standard library, and the fact that “PHP tries very, very hard to keep the request running, even if it has done something deeply strange.”

          To overcome these challenges while maintaining the unique values of PHP, Slack turned to Hack, a gradual typing system for PHP. Hack runs on the HipHop Virtual Machine, or HHVM, an open source just-in-time (JIT) environment for PHP.

          See more
          PagerDuty
          PagerDuty
          Slack
          Slack
          Go
          Go
          PHP
          PHP
          Java
          Java
          Python
          Python
          Ruby
          Ruby
          Node.js
          Node.js
          Sqreen
          Sqreen

          I chose Sqreen because it provides an out-of-the-box Security as a Service solution to protect my customer data. I get full visibility over my application security in real-time and I reduce my risk against the most common threats. My customers are happy and I don't need to spend any engineering resources or time on this. We're only alerted when our attention is required and the data that is provided helps engineering teams easily remediate vulnerabilities. The platform grows with us and will allow us to have all the right tools in place when our first security engineer joins the company. Advanced security protections against business logic threats can then be implemented.

          Installation was super easy on my Node.js and Ruby apps. But Sqreen also supports Python , Java , PHP and soon Go .

          It integrates well with the tools I'm using every day Slack , PagerDuty and more.

          See more
          Sparker73
          Sparker73
          Frontend Developer · | 6 upvotes · 22.4K views
          PHP
          PHP
          .NET
          .NET
          JavaScript
          JavaScript
          Node.js
          Node.js

          Node.js is my choice because it uses very few resources to run and it is capable to handle tons of connections simultaneously. Most developers already know JavaScript, the evolution of ECMAScript is immediately reflected to Node.js and all you have to do is update your Server's Node.js version without time and effort. Thousands of improvements that makes it very powerful especially in asynchronous programming. The web is full of courses, dev communities, free sample code, plunkers and many knowledge sources on Node.js that facilitates the learning curve. What else we can ask from a legendary language that is still evolving? I am learning Node.js by developing a simple REST WebAPI and using it as a playground to test situations in which the main objective is to challenge Node.js and compare results and performance with .NET implementations and certain well known fast PHP implementations. Until now the results are astonishing. Summarizing: Node.js for backend is so far (in my opinion) the most recommended solution to get positive achievements in size, speed, power, concurrency, scalability, deployment and running costs.

          See more
          Antonio Sanchez
          Antonio Sanchez
          CEO at Kokoen GmbH · | 11 upvotes · 85.5K views
          atKokoen GmbHKokoen GmbH
          ExpressJS
          ExpressJS
          Node.js
          Node.js
          JavaScript
          JavaScript
          MongoDB
          MongoDB
          Go
          Go
          MySQL
          MySQL
          Laravel
          Laravel
          PHP
          PHP

          Back at the start of 2017, we decided to create a web-based tool for the SEO OnPage analysis of our clients' websites. We had over 2.000 websites to analyze, so we had to perform thousands of requests to get every single page from those websites, process the information and save the big amounts of data somewhere.

          Very soon we realized that the initial chosen script language and database, PHP, Laravel and MySQL, was not going to be able to cope efficiently with such a task.

          By that time, we were doing some experiments for other projects with a language we had recently get to know, Go , so we decided to get a try and code the crawler using it. It was fantastic, we could process much more data with way less CPU power and in less time. By using the concurrency abilites that the language has to offers, we could also do more Http requests in less time.

          Unfortunately, I have no comparison numbers to show about the performance differences between Go and PHP since the difference was so clear from the beginning and that we didn't feel the need to do further comparison tests nor document it. We just switched fully to Go.

          There was still a problem: despite the big amount of Data we were generating, MySQL was performing very well, but as we were adding more and more features to the software and with those features more and more different type of data to save, it was a nightmare for the database architects to structure everything correctly on the database, so it was clear what we had to do next: switch to a NoSQL database. So we switched to MongoDB, and it was also fantastic: we were expending almost zero time in thinking how to structure the Database and the performance also seemed to be better, but again, I have no comparison numbers to show due to the lack of time.

          We also decided to switch the website from PHP and Laravel to JavaScript and Node.js and ExpressJS since working with the JSON Data that we were saving now in the Database would be easier.

          As of now, we don't only use the tool intern but we also opened it for everyone to use for free: https://tool-seo.com

          See more
          Gev Balyan
          Gev Balyan
          Founder at UCRAFT · | 3 upvotes · 18.6K views
          atUCRAFTUCRAFT
          PHP
          PHP
          MySQL
          MySQL
          Composer
          Composer
          Ember.js
          Ember.js
          JavaScript
          JavaScript
          Laravel
          Laravel

          We recently decided to rewrite Ucraft's Laravel from scratch.

          The goal is to make everything more Laravel friendly that will speak to frontend JavaScript , built on Ember.js via JSON Patch standard. This will also make out app better extendible and overridable.

          The namespeaces are going to be more correct and the app itself will be compatible with Composer packages.

          This also improves the connection between MySQL and PHP making the reoccurring MySQL queries cached during the lifecycle.

          See more
          Ajit Parthan
          Ajit Parthan
          CTO at Shaw Academy · | 3 upvotes · 5.2K views
          atShaw AcademyShaw Academy
          Python
          Python
          PHP
          PHP
          #Etl

          Multiple systems means there is a requirement to cart data across them.

          Started off with Talend scripts. This was great as what we initially had were PHP/Python script - allowed for a more systematic approach to ETL.

          But ended up with a massive repository of scripts, complex crontab entries and regular failures due to memory issues.

          Using Stitch or similar services is a better approach: - no need to worry about the infrastructure needed for the ETL processes - a more formal mapping of data from source to destination as opposed to script developer doing his/her voodoo magic - lot of common sources and destination integrations are already builtin and out of the box

          etl @{etlasaservice}|topic:1323|

          See more
          SVN (Subversion)
          SVN (Subversion)
          Git
          Git
          JSON
          JSON
          XML
          XML
          Python
          Python
          PHP
          PHP
          Java
          Java
          Swift
          Swift
          JavaScript
          JavaScript
          Linux
          Linux
          GitHub
          GitHub
          Visual Studio Code
          Visual Studio Code

          I use Visual Studio Code because at this time is a mature software and I can do practically everything using it.

          • It's free and open source: The project is hosted on GitHub and it’s free to download, fork, modify and contribute to the project.

          • Multi-platform: You can download binaries for different platforms, included Windows (x64), MacOS and Linux (.rpm and .deb packages)

          • LightWeight: It runs smoothly in different devices. It has an average memory and CPU usage. Starts almost immediately and it’s very stable.

          • Extended language support: Supports by default the majority of the most used languages and syntax like JavaScript, HTML, C#, Swift, Java, PHP, Python and others. Also, VS Code supports different file types associated to projects like .ini, .properties, XML and JSON files.

          • Integrated tools: Includes an integrated terminal, debugger, problem list and console output inspector. The project navigator sidebar is simple and powerful: you can manage your files and folders with ease. The command palette helps you find commands by text. The search widget has a powerful auto-complete feature to search and find your files.

          • Extensible and configurable: There are many extensions available for every language supported, including syntax highlighters, IntelliSense and code completion, and debuggers. There are also extension to manage application configuration and architecture like Docker and Jenkins.

          • Integrated with Git: You can visually manage your project repositories, pull, commit and push your changes, and easy conflict resolution.( there is support for SVN (Subversion) users by plugin)

          See more
          Ajit Parthan
          Ajit Parthan
          CTO at Shaw Academy · | 1 upvotes · 4K views
          atShaw AcademyShaw Academy
          Python
          Python
          PHP
          PHP

          Multiple systems means there is a requirement to cart data across them.

          Started off with Talend scripts. This was great as what we initially had were PHP/Python script - allowed for a more systematic approach to ETL.

          But ended up with a massive repository of scripts, complex crontab entries and regular failures due to memory issues.

          Using Stitch or similar services is a better approach: - no need to worry about the infrastructure needed for the ETL processes - a more formal mapping of data from source to destination as opposed to script developer doing his/her voodoo magic - lot of common sources and destination integrations are already builtin and out of the box

          See more
          Epistol
          Epistol
          PHP
          PHP
          Bulma
          Bulma
          Asana
          Asana
          Stripe
          Stripe
          Let's Encrypt
          Let's Encrypt
          CloudFlare
          CloudFlare
          Deployer
          Deployer
          Git
          Git
          GitHub
          GitHub
          Ubuntu
          Ubuntu
          nginx
          nginx
          Buddy
          Buddy
          Webpack
          Webpack
          Vue.js
          Vue.js
          JavaScript
          JavaScript
          HTML5
          HTML5
          Sass
          Sass
          Google Analytics
          Google Analytics
          PhpStorm
          PhpStorm
          Laravel
          Laravel
          #CDG
          CDG

          I use Laravel because it's the most advances PHP framework out there, easy to maintain, easy to upgrade and most of all : easy to get a handle on, and to follow every new technology ! PhpStorm is our main software to code, as of simplicity and full range of tools for a modern application.

          Google Analytics Analytics of course for a tailored analytics, Bulma as an innovative CSS framework, coupled with our Sass (Scss) pre-processor.

          As of more basic stuff, we use HTML5, JavaScript (but with Vue.js too) and Webpack to handle the generation of all this.

          To deploy, we set up Buddy to easily send the updates on our nginx / Ubuntu server, where it will connect to our GitHub Git private repository, pull and do all the operations needed with Deployer .

          CloudFlare ensure the rapidity of distribution of our content, and Let's Encrypt the https certificate that is more than necessary when we'll want to sell some products with our Stripe api calls.

          Asana is here to let us list all the functionalities, possibilities and ideas we want to implement.

          See more
          Lidiexy Alonso
          Lidiexy Alonso
          Senior Software Engineer at Palinode LLC · | 6 upvotes · 7.6K views
          JavaScript
          JavaScript
          Visual Studio Code
          Visual Studio Code
          PHP
          PHP
          PhpStorm
          PhpStorm
          React Native
          React Native
          #IDE

          As developer at Applied Health Analytics we decided to create a React Native App. In terms of #IDE I'm a good fan of PhpStorm cause we have a lost of PHP in the backend, but I definitely gave a try to Visual Studio Code and now is my primary JavaScript #IDE. I was impress how fast VS Code has become the No.1 @JavaScript Editor in the community.

          See more
          Tom Klein
          Tom Klein
          CEO at Gentlent · | 4 upvotes · 29.3K views
          atGentlentGentlent
          Python
          Python
          Electron
          Electron
          Socket.IO
          Socket.IO
          Google Compute Engine
          Google Compute Engine
          TypeScript
          TypeScript
          ES6
          ES6
          Ubuntu
          Ubuntu
          PostgreSQL
          PostgreSQL
          React
          React
          nginx
          nginx
          Sass
          Sass
          HTML5
          HTML5
          PHP
          PHP
          Node.js
          Node.js
          JavaScript
          JavaScript

          Our most used programming languages are JavaScript / Node.js for it's lightweight and fast use, PHP because everyone knows it, HTML5 because you can't live without it and Sass to write great CSS. Occasionally, we use nginx as a web server and proxy, React for our UX, PostgreSQL as fast relational database, Ubuntu as server OS, ES6 and TypeScript for Node, Google Compute Engine for our infrastructure, and Socket.IO and Electron for specific use cases. We also use Python for some of our backends.

          See more
          Labinator Team
          Labinator Team
          at Labinator · | 13 upvotes · 65.9K views
          atLabinatorLabinator
          Debian
          Debian
          Manjaro
          Manjaro
          Visual Studio Code
          Visual Studio Code
          Sublime Text
          Sublime Text
          WordPress
          WordPress
          PHP
          PHP
          Vanilla.JS
          Vanilla.JS
          Sass
          Sass
          CSS 3
          CSS 3
          HTML5
          HTML5

          At labinator.com, we use HTML5, CSS 3, Sass, Vanilla.JS and PHP when building our premium WordPress themes and plugins. When writing our codes, we use Sublime Text and Visual Studio Code depending on the project. We run Manjaro and Debian operating systems in our office. Manjaro is a great desktop operating system for all range of tasks while Debian is a solid choice for servers.

          WordPress became a very popular choice when it comes to content management systems and building websites. It is easy to learn and has a great community behind it. The high number of plugins as well that are available for WordPress allows any user to customize it depending on his/her needs.

          For development, HTML5 with Sass is our go-to choice when building our themes.

          Main Advantages Of Sass:

          • It's CSS syntax friendly
          • It offers variables
          • It uses a nested syntax
          • It includes mixins
          • Great community and online support.
          • Great documentation that is easy to read and follow.

          As for PHP, we always thrive to use PHP 7.3+. After the introduction of PHP 7, the WordPress development process became more stable and reliable than before. If you a developer considering PHP 7.3+ for your project, it would be good to note the following benefits.

          The Benefits Of Using PHP:

          • Open Source.
          • Highly Extendible.
          • Easy to learn and read.
          • Platform independent.
          • Compatible with APACHE.
          • Low development and maintenance cost.
          • Great community and support.
          • Detailed documentation that has everything you need!

          Why PHP 7.3+?

          • Flexible Heredoc & Nowdoc Syntaxes - Two key methods for defining strings within PHP. They also became easier to read and more reliable.
          • A good boost in performance speed which is extremely important when it comes to WordPress development.
          See more
          Tassanai Singprom
          Tassanai Singprom
          Slack
          Slack
          BrowserStack
          BrowserStack
          Sentry
          Sentry
          Kibana
          Kibana
          Visual Studio Code
          Visual Studio Code
          npm
          npm
          GitLab
          GitLab
          GitHub
          GitHub
          Git
          Git
          Elasticsearch
          Elasticsearch
          Postman
          Postman
          Google Analytics
          Google Analytics
          MariaDB
          MariaDB
          GraphQL
          GraphQL
          Amazon RDS
          Amazon RDS
          Lumen
          Lumen
          Laravel
          Laravel
          Firebase
          Firebase
          Vue.js
          Vue.js
          Sass
          Sass
          Ubuntu
          Ubuntu
          Amazon EC2
          Amazon EC2
          Redis
          Redis
          jQuery
          jQuery
          HTML5
          HTML5
          PHP
          PHP
          JavaScript
          JavaScript

          This is my stack in Application & Data

          JavaScript PHP HTML5 jQuery Redis Amazon EC2 Ubuntu Sass Vue.js Firebase Laravel Lumen Amazon RDS GraphQL MariaDB

          My Utilities Tools

          Google Analytics Postman Elasticsearch

          My Devops Tools

          Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack

          My Business Tools

          Slack

          See more
          Ali Soueidan
          Ali Soueidan
          Creative Web Developer at Ali Soueidan · | 16 upvotes · 85.6K views
          npm
          npm
          Babel
          Babel
          PHP
          PHP
          Adobe Illustrator
          Adobe Illustrator
          Asana
          Asana
          ES6
          ES6
          GitHub
          GitHub
          Git
          Git
          JSON
          JSON
          Sass
          Sass
          Pug
          Pug
          JavaScript
          JavaScript
          vuex
          vuex
          Vue.js
          Vue.js

          Application and Data: Since my personal website ( https://alisoueidan.com ) is a SPA I've chosen to use Vue.js, as a framework to create it. After a short skeptical phase I immediately felt in love with the single file component concept! I also used vuex for state management, which makes working with several components, which are communicating with each other even more fun and convenient to use. Of course, using Vue requires using JavaScript as well, since it is the basis of it.

          For markup and style, I used Pug and Sass, since they’re the perfect match to me. I love the clean and strict syntax of both of them and even more that their structure is almost similar. Also, both of them come with an expanded functionality such as mixins, loops and so on related to their “siblings” (HTML and CSS). Both of them require nesting and prevent untidy code, which can be a huge advantage when working in teams. I used JSON to store data (since the data quantity on my website is moderate) – JSON works also good in combo with Pug, using for loops, based on the JSON Objects for example.

          To send my contact form I used PHP, since sending emails using PHP is still relatively convenient, simple and easy done.

          DevOps: Of course, I used Git to do my version management (which I even do in smaller projects like my website just have an additional backup of my code). On top of that I used GitHub since it now supports private repository for free accounts (which I am using for my own). I use Babel to use ES6 functionality such as arrow functions and so on, and still don’t losing cross browser compatibility.

          Side note: I used npm for package management. 🎉

          *Business Tools: * I use Asana to organize my project. This is a big advantage to me, even if I work alone, since “private” projects can get interrupted for some time. By using Asana I still know (even after month of not touching a project) what I’ve done, on which task I was at last working on and what still is to do. Working in Teams (for enterprise I’d take on Jira instead) of course Asana is a Tool which I really love to use as well. All the graphics on my website are SVG which I have created with Adobe Illustrator and adjusted within the SVG code or by using JavaScript or CSS (SASS).

          See more
          John Datserakis
          John Datserakis
          Node.js
          Node.js
          PHP
          PHP
          Go
          Go

          For the backend of https://www.rsvpkeeper.com I went with Go.

          My past few project have been built with Go and I'm really loving it. It was my first statically typed language after many years with PHP and Node.js - and honestly I couldn't be happier to have made the switch.

          The biggest thing for me, is that with the forced declaration of types - it's made me feel like I've made a more solid backend. Sometimes with PHP I felt like a stiff breeze could knock the whole thing down. I know that's an exaggeration - but it's kinda how it feels.

          Anyways, everyone knows that it almost doesn't even matter what an app is actually made with - what really matters are the design decisions you make a long the way.

          See more
          Interest over time
          Reviews of Grain and PHP
          Review ofPHPPHP

          source: w3techs.com

          Rants about PHP are everywhere, but during the last years the language and the whole ecosystem has evolved.

          The lastest versions support namespaces, closures, traits, generators and with composer a dependency manager that changed the way PHP developers work and collaborate.

          How developers use Grain and PHP
          Avatar of Vladislav Moshynec
          Vladislav Moshynec uses PHPPHP

          Use the ipwhois.io IP lookup API to quickly and simply integrate IP geolocation into your script or website. Save yourself the hassle of setting up local GeoIP libraries and having to remember to regularly update the data.

          GitHub

          Avatar of ShadowICT
          ShadowICT uses PHPPHP

          We use PHP as our main backend preprocessor. Being a well established language, it is supported by a large community as well as a dedicated team of developers. It is used for much heavier projects that do not require realtime processes as well as being used in a hybrid system alongside NodeJS.

          Avatar of Andrew Gatenby
          Andrew Gatenby uses PHPPHP

          PHP has been the backbone of what we've done at Visualsoft for years. We have lots of experienced people who have used it and know how to get the best out of it. It's come on leaps and bounds over recent years, and is the basis of pretty much everything we'll build with.

          Avatar of Ordius IT Solutions Pvt Ltd
          Ordius IT Solutions Pvt Ltd uses PHPPHP

          The reason being they are simple to learn and easy to implement apps on any size.

          The learning curve for PHP and MySQL is less compared to MEAN. It’s advisable to learn PHP and MySQL if you want to have a taste of web-development or you are in a hurry.

          Avatar of IPWHOIS.io - IP Geolocation API
          IPWHOIS.io - IP Geolocation API uses PHPPHP

          Use the ipwhois.io IP lookup API to quickly and simply integrate IP geolocation into your script or website. Save yourself the hassle of setting up local GeoIP libraries and having to remember to regularly update the data.

          How much does Grain cost?
          How much does PHP cost?
          Pricing unavailable
          Pricing unavailable
          News about Grain
          More news