Crystal聽vs聽Java

Get Advice Icon

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

Crystal
Crystal

134
155
+ 1
216
Java
Java

27.4K
16.9K
+ 1
3.2K
Add tool

Crystal vs Java: What are the differences?

Developers describe Crystal as "Fast as C, slick as Ruby". Crystal is a programming language that resembles Ruby but compiles to native code and tries to be much more efficient, at the cost of disallowing certain dynamic aspects of Ruby. On the other hand, Java is detailed as "A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible". 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!.

Crystal and Java can be categorized as "Languages" tools.

"Compiles to efficient native code" is the top reason why over 27 developers like Crystal, while over 526 developers mention "Great libraries" as the leading cause for choosing Java.

Crystal is an open source tool with 13.5K GitHub stars and 1.05K GitHub forks. Here's a link to Crystal's open source repository on GitHub.

Airbnb, Uber Technologies, and Spotify are some of the popular companies that use Java, whereas Crystal is used by Bitupper, Diploid, and mose. Java has a broader approval, being mentioned in 2399 company stacks & 2723 developers stacks; compared to Crystal, which is listed in 7 company stacks and 14 developer stacks.

- No public GitHub repository available -

What is Crystal?

Crystal is a programming language that resembles Ruby but compiles to native code and tries to be much more efficient, at the cost of disallowing certain dynamic aspects of Ruby.

What is 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!
Get Advice Icon

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

Why do developers choose Crystal?
Why do developers choose Java?

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

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

What companies use Crystal?
What companies use Java?

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

What tools integrate with Crystal?
What tools integrate with Java?

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

What are some alternatives to Crystal and Java?
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
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 Crystal and Java
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
Nitzan Shapira
Nitzan Shapira
at Epsagon | 11 upvotes 107.7K views
atEpsagonEpsagon
AWS Lambda
AWS Lambda
GitHub
GitHub
Java
Java
Go
Go
Node.js
Node.js
npm
npm
Serverless
Serverless
Python
Python

At Epsagon, we use hundreds of AWS Lambda functions, most of them are written in Python, and the Serverless Framework to pack and deploy them. One of the issues we've encountered is the difficulty to package external libraries into the Lambda environment using the Serverless Framework. This limitation is probably by design since the external code your Lambda needs can be usually included with a package manager.

In order to overcome this issue, we've developed a tool, which we also published as open-source (see link below), which automatically packs these libraries using a simple npm package and a YAML configuration file. Support for Node.js, Go, and Java will be available soon.

The GitHub respoitory: https://github.com/epsagon/serverless-package-external

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

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

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

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

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

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

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

See more
Conor Myhrvold
Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber | 6 upvotes 418.5K views
atUber TechnologiesUber Technologies
JavaScript
JavaScript
Java
Java
C
C

Why Uber developed H3, our open source grid system to make geospatial data visualization and exploration easier and more efficient:

We decided to create H3 to combine the benefits of a hexagonal global grid system with a hierarchical indexing system. A global grid system usually requires at least two things: a map projection and a grid laid on top of the map. For map projection, we chose to use gnomonic projections centered on icosahedron faces. This projects from Earth as a sphere to an icosahedron, a twenty-sided platonic solid. The H3 grid is constructed by laying out 122 base cells over the Earth, with ten cells per face. H3 supports sixteen resolutions: https://eng.uber.com/h3/

(GitHub Pages : https://uber.github.io/h3/#/ Written in C w/ bindings in Java & JavaScript )

See more
Martin Lonkwitz
Martin Lonkwitz
Software engineering at SVA | 3 upvotes 14.3K views
Java
Java
C++
C++

Maybe not in everybody focus but I do like programming for @z/OS, @z/Linux and @z/VM with C++ , Java and Assembler . Who else love to dig into control blocks and get a deep dive into system resources to run things in a high valuable way ? And also go all the way up to the application to enlight all the infrastructure features to it ?

See more
Hampton Catlin
Hampton Catlin
VP of Engineering at Rent The Runway | 6 upvotes 8.2K views
atRent the RunwayRent the Runway
Java
Java
Python
Python
Ruby
Ruby

At our company, and I've noticed a lot of other ones... application developers and dev-ops people tend to use Ruby and our statisticians and data scientists love Python . Like most companies, our stack is kind of split that way. Ruby is used as glue in most of our production systems ( Java being the main backend language), and then all of our data scientists and their various pipelines tend towards Python

See more
Java
Java
Visual Studio Code
Visual Studio Code
JavaScript
JavaScript
TypeScript
TypeScript

I use TypeScript because it is strongly typed superset of JavaScript that provides many benefits. Integration with #IDE like Visual Studio Code is excellent. The main benefit is maintainability. Many error can be caught before code running. Also Angular recommends TypeScript as better alternative to JavaScript . Syntax is very easy to learn especially for people from the Java world.

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鈥檚 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鈥檚 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
Visual Studio
Visual Studio
Java
Java
C#
C#

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

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

See more
Michael Pfaff
Michael Pfaff
CEO at Nucleus Development | 3 upvotes 8.2K views
Java
Java
Dart
Dart

I use Dart because it is a fast, modern language with an intuitive package manager and syntax similar to Java, while less verbose (i.e. public by default, _ in front of a variable, class, etc. to be private). Dart has an excellent asynchronous syntax making asynchronous calls such as filesystem interaction or HTTP requests simple and concise.

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

I adopted Clojure and ClojureScript because:

  • it's 1 language, multiple platforms.
  • Simple syntax.
  • Designed to avoid unwanted side effects and bugs.
  • Immutable data-structures.
  • Compact code, very expressive.
  • Source code is data.
  • It has super-flexible macro.
  • Has metadata.
  • Interoperability with JavaScript, Java and C#.
See more
Ganesa Vijayakumar
Ganesa Vijayakumar
Full Stack Coder | Module Lead | 15 upvotes 398.6K views
SonarQube
SonarQube
Codacy
Codacy
Docker
Docker
Git
Git
Apache Maven
Apache Maven
Amazon EC2 Container Service
Amazon EC2 Container Service
Microsoft Azure
Microsoft Azure
Amazon Route 53
Amazon Route 53
Elasticsearch
Elasticsearch
Solr
Solr
Amazon RDS
Amazon RDS
Amazon S3
Amazon S3
Heroku
Heroku
Hibernate
Hibernate
MySQL
MySQL
Node.js
Node.js
Java
Java
Bootstrap
Bootstrap
jQuery Mobile
jQuery Mobile
jQuery UI
jQuery UI
jQuery
jQuery
JavaScript
JavaScript
React Native
React Native
React Router
React Router
React
React

I'm planning to create a web application and also a mobile application to provide a very good shopping experience to the end customers. Shortly, my application will be aggregate the product details from difference sources and giving a clear picture to the user that when and where to buy that product with best in Quality and cost.

I have planned to develop this in many milestones for adding N number of features and I have picked my first part to complete the core part (aggregate the product details from different sources).

As per my work experience and knowledge, I have chosen the followings stacks to this mission.

UI: I would like to develop this application using React, React Router and React Native since I'm a little bit familiar on this and also most importantly these will help on developing both web and mobile apps. In addition, I'm gonna use the stacks JavaScript, jQuery, jQuery UI, jQuery Mobile, Bootstrap wherever required.

Service: I have planned to use Java as the main business layer language as I have 7+ years of experience on this I believe I can do better work using Java than other languages. In addition, I'm thinking to use the stacks Node.js.

Database and ORM: I'm gonna pick MySQL as DB and Hibernate as ORM since I have a piece of good knowledge and also work experience on this combination.

Search Engine: I need to deal with a large amount of product data and it's in-detailed info to provide enough details to end user at the same time I need to focus on the performance area too. so I have decided to use Solr as a search engine for product search and suggestions. In addition, I'm thinking to replace Solr by Elasticsearch once explored/reviewed enough about Elasticsearch.

Host: As of now, my plan to complete the application with decent features first and deploy it in a free hosting environment like Docker and Heroku and then once it is stable then I have planned to use the AWS products Amazon S3, EC2, Amazon RDS and Amazon Route 53. I'm not sure about Microsoft Azure that what is the specialty in it than Heroku and Amazon EC2 Container Service. Anyhow, I will do explore these once again and pick the best suite one for my requirement once I reached this level.

Build and Repositories: I have decided to choose Apache Maven and Git as these are my favorites and also so popular on respectively build and repositories.

Additional Utilities :) - I would like to choose Codacy for code review as their Startup plan will be very helpful to this application. I'm already experienced with Google CheckStyle and SonarQube even I'm looking something on Codacy.

Happy Coding! Suggestions are welcome! :)

Thanks, Ganesa

See more
Vishwa Bhat
Vishwa Bhat
Fullstack Developer at Sequoia | 10 upvotes 4.4K views
atSequoia Consulting GroupSequoia Consulting Group
Java
Java
Go
Go
Node.js
Node.js

Our new backend micro services are primarily written in Node.js and Go and legacy systems are written in Java. For our new stack decision, we aimed to achieve greater developer productivity, low IO latency and good community so we had couple of technologies in hand to choose but finally we concluded to go for Node.js for API layer and Go for CPU/IO intensive tasks. Currently the inter-services communication is happening via REST but soon to be moved to RPC-based communication.