Which of the following 5 languages are NODE, LUA, Python, Ruby, R, and which will be better applied in the 2014?
I don't hesitate to choose R. R is not only 2014, but also the protagonist for a longer period of time.
1. My Programming background
I am a programmer, architect, from the beginning of programming to today, has been convinced that Java is the language to change the world, Java has done, and has been very brilliant. But when the world of Java grows bigger and more omnipotent, it is not professional enough to give other languages a chance to develop.
This minor comparison needs 5 programming languages (NODE,LUA,PYTHON,RUBY,R), which are excellent and grow in specific areas.
I have used the Java language 11, R language 3, Node 1 years, for this question "which language in the 2014 application prospects will be better?" "I chose the R language.
2. Why do I choose r?
I'll explain why I chose R from the following sections.
1). R's Genes
R is the language that statisticians invent, born with statistical genes.
From the beginning of my study of R language, I began to think across the boundary of knowledge. Statistics based on probability theory, probability theory is based on mathematics, computer programming to solve practical problems in a field. A simple calculation, the intersection of 4 disciplines of knowledge, determines our ability to solve problems. Statistical genes, so that R language is different!
2). R Development
R has been growing in the field of niche, the earliest only statisticians in use, the main use of R to replace the SAS statistical calculations. Times in progress, with the explosion of large data, R finally in this wave of waves, the industry found. Then, with more and more engineering background people joining this circle, the R computing engine, R's performance, R's various packages are improved and upgraded, allowing R to get a new life.
The R language software we use now is getting closer to the standards of industrial software. The development speed of R, driven by engineers, goes far beyond the pace promoted by statisticians. With the further increase in data analysis requirements, R will continue to develop faster, will become a free, open source, data analysis software synonymous.
3. R Community and Resources
R's development is inseparable from the community support of R. Of course, I have to admit that R's official community, which looks so shabby from a Web page, would look a lot better with a little tweaking of CSS style sheets. Perhaps this simple, no modification is also a statistician gene.
In R's community, we can download to r language software, R's third party package, and R's other support software. You can find the developer forum, r-journal list, package list, R language book list, r user group and so on, as well as community resources in other languages.
R is free software, and developers can develop their own packages, encapsulate their own functionality, and then post them on Cran. As of February 2014, a total of 5,236 R packages were released on Cran.
Many people may say that there are only 5,236 packages, too few. This is because the Cran is required to submit the application, R language group audit, after the inspection, released again. And the audit is very strict, high quality is to release a new R package basic requirements. Because Cran too strict review, let a lot of developers choose to publish on the Rforge, and some R package is based on GitHub release, I also published my own R package on GitHub: Https://github.com/bsspirit/chinaWeather.
R Official Address: http://www.r-project.org/
R Developer Forum: http://r.789695.n4.nabble.com/
cran:http://cran.rstudio.com/
rforge:https://r-forge.r-project.org/
4). R's Philosophy
Each language has its own design philosophy and philosophy, and I realize the philosophy of R is "calm down to do things."
R does not require long code, and R does not require a design pattern. A function call, passing several parameters, can implement a complex statistical model. We need to think about what models to use, what parameters to pass, not how to program.
We might use R to implement the process of "turning a mathematical formula into a statistical model," and we might consider "how to make a classifier more accurate," but we don't think about "what is the complexity of time and how much space is complex".
R's philosophy allows you to turn mathematical and statistical knowledge into computational models, which are also determined by R's genes.
5. R Users
R language was primarily used by academic statisticians in various fields, including statistical analysis, applied Mathematics, econometrics, financial Analysis, financial Analysis, humanities, data mining, artificial intelligence, bioinformatics, biopharmaceutical, global geographic science, data visualization, etc.
In recent years, the big data revolution triggered by the Internet has allowed industry people to begin to recognize R and join R. As more and more people with engineering backgrounds join the R language user's team, R begins to realize the requirements of industrialization as a whole-field development.
Revolutionanalytics Company's Rhadoop product allows R to directly invoke Hadoop cluster resources
The Rstudio company's Rstudio products give us a new understanding of editing software
Rmysql, Roracle, Rjdbc. R and Database access channel
Rmongodb, Rredis, Rhive, rhbase, Rcassandra access channel through R and NoSQL
Rmpi, snow through the parallel Computing channel of single machine multi-core
Rserve,rwebsocket the channel of cross platform communication of R language
R is not only the language of academia, but also the necessary language of industry.
6). R's Syntax
R is an object-oriented language, and syntax is like Python. But the syntax of R is very free, and many of the names of functions seem so arbitrary, which is part of the philosophy of R!
Seeing such assignment syntax, programmers with other language basics will surely crash.
It is because of R's philosophy of freedom that the syntax of R is unique and concise, and I already like this philosophy.
7. R's Thinking mode
R language makes me jump out of the original mindset. Using the R language, we should think about the problem from the statistical point of view, not the computer mode of thinking.
The R language is a direct data-oriented language. In our daily life, no matter what things will produce data, internet browsing data, shopping have consumption data, even if nothing, will also be affected by atmospheric PM2.5. With the R language, I can analyze the data directly.
For what kind of business, analyze what data, do not need to change from Product manager to programmer role, do not need to consider what functions, not to consider the program design.
Out of the programmer's mindset, you can perceive more things and find a more suitable location.
8. R problem solved
When the data become the means of production, r is for people to use the means of production to create value of the tools, R language is mainly to solve the problem of data.
In a very long period of time, the data produced by human beings have not been produced since the advent of the Internet; When Hadoop helps people solve large data storage problems, how to discover the value of data has become the hottest topic of the moment. The statistical analysis ability of R language is the best tool for data analysis.
So, the problem that R wants to solve is the problem of the big data age, it is the task given by the Times.
9). R deficiency
There are too many advantages of R, and R has a lot of drawbacks.
R language is the software compiled by statisticians and is not as robust as software engineers write.
R language software performance, there are some problems.
R language is very free, syntax naming is not very standard, need to spend time familiar.
R language combines a lot of mathematics, probability, Statistical basic knowledge, learn to have a certain threshold.
These deficiencies of R can be overcome. When people with more engineering backgrounds join, R is more powerful than it is now, helping users create more value.
3. Application prospect of R
R can do all the things SAS do.
R Application Hottest areas:
Statistical analysis: Including statistical distribution, hypothesis testing, statistical modeling
Financial Analysis: Quantitative strategy, portfolio, risk control, time series, volatility
Data mining: Data mining algorithms, data modeling, machine learning
Internet: Recommender Systems, consumer forecasts, social networks
Bioinformatics: DNA analysis, species analysis
Biopharmaceutical: Survival analysis, pharmaceutical process management
Global Geographic Science: Weather, climate, remote sensing data
Data visualization: Static graphs, interactive dynamic graphs, social graphs, maps, hot maps, integration with various JavaScript libraries
R has a very wide range of applications, and R will be the new generation of the most capable of creating value tools.
4. The task assigned to R by the Times
R language is in the large data age by the industry understanding and understanding of the language, r language by The Times endowed, mining data value, discovering data laws, create data Wealth task.
R language is also to help people play the wisdom and creativity of the best production tools, we should not only learn the R language, but also to use a good R language, to inject more innovative productivity of society.
So, I think "R is the most interesting programming language" through all the text descriptions in the sections above. Whether you are still reading, or have already worked, master the tool of R language, find the most suitable for their position, the future will be unlimited.
Finally: In these 5 languages, R is the most special, and R is given a different mission from other languages. R's genes are determined, R will be 2014, or it may be the protagonist for a longer period of time.