Need advice about which tool to choose?Ask the StackShare community!
Python has become the most popular language for machine learning right now since almost all machine learning tools provide service for this language, and it is really to use since it has many build-in objects like Hashtable. In C, you need to implement everything by yourself.
C++ is one of the most popular programming languages in graphics. It has many fancy libraries like eigen to help us process matrix. I have many previous projects about graphics based on C++ and this time, we also need to deal with graphics since we need to analyze movements of the human body. C++ has much more advantages than Java. C++ uses only compiler, whereas Java uses compiler and interpreter in both. C++ supports both operator overloading and method overloading whereas Java only supports method overloading. C++ supports manual object management with the help of new and delete keywords whereas Java has built-in automatic garbage collection.
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.
- Client-Side: \
The form of our product is a web app because we would also provide a dashboard for displaying data and for some further purpose including data filtering and comparison. Hence, we would definitely use
HTML5
for structuring the web,CSS3
for styling the web, andJavaScript
for building the front-end logic. As for frameworks, we would useReact
because it is component-based that can keep our front-end code clean and organized. The virtual DOM ofReact
also provides better efficiency in time when rendering the page. Furthermore,React
has a greater number of users thanVue
andAngular
, thus have active communities for problem-spotting and problem-solving. We would also incorporateBootstrap
into our web app to provide an aesthetic user interface and thus to improve the user experience. The fact thatBoostrap
supports responsive site would also ease our workload if future adaptation for mobiles is needed.
Pros of Java
- Great libraries572
- Widely used433
- Excellent tooling395
- Huge amount of documentation available378
- Large pool of developers available328
- Open source197
- Excellent performance192
- Great development150
- Used for android143
- Vast array of 3rd party libraries142
- Compiled Language54
- Used for Web46
- Managed memory42
- Native threads42
- High Performance40
- Statically typed35
- Easy to read31
- Great Community29
- Reliable platform25
- JVM compatibility23
- Sturdy garbage collection22
- Cross Platform Enterprise Integration19
- Universal platform18
- Great Support16
- Good amount of APIs16
- Lots of boilerplate11
- Great ecosystem10
- Backward compatible10
- Everywhere9
- Excellent SDK - JDK7
- Mature language thus stable systems6
- Better than Ruby5
- Portability5
- Cross-platform5
- Static typing5
- Clojure5
- It's Java5
- Old tech4
- Vast Collections Library4
- Most developers favorite3
- Stable platform, which many new languages depend on3
- Long term language3
- Great Structure3
- Best martial for design3
- Used for Android development3
- Testable2
- Javadoc1
Pros of JavaScript
- Can be used on frontend/backend1.6K
- It's everywhere1.5K
- Lots of great frameworks1.1K
- Fast881
- Light weight730
- Flexible408
- You can't get a device today that doesn't run js374
- Non-blocking i/o278
- Ubiquitousness227
- Expressive182
- Extended functionality to web pages44
- Relatively easy language40
- Executed on the client side37
- Relatively fast to the end user22
- Pure Javascript18
- Functional programming13
- Async6
- Full-stack4
- Because I love functions4
- Setup is easy4
- JavaScript is the New PHP4
- Like it or not, JS is part of the web standard3
- Can be used in backend, frontend and DB3
- Its everywhere3
- Expansive community3
- Future Language of The Web3
- Evolution of C2
- For the good parts2
- Love-hate relationship2
- Popularized Class-Less Architecture & Lambdas2
- Everyone use it2
- Easy to hire developers2
- Supports lambdas and closures2
- Versitile1
- Powerful1
- 1.6K Can be used on frontend/backend1
- Can be used both as frontend and backend as well1
- Agile, packages simple to use1
- Can be used on frontend/backend/Mobile/create PRO Ui1
- No need to use PHP1
- It's fun1
- Its fun and fast1
- Most Popular Language in the World1
- Hard not to use1
- Stockholm Syndrome1
- Photoshop has 3 JS runtimes built in1
- Promise relationship1
- It let's me use Babel & Typescript1
- Function expressions are useful for callbacks1
- Scope manipulation1
- What to add1
- Clojurescript1
- Client processing1
- Everywhere1
- Only Programming language on browser1
- Nice1
- Client side JS uses the visitors CPU to save Server Res0
- Because it is so simple and lightweight0
- Easy to make something0
- Easy0
Pros of Python
- Great libraries1.1K
- Readable code921
- Beautiful code815
- Rapid development764
- Large community669
- Open source414
- Elegant375
- Great community264
- Object oriented257
- Dynamic typing206
- Great standard library68
- Very fast51
- Functional programming47
- Scientific computing33
- Easy to learn31
- Great documentation29
- Matlab alternative25
- Productivity22
- Easy to read21
- Simple is better than complex19
- Imperative17
- It's the way I think17
- Very programmer and non-programmer friendly15
- Free14
- Powerful14
- Fast and simple13
- Powerfull language13
- Scripting12
- Explicit is better than implicit9
- Machine learning support9
- Unlimited power8
- Ease of development8
- Import antigravity7
- Clear and easy and powerfull7
- Print "life is short, use python"6
- It's lean and fun to code6
- Great for tooling5
- Fast coding and good for competitions5
- There should be one-- and preferably only one --obvious5
- Python has great libraries for data processing5
- High Documented language5
- I love snakes5
- Although practicality beats purity5
- Flat is better than nested5
- Readability counts4
- Multiple Inheritence3
- Complex is better than complicated3
- Plotting3
- Rapid Prototyping3
- Lists, tuples, dictionaries3
- Socially engaged community3
- Great for analytics3
- CG industry needs3
- Beautiful is better than ugly3
- Easy to learn and use2
- List comprehensions2
- Generators2
- Special cases aren't special enough to break the rules2
- Now is better than never2
- If the implementation is hard to explain, it's a bad id2
- If the implementation is easy to explain, it may be a g2
- Simple and easy to learn2
- Import this2
- No cruft2
- It is Very easy , simple and will you be love programmi1
- Batteries included1
- Because of Netflix1
- Web scraping1
- Easy to setup and run smooth1
- Pip install everything1
- Only one way to do it1
- A-to-Z1
- Many types of collections1
- Flexible and easy1
- Better outcome1
- Powerful0
- Pro0
Sign up to add or upvote prosMake informed product decisions
Cons of Java
- Verbosity29
- NullpointerException23
- Overcomplexity is praised in community culture15
- Nightmare to Write13
- Boiler plate code10
- Classpath hell prior to Java 98
- No REPL6
- No property4
- Code are too long2
- There is not optional parameter2
- Floating-point errors2
- Terrbible compared to Python/Batch Perormence1
- Java's too statically, stronglly, and strictly typed1
- Non-intuitive generic implementation1
- Returning Wildcard Types1
Cons of JavaScript
- A constant moving target, too much churn21
- Horribly inconsistent20
- Javascript is the New PHP13
- No ability to monitor memory utilitization8
- Shows Zero output in case of ANY error5
- Can be ugly4
- Thinks strange results are better than errors3
- No GitHub1
Cons of Python
- Still divided between python 2 and python 348
- Performance impact26
- Poor syntax for anonymous functions26
- Package management is a mess18
- GIL18
- Too imperative-oriented13
- Hard to understand12
- Dynamic typing10
- Very slow8
- Not everything is expression8
- Indentations matter a lot7
- Explicit self parameter in methods7
- Poor DSL capabilities6
- No anonymous functions6
- Requires C functions for dynamic modules6
- The "lisp style" whitespaces5
- Hard to obfuscate5
- The benevolent-dictator-for-life quit4
- Lack of Syntax Sugar leads to "the pyramid of doom"4
- Threading4
- Fake object-oriented programming4
- Incredibly slow4
- Not suitable for autocomplete3
- Official documentation is unclear.3
- Circular import2
- Training wheels (forced indentation)1
- Meta classes1