rust
scala
Our great sponsors
rust | scala | |
---|---|---|
2155 | 38 | |
76,857 | 13,998 | |
2.5% | 0.4% | |
10.0 | 9.7 | |
5 days ago | 1 day ago | |
Rust | Scala | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust
-
Rust’s Ugly Syntax
Glad you like it 🙂 https://github.com/rust-lang/rust/pull/58530
-
Rust's Ugly Syntax
It's directly responsible for Rust needing the "turbofish" syntax to pin down generic return types as in
let foo.iter().map(|x| x*2).collect::>()
If they'd used something like [T] for generics, then there'd be no collision with the < and > operators needing disambiguation in some contexts.
They even have a Book of Mozilla-esque entry in their test suite named "Bastion of the Turbofish" to pin down an example of the problem case, complete with
https://github.com/rust-lang/rust/blob/43192ca3d72ed0ca42ba9...
To my knowledge, this closure syntax was a direct Ruby influence mainly because this syntax was also supposed to work like Ruby blocks: `array.each |e| { ... }`. Originally owned and shared closures had a different syntax (`fn~() { ... }` or `[email protected]() { ... }`)---this was back when Rust had a built-in shared reference, roughly equivalent to `std::sync::Arc` in the modern Rust---and it was pointed out that they should be harmonized at some point [1]. It was that time when people realized that then-loop-only syntax can be generalized into any closures, and this semi-decision got stuck even after the "internal" iterator that accepts a closure has long gone.
-
Modulo of Negative Numbers
I found only this issue https://github.com/rust-lang/rust/issues/87970 but has no details
Here's the discussion that lead to the implementation of those functions, from more recent to least recent,
* the tracking issue https://github.com/rust-lang/rust/issues/49048
* the RFC https://github.com/rust-lang/rfcs/pull/2169
* the internals discussion https://internals.rust-lang.org/t/mathematical-modulo-operat...
It's baffling that Rust got this wrong..
-
Memory safety is the new black
If rust has no runtime, maybe you could enlighten us as to what this is: https://github.com/rust-lang/rust/blob/master/library/std/src/rt.rs
-
Next Rust Compiler
I don't want to list specific contributors here. We often have no information on why people left the project - there might be all sorts of personal factors. I will say that my broader sentiment - that Rust's momentum has slowed, that it's not delivering on its commitments in a timely way, that there are concerns about it's ability to deliver in future - has been expressed publicly by high profile past core contributors:
https://github.com/rust-lang/rust/pull/96709#issuecomment-11...
I don't think Rust should tackle any ambitious project to rewrite the compiler while these basic concerns remain.
-
Announcing Rust 1.67.0
Ah fair. You're right that the linked graph is over one year, but then I switched tabs to look at https://github.com/rust-lang/rust/graphs/contributors which has a longer time period
Commit counts regularly fluctuate: https://github.com/rust-lang/rust/graphs/contributors
Potentially it is due to this layout optimization and a missing repr(C) somewhere in your code or a dependency. For example, here is an is a related issue in luminance.
scala
-
Data Engineering and DataOps: A Beginner's Guide to Building Data Solutions and Solving Real-World Challenges
In addition to Structured Query Language(SQL), we can also use a variety of different programming languages, such as Python, Java, JavaScript, R, Julia, Scala, or any other programming language as long as it supports a basic database connection and functions to perform all of those operations, to connect to databases and perform more advanced query operations on the data. This gives us greater flexibility and allows us to apply custom-created logic to the data.
-
A Small Introduction to Functional Programming
Based on Lambda Calculus, developed by Alonzo Church in the 1930s, functional programming has been implemented in mainstream programming languages like JavaScript, Python and Java. Programming languages like Erlang, Haskell or Scala are better suited for functional programming as they are designed to be functional first.
-
Micronaut vs others(Spring Boot, Quarkus and co.)
Tapir is a Scala framework. (which runs on the JDK) Since the recent release of version 1.0, it's become my go to for many projects. It doens't provide much in the way of integrations with 3rd party frameworks, but I actually prefer that. It does autogenerate great swagger docs though.
-
Scala 2.13.9 is here
details: https://github.com/scala/scala/releases/tag/v2.13.9
It already 99% worked. We just needed to upgrade ASM to a version that recognizes JDK 19 bytecode, so the optimizer (which most people don't even use) can function on JDK 19. The PR was https://github.com/scala/scala/pull/10001 — eazy peazy.
-
Scala 2 compiler plugin to detect unused expressions
See also https://github.com/scala/scala/pull/9893, this will be in the upcoming Scala 2.13.9.
-
Programming languages used by top companies?
Scala - Popular in the data-science world, particularly when working with distributed data processing (e.g. Spark). Lots of large companies have dedicated data teams that process the huge amount of analytics and other data the games produce.
-
Documentation?
www.scala-lang.org
-
Appropriate, Correct, Robust, Usable, Maintainable, and Efficient (ACRUMEN) with Dave Aronson
I took a look at some Haskell; like I said, I never actually learned it, but I have seen some. And I briefly dipped my toes in Scala awhile back, and it seemed like a good thing. And then came the Phoenix web framework drawing heavily on the general concepts of Rails but with the slightly different philosophy of making things more explicit rather than the infamous Rails magic, which is so helpful when you're doing things the Rails way. But if you try to fight it at all, no, no, no, that magic is a plus-five sword against you. [laughter]
-
Google has contributed a immensely to the software world with product and services like android which is open source, firebase, google colab, many programming languages and frameworks like flutter, what has apple really done?
It's not that I'm forced directly, but, well, there is a reason why Android apps are in very big part done in Java and Kotlin. The Android virtual machine, ARM, is not 100% compatible with standard JDK - and it looks like a deliberate decision that Google didn't put effort into making it compatible. With this in place - and with Kotlin being the one language backed up by Google for writing apps on Android - if you use anything else, you may run into some problems sooner or later. They are not unfixable, but it is an uphill battle, while in the same time everywhere you turn you will find comments along the lines of "why bother, just switch to Kotlin". And since Google is so big, this pressure is big enough to demotivate people from working on other solutions. Instead, they work on solutions supported by Google. Which creates an avalanche effect - it gets even easier to work in what Google backs up, and even harder to work in something else.
What are some alternatives?
carbon-lang - Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
Elixir - Elixir is a dynamic, functional language designed for building scalable and maintainable applications
kotlin - The Kotlin Programming Language.
rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]
Odin - Odin Programming Language
mimalloc - mimalloc is a compact general purpose allocator with excellent performance.
go - The Go programming language
Rustup - The Rust toolchain installer
spaCy - 💫 Industrial-strength Natural Language Processing (NLP) in Python
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266