I'm trying to learn Scala but being forced to learn Scala Build Tool script instead.
SBT sucks. When are they going to fix the Gradle plugin?
I'm betting this is why the libraries are underdeveloped and kind of abandoned in some cases too.
I wanted to use Scala Swing but then I found out it hasn't been updated in like 9 months and is missing key features that make it unusable as an alternative to the full Java library.
I was going to work on the library but then I found out I'd have to use SBT to do so.
And their new testing library which I can't even seem to find a repo for. Perhaps it's inside the compiler repo which seems to be overly monolithic?
[#]Scala #Scala3 #ScalaSwing #JavaSwing #Swing #JVM
=> More informations about this toot | More toots from halotroop2288@techhub.social
Example of how terrible SBT is, from the Scala Swing build script:
run / fork := true
What the fuck does "run divided by fork is created and assigned to true" mean?
=> More informations about this toot | More toots from halotroop2288@techhub.social
@halotroop2288 I wouldn't be that hard in this particular case, "/" has a pretty long history of being used as "path element separator" (unix, XPath, etc) and samewise, ALGOL started the tradition to use ":=" as assign the rh side value to the lh side ... I suppose the gradle equivalent is:
run.fork=true
i.e. "run dot product fork equals true" , which can also be pretty confusing in a build script :P
=> More informations about this toot | More toots from gclaramunt@mastodon.social
@gclaramunt No. Not in object-oriented programming. The dot is the standard separator between child elements. Actual path separators are only a thing in string literals.
Dot-products are usually defined as functions, not operators.
=> More informations about this toot | More toots from halotroop2288@techhub.social
@halotroop2288 my point was that reading symbols applying a different meaning ignoring the context, could easily lead to nonsense. In this case, I don't think it will be hard to build a mental mapping of "read / as child selector and := as assignment" that will allow to gain a better understanding of what that particular part of the build script is doing.
=> More informations about this toot | More toots from gclaramunt@mastodon.social This content has been proxied by September (3851b).Proxy Information
text/gemini