Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (757)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (844)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: 1 [2]
  ignore  |  Print  
  Off-Topic: Java and Framework Alternatives - 'Friendly' Discussion.  (Read 22066 times)
0 Members and 1 Guest are viewing this topic.
Offline gene9

Senior Devvie

Medals: 10

« Reply #30 - Posted 2013-10-29 15:24:43 »

I'll just leave this here: Rust

Nice language. A bit buggy though, and incomplete (impossible to make a doubly-linked-list without unsafe code), but that's to be expected as it is still under development.

Also, it's AOT compiled, and can run on most common platforms, but the standard libraries only work on Win/Mac/Linux.

Once this is complete I would consider using it as well as, or instead of Java.

I mentioned Rust. The language design looks extremely similar to Scala. Almost every Scala pro I mentioned applies identically to Rust.

- Similar variable and function declaration syntax. Optional types on the right after a colon. Defaults to type inference
- Avoids null. Both Scala and Rust use identically named "Option"
- Rust has an identical pattern matching mechanism to Scala.
- code blocks return values. if expressions make the ternary operator unnecessary.
- void type is called Unit.
- Both have native tuples.

The big difference is Rust is designed to work in a native, C-centric world, while Scala is designed to work in the JVM managed code world.

For some apps, such as a Firefox type web browser, the JVM is not an option. I imagine that is what the Rust team at Mozilla have in mind. That needs to work at a lower level. For a video game targeting Mac/Win/Linux, JVM seems ideal. The downside of JVM for games, is there is that the entire community is C based and JVM has terrible runtime options for consoles and iOS and even with Android, Dalvik is a high performance runtime like desktop Java.

I think the integration with the C world is much more important than AOT compilation. There are AOT compillation options with Java, they aren't polished, but even if they were, I think that's less important that C world integration.

Other Rust v Scala differences:

- Rust has more direct control over low level memory issues, which I imagine has both pros and cons depending on the scenario. Rust has more support for stack allocation, exposes pointers, optional, more manual garbage collection.
- Rust arrays use a disjoint syntax from other generics classes. IMO, this is a mistake.
- I've never used Rust but it's clearly a rare more obscure language, so it will not have the fleshed out community and tools and library ecosystem that Scala has.

Pages: 1 [2]
  ignore  |  Print  

EgonOlsen (59 views)
2018-06-10 19:43:48

EgonOlsen (42 views)
2018-06-10 19:43:44

EgonOlsen (61 views)
2018-06-10 19:43:20

DesertCoockie (241 views)
2018-05-13 18:23:11

nelsongames (142 views)
2018-04-24 18:15:36

nelsongames (141 views)
2018-04-24 18:14:32

ivj94 (883 views)
2018-03-24 14:47:39

ivj94 (144 views)
2018-03-24 14:46:31

ivj94 (795 views)
2018-03-24 14:43:53

Solater (159 views)
2018-03-17 05:04:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!