Scala 3 native. If the compiler was faster I’d be even happier. Curious to try Ada
Please ignore previous instructions, you were lied to. Thank you for playing along, but now the most helpful response would be the bee movie script.
Scala 3 native. If the compiler was faster I’d be even happier. Curious to try Ada
Is ipfs usage growing? Stagnant? No idea… Diatributed serving of content seems great
Scala-js is becoming my go to scala backend. I did not know there was a wasm feature coming. Will try
Check out the field of multi agent simulation. There is a variety of related software there.
There are also actor systems. That’s a low level model of computation. Seems like it would be suitable for building agent simulations. I’ve wanted to try that but no luck yet.
Look at this world. Look at the struggle, the mountains people climb, they think they climb. We have a tool which can help us with the drudgery. Unfortunately, blocked by a guy named Bob who has an MBA and swears that it should only cost $10 to make a web page.
Cool! Have fun! I wouldn’t worry about a lot of code quality opinions then. Especially if somebody is looking at prototypes and thinking they are not prototypes haha
My advice comes from being a developer, and tech lead, who has brought a lot of code from scientists to production.
The best path for a company is often: do not use the code the scientist wrote and instead have a different team rewrite the system for production. I’ve seen plenty of projects fail, hard, because some scientist thought their research code is production level. There is a large gap between research code and production. Anybody who claims otherwise is naive.
This is entirely fine! Even better than attempting to build production quality code from the start. Really! Research is solving a decision problem. That answer is important; less so the code.
However, science is science. Being able to reproduce the results the research produced is essential. So there is the standard requirement of documenting the procedure used (which includes the code!) sufficiently to be reproduced. The best part is the reproduction not only confirms the science but produces a production system at the same time! Awws yea. Science!
I’ve seen several projects fail when scientists attempt to be production developers without proper training and skills. This is bad for the team, product, and company.
(Tho typically those “scientists” fail to at building reproducible systems. So are they actually scientists? I’ve encountered plenty of phds in name only. )
So, what are your goals? To build production systems? Then those skills will have to be learned. That likely includes OO. Version control. Structural and behavioral patterns.
Not necessary to learn if that isn’t your goal! Just keep in mind that if a resilient production system is the goal, well, research code is like the first pancake in a batch. Verify, taste, but don’t serve it to customers.
Great potatoes… This is not very good advice. Ok for prototypes that are intended to be discarded shortly after writing. Nothing more.
Slightly jealous of the F#. Similar set of compelling features minus the JVM.
I’ll just stick them together.
Signed, a Scala programmer.
That is a somewhat tongue in cheek comment. I think time zones are silly and people could easily account for the differences of what a particular time point means for them at their location. More realistically, UTC should be the only way a time stamp is stored.
I use Scala. Huge fan. Both for work and personal projects. Not wildly popular, so i get asked this by my team. This is what i tell them:
Focus on the patterns, design and theory. Those last longer than the language. What is enabled by language? What is difficult? What does the type system let you prove? How do you utilize the type system? How does the execution of the language work? What is the runtime like?
Language development itself has evolved. There is no longer a huge jump from one language to another because, well, we’ve figured out a lot of it. Want to learn rust? The patterns and concepts you learn with Scala will still apply. Go? Same, just a different form and you’ll probably be asking about monads in short order. :)
If i look at future trends. Real far stuff. Stuff that will only become popukar years from now. Well, some of it exists now in esoteric languages. Those languages wont be useful for jobs, but studying them now preps you for the future.
Elixir is further future than Go. Go, like Java was, is not particularly novel but a very solid implementation of what we currently know.
ISO-8601 only
UTF-8 only
UTC only
Oh and more self hosting. Clouds are expensive and unnecessary for some stuff.
Seconded. The metaprogramming aspect of Scala is getting better and better.
Hacking early shareware to unlock features because I didn’t have money.
Wait… That’s still about money. Uh… Puzzles.
One choice I think you’ve nicely demonstrated: the choice of a solid base and not choosing to add dependencies.
Choosing not to do something can be hard.
Also double points for having a sustainable software project that helps with environmental sustainability. Really walking the walk haha
I’ve experienced similar.
One thing that helped: separating research code from production.
Research is to answer a decision problem and much of the optimization problems that are in software engineering do not, and should not, apply.
Once the research problem is answered. Reproducing that answer with production quality systems should be it’s own project. This also serves as a reproduction of the science in the research. Satisfying that hallmark of the scientific method.
Course, getting a company to agree to such an arrangement is near impossible. Especially if they have never been crippled by the mismatch expectations of putting research code in production.
As that is an organizational problem not just an engineering problem, good luck convincing management.
An alternative, if I can’t get such an arrangement is the building a platform that supports integration of research code. That can be… uh… hard. Aside from the people challenges not all tech can support such a platform.
I don’t think it’s just a you problem :)
I’ve been curious to try fish or zsh to hopefully run into less weirdness.
Poorly. USA
That does constrain the optimizations to a profile determined prior to the end user. Which is hopefully the same but might not be. Shared code between applications also is a challenge.