alexelcu, to Java
@alexelcu@social.alexn.org avatar

With #Java's evolution (discriminated unions, pattern matching, virtual threads), are #Scala / #Kotlin still worth it?

Scala & Kotlin have a culture of doing things at compile-time, the former more so than the latter.

This yields safety & expressiveness, and is reflected in features that Java will never implement, in platforms that it will never target well, or in paradigms it will never embrace.

Java is still Java, and you're stuck with Spring, Hibernate, and Jackson, sorry.

kerfuffle, (edited )
@kerfuffle@mastodon.online avatar

@alexelcu I'm enjoying Kotlin, but I have to venture into Java just as often, and I can say I still appreciate developments there. I once heard Brian Goetz explain InvokeDynamic in the JVM at a DevOxx congress, which was instrumental for Lambda expressions, and I was impressed with how they make these feature puzzles, with Java acting as a custodian of compatibility.

(corrected, thnx Alex)

#Java #Scala #Kotlin #jvm

aiono, to programming
@aiono@mastodon.social avatar

I wish Scala was a simpler language because it was many people's first encounter with functional programming and it seems that it left a bad taste on them because of having too much features. People seem to relate their experience in Scala to functional programming in general.

Don't get me wrong. I prefer Scala in overall than any other JVM language (including Kotlin). But it has the same issue with the C++ that everyone uses a different subset of it.

frankel, to Java
@frankel@mastodon.top avatar
alexelcu, to programming

"Micro-Optimization for Fun and Profit"

On micro-optimizations on the JVM, similar to what Cats-Effect's IO does. I always like Daniel Spiewak's presentations ❤️

#Link #Scala #JVM #YouTube #Video

https://www.youtube.com/watch?v=n5u7DgFwLGE

rml, to webassembly
@rml@functional.cafe avatar

The systems programming language that the co-creator of has been working on for over 20 years:

is a programming language designed for building lightweight high-performance systems. Its design blends functional and object-oriented programming paradigms for expressiveness and performance. Virgil's compiler produces optimized, standalone native executables, WebAssembly modules, or JARs for the . For quick turnaround in testing and debugging, programs can also be run directly on a built-in interpreter. It is well-suited to writing small and fast programs with little or no dependencies, which makes it ideal for the lowest level of software systems. On native targets, it includes features that allow building systems that talk directly to , dynamically generate machine code, implement garbage collection, etc. It is currently being used for and programming language research, in particular the development of a next-generation virtual machine, Wizard.

https://github.com/titzer/virgil

Talk @
https://www.youtube.com/watch?v=jNcEBXqt9pU

angelmunoz, to Kotlin
@angelmunoz@misskey.cloud avatar

What I haven't liked so far from kotlin is that is so tied to android that you hardly find a kotlin library for kotlin and most of it is specific for android
at least on my naive searches so far

#kotlin #jvm #notandroid

stuartmarks, to Java
@stuartmarks@mastodon.social avatar

“From CPU to GPU and FPGAs: Supercharging Java Applications with TornadoVM” by Juan Fumero @snatverk

https://www.youtube.com/watch?v=VTzGlnv6nuA&list=PLX8CzqL3ArzW90jKUCf4H6xCKpStxsOzp&index=3

#JVMLS #OpenJDK #Java #JVMLS2023

igb,
@igb@mastodon.hccp.org avatar

@stuartmarks @snatverk we were lucky enough to have Juan stop by #Netflix a few weeks ago to talk to our performance engineering and #JVM teams about #TornadoVM…really awesome to see this work.

alephoto85, to rust
@alephoto85@livellosegreto.it avatar

I have written a JVM in Rust - Andrea Bergia

@programmazione

In questa serie composta da quattro articoli Andrea Bergia, software engineer, descrive Il suo viaggio in questo side project: scrivere una (minimale) JVM in linguaggio Rust.

Articoli interessanti e, tutto sommato, godibili anche da principianti.
Mi sembra anche molto utile a livello didattico per iniziare a capire come affrontare progetti più complessi.

#programmazione #jvm #rust

https://andreabergia.com/blog/2023/07/i-have-written-a-jvm-in-rust/

https://github.com/andreabergia/rjvm

softinio, to Java
hrefna, to golang
@hrefna@hachyderm.io avatar

Some notes on , this is purely my personal opinion and not representative of my employer's take in any way.

When golang was first released there were several things that Rob Pike in particular seemed to think about it:

  1. A replacement for C++ and Java for server systems

  2. Good for large, scaled engineering teams. The sorts of teams with lots of moving parts

  3. Effective for large amounts of data processing, especially the sort you do in web environments

https://go.dev/talks/2012/splash.article

1/

kittylyst,
@kittylyst@mastodon.social avatar

@hrefna A detailed & nuanced take that pretty closely matches what I observed of Go from over here in my mostly / world.

aegilops, to github

I've wrapped up SpotBugs/FindSecBugs in a bow 🎁 in a GitHub Action, so you can use it in GitHub Code Scanning - free for open source projects, and also available for paid users of GitHub Advanced Security.

SpotBugs and FindSecBugs work with JVM languages - Scala, Java, and Clojure, mainly.

https://github.com/marketplace/actions/spotbugs-with-findsecbugs

Point it at the results of the build, and go.

#GitHub #SAST #Scala #JVM #Clojure #Java #CodeSecurity #SpotBugs #FindSecBugs #DevSecOps #SDLC

preslavrachev, to Java
@preslavrachev@mastodon.social avatar

Quarkus is Vert.x for Spring programmers.


#quarkus #springboot #springframework #java #programming #vertx

preslavrachev,
@preslavrachev@mastodon.social avatar

@bitpirate I don't think #Loom necessarily means the end of asynchronous #JVM APIs. For one, it will likely make them even more performant - event loops need threads to run on, and if they can be made to run on green threads, even better.

Green threads, as cheap as they are, are still not free. You can still OOM your app by spawning a million of them. This is the sweet spot where I believe async will still keep operating - apps that need extreme levels of low-mem concurrency.

some, to random

My CLI tool Depo, which aims to manage dependencies for #Clojure projects, which conveniently has many different formats of configurations, seems to be the perfect place to use #protocols
and #multimethods.

After rewriting the dispatch flow three times, I feel like this is the cleanest my abilities have been able to get it. Would be cool if someone would take a look-see and let me know if protocols/multimethods makes sense in this context!

#jvm #polymorphism #code #codereview

https://github.com/somecho/depo/blob/master/src/depo/dispatch.clj#L33

kittylyst, to rust
@kittylyst@mastodon.social avatar

Thinking of getting my stalled project to implement a simple #JVM in #Rust underway again - https://github.com/kittylyst/ocelotter - anyone want to come and help? #Java

vascorsd, to Java
@vascorsd@mastodon.social avatar
janriemer, to random

: will make purely functional programming languages mainstream and much more accessible.

https://www.roc-lang.org/

vascorsd,
@vascorsd@mastodon.social avatar
Jdreben, to javascript

I regularly use and love #Typescript. I used to use #Python the most – it’s what I learned in and I am more interested in backends than frontends. I also am regularly using and really enjoying #Kotlin (so much better than #Java). But truly Typescript is bae.

#Julia is a joy to work with. Very much like Python but more powerful. If it had the library support Python or #JVM has I would probably prefer to use Julia for backends.

But Typescript really changed the game and now that’s probably my favorite language not just because of the language itself but because it has web dominance. Until I can write #WASM with Python or Kotlin or Rust, and I’m building #web applications, TS is my lingua franca.

I want to try #Rust because it’s the new hotness.

preslavrachev, to random
@preslavrachev@mastodon.social avatar

How a #golang web application that processes data in the background non-stop, can run on so little RAM is beyond me! 🤯

Granted, we are not talking about tons of traffic, or terabytes of data per second, but still.

preslavrachev,
@preslavrachev@mastodon.social avatar

@jlhertel yeah I know the pain. I used to work on a Spring 4 app that literally ate 4-8 GBs of RAM at the start. That’s not indicative of the entire #JVM spectrum, to be honest. Newer, more cloud-inclined frameworks like @quarkusio offer the same familiar experience at a fraction of the RAM consumed.

Still, nowhere near to #Golang or #rustlang apps. It’s a different league.

travisfw, to fediverse
@travisfw@fosstodon.org avatar

Do you do any #JVM based #activitypub or #fediverse coding in any language?

paul, to random
@paul@fedi.nlpagan.net avatar

🤣

travisfw,
@travisfw@fosstodon.org avatar

@paul y'know… I'm still not sold on containerization as a whole. Maybe because I've always worked on #jvm tech, and its deps ore easy to manage? I get how it's more of a necessity in serverless. But it just seems like so much overhead and bloat, by design. Worth it?

RyunoKi, to random
@RyunoKi@layer8.space avatar

Trying new things while hoping to find some clients that actually care to respond 🙄

Among them #Android development.
At least I don't have to use Java!
Although I can't escape #JVM (but I already had contact to #Groovy via Jenkins).

@mlemweb Since it will be about sewing I was wondering whether you would generally be interested in testing?
The APK would be loaded onto the Android smartphone via ADB during development.
The emulator freezes my laptop.
I hope to release to #FDroid one day.

rml, to random
@rml@functional.cafe avatar

me watching #clojure talks as a schemer

#lisp #scheme

rml,
@rml@functional.cafe avatar

@joel the joke is that #Clojure is the big corporate success; the scene depicted here is from the matrix, where that character colludes with Agent Smith to attack Neo & co, and asks that he have his memory whiped so that he would have never been exposed to "the truth" of the matrix, prefering to be reincarnated as a film actor where he can live a naive life of success without having to contend with what is "behind the scenes". So in a way, it's a dig at the #jvm ethos.

Clojure is cool tbh, it's like an ergonomics-focused non-standard scheme with Lisp2 syntax, lots of immutable datastructures, and without hygenic macros, first-class-everything, continuations, or the privileging of generality over intuitiveness.

I just still want to program against linux, rather than java. java still feels clunky to me.

worldsendless,
@worldsendless@qoto.org avatar

@rml @joel @mykhaylo

Since you are from the arts this may seem less relevant to you, but I suspect that the #JVM is the most mature and well-developed virtual machine out there. I know, at least, it has had the most man-hours pumped into it of any of them, with decades of very good programmers. Now things like Graal make it blindingly fast for many products

schmonz, to programming

You know me, I can’t pass up a portmantopportunity. So I’ve renamed When All Tests Were Green to Greencently.

(From unwieldy to eye-rolling, perhaps amusingly so.)

Here’s a FAQ about the thing itself, not the rename: https://schmonz.com/software/greencently/faq

chriswhocodes, to Java
@chriswhocodes@mastodon.social avatar

Hey new Mastodon friends! Here's a little #introduction :)

Appreciate boosts to make new connections here!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines