#dev-general
1 messages · Page 550 of 1
so there was an 18 day period where shadowjar no worky
though I bet you could dev build it yourself
or early builds
i like ya cut g
owo ???
Ok well i could have actually gotten in before april
I know i wasnt trying shadowjar 7
also wait how were you building without shadowjar lol
k ily bye

HAHA lovely
in other news
yugi is a hero
i am going to install cinnamon right this instant and apply this theme
Well i havent needed to yet
and then get really mad when it doesn't work yet
or atleast not as a megalith
no releases yet? lol
well im not even close to done lol
literally every theme I've ever tried to install
though i probably should get a version of my mixin stuff out
millions of problems
then it looks really ugly and i get dissuaded and go back to windows 😦
oh also, cool fact
Windows itself supports BTRFS better than WSL does somehow
y would you want any other theme when you can get IJ default high contrast?
well sir, IJ default high contrast doesn't really work on Cinnamon
but maybe i could try lmao
Ok I really though intellij just broke with the latest update
lol whats cinnamon?
It stopped working completely for an hour or two straight
besides an excellent breakfast roll
any idea why classes from the main package aren't available on test? 🤔
Now it finally opens up
i need IJ 2021.2 to release
obv you can't
test directory isnt marked as test sources root
though i woudlnt need it
windows or mac you're stuck on the regular DE
man remember when GNOME was cool
and then they did like one wrong move and literally 6 DE's broke off from them and became their own thing
well fuck https://i.imgur.com/C19YOLV.png
Ok wait star, y is it that gradle doesnt have something like shadow jar built in? LIke how did you do anything before it?
like builds
maven doesn't have shade built in either
and you can still build
it just doesn't shadow dependencies in for you automagically
ya but maven just works
lol
though ive never actually done multi module builds with it
dude I've had nothing but good times with gradle
hardly anyone uses jigsaw, and those that do understand how to use basic tools like shadowjar
Well first off, mean, but ya i defintely should have been using shadowjar... there are a bunch of little things that shadowjar will fix for me that will be nice ig
like the fact that a file tree as a dependency doesnt seem to work with jpms
in gradle*
i mean you started off the meanness by dropping "gradle is the worst im going back to maven" lol
when it turns out you were doing the super annoying stuff all by hand lmao
whats super annoying stuff?
relocations, namespace handling
I still feel like i have justification with that comment, as all ive had with maven is bluss and all ive had with gradle is pain, but ya i defintely know maven better so that might be a factor
like preventing conflicts and stuff
"Priority-Medium" lmao
ah alr, well tbf im pretty sure i just super unlucky with the updating of the shadow plugin
and then only checked their readme
Alr im gonna head to bed, Cya
what's that for lol
how does one create the test module? I used to work with just creating the folder
wow did not know code.google.com existed lol
ah that's good
man gentoo is really testing my dedication
problem after problem with package managing
really makes me want to plug in an arch usb and 15 minutes later be on arch
yeah honestly, i can't figure out how to get refind to recognize my config
so I have to press tab twice and enter root=/dev/sda1 before every boot
so uh, good luck hacking my computerlmao
lmao
oh k
that kinda suck
since it took me ages to type this
oh general-plugins is also for self dev'd plugins?
if you're developing your own plugin, #development
See how it's under the support category?
oh there is another one lmfao
Ask for support in #dev-general and you'll regret it for life
Hi I need support, dis no work?!?
Where is that from?
Wait wtf
ah bstats
im honestly really hyped for java 17
I really hope this change leads a lot more people to just use Java 16 for their every day java uses
🥲
What’s in j17? Sealed keyword?
maybe that's out of date
Its from this march
well minecraft swapped after that
and I think minecraft is one of the biggest java users out there honestly
Im sure its not
I mean I feel like it takes up a large chunk of the individual peeps that aren't like companies
I dont think we can really group android into any java version
Android doesn't really "run" Java though I think
plus android uses kotlin mostly
Oh fair
Its kinda stuck at 7 with 8 syntax and some api allowed through sugar
Android is such a weird thing
ikr
iphone gang
True
swift is actually kinda nice yo
iOS all the way babe
🙂
Yea I looked at swift once earlier, havent got a chance to use it yet
it's a lot like kotlin
and a hell of a lot better than objective c lol
You do manual memory management with Swift or no?
😷

p sure it has gc
Oh that’s hella lit then
though swift uses reference counting
which is... an interesting choice
has less lag spikes I guess lol
looks like it also allows unmanaged objects where needed
Android is this hell hole of, "Is it Java?", "Well..."
Imagine debugging
and trying to evaluate something with the standard api
only for it to say "ClassNotFound"
😌
lol
🥲
Because it never linked it as it wasnt shaded
even the jdk
😌
Absolute fine piece of ________
It doesnt suppourt the stream api unless you build with like api version 28+
java 8? who needs all this newfangled technology
btw did you hear about the Security Manager in 1.3? seems very promising!!!
Theres a stream suppourt library that provides an extracted version of the stream api
This is why you use Kotlin for Android
😌
I'll admit kotlin brings its own set of issues sometimes
Android's permissions are cancer
Absolute
oh boy just started recompiling gcc again
cancer
time to sleep
what is it
Oh you want to do something now? Before you do anything, split off into two ways, you need to make sure the user has the permission
So now you have a billion branches or permission response listeners to respond
oh I thought you were complaining about like ACLs lmao
And fuck off
And they themselves have so many issues due to the lateinited context
Oh you initialized your listener too soon? too bad, time to crash, I didnt get a context
Actually I think it was the opposite with those
Like they needed to be initialized when the context is created
🥲
I think the older android versions asked for permissions during installation
That was probably much much better
like during kitkat or something
But yeah the whole permissions system was garbage, it being in the manifest, then asking explicit permission for others, listening to the response "what is this array for??", not know what to do when this is that happens, then there are like 3 or 4 different "permission" classes with int flags but they all do different things
The amount of int flags there are
Oh my god
Everywhere
yea and the classes they are from make no sense either
The permissions result is from PackageManager
kitkat?
Oh and navigating the source files is literally impossible
oh I thought that was a python-only problem haha
i got a typerror in my python django project
turns out the JSON boi can't work with Decimals, so I had to manually convert my values to Floats
Lmfao
and do you think the error message was anywhere close to the actual problem?
it was at least 6 files removed
😂
i actually managed to break a part of the permission system yesterday
Well kindof
the java api itself thinks all permissions were granted
but anything native checked with the app's uuid
so that failed
I mean it works, but just gets really annoying at times
Also, apparently jb compose is really good
Its still in alpha tho
Tho they renamed it a bit for android
"Jetbrains Compose" -> "Jetpack Compose"
I don't know about you and maybe I was just stupid but I remember the documentation on many things being so slightly unrelated to the topic it made no sense, never being able to find a concrete answer on how to do X
Oo
yea Stackoverflow helps a lot xD
🥲
https://developer.android.com/jetpack/compose/tutorial omg this just reminds me of how much I actually love these kinds of websites
the continuous scrolling ones, that is
where you scroll and it's kinda like a video
well, more like a slideshow, but you get the point
I might actually try something like this on Krypton's website when I eventually get round to it lol
because why not
https://spark.lucko.me/35Im0islSC can somebody help me out with this? 😅 the server operated just fine last night with the same amount of players (~40) and today it almost crashed 😵
lol
nowhere near
though I do have a new team member now
look in the Discord
I see this wannabe cartoon guy on every GitHub repo
Called Starmism
Cant possibly be you Star? Right????
oh yea yea
🤪
that was before I had heard of gradle
anything before like, the start of this year basically
Oo good boi
also i spent an inordinate amount of time on hotelman for my sql class, I was the only contributor in the group, and we got 5 extra credit points
that's it
felt pretty bad
🥲
Dev team on the spot
?
how
see that guy's error message?
Ye
in the latest papi update, I added that
Oo
before I added it, it would've given a really nasty error and broke the entirety of PAPI
like you can't even do papi dump or reload
Contributed 
I got listed as contributor on the update page.
I did absolutely nothing except offer moral support tho
moral support is very helpful though
i could've used you when I was getting railroaded by the boys over my minor code formatting
What’s the catch?
so its better for you that I wasn't there
😦
Does any of you have access to the DeluxeMenus repo?
yeah I usually join the bigger and cooler group even tho I Don't agree with them. I Just want to look cool
yes
ok so I have to chose from adding you to the repo or IP banning you? think I'll chose the second one
do not hate on me but
i have had to make a sad decision
I have enabled light mode on my ides
but just temporarily cause i can't see shit in the sun
hope you guys can forgive me
multi tasking is important: tanning and working
lmao
lol
i mean you've already got so much light
i don't think light mode really affects much
it's just really bad when you're in a dark room and you click on the tab and you get flashbanged lol
yup
@frigid badge You're forgiven. Go get a sexy ass tan
yay 😉
why is that?
I hate you
you sure you're checking object equality and not reference?
You sure do love being flash banged don’t you
Lol
Remind to turn around so you dont get a laptop shaped tan :) noob
lmao
wanna get flash banged?
here
get flash banged
@obtuse gale please send me a friend request to talk about your plugin request
😫😫
Or open DMs
It was yeah xD
maybe he moved to EU?
😩
He's trying to get your attention so you invite him 😩
don't worry. I'm not
👀
its only 1 click to invite him!
Wait for him
why do i get this error:
[20:20:56 ERROR]: Could not load 'plugins\fabledRank-0.001.jar' in folder 'plugins'
Caused by: java.lang.NullPointerException
at net.mytale.fabledrank.FabledRank.<clinit>(FabledRank.java:66) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_291]
at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_291]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[paperSpigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[paperSpigot.jar:git-Spigot-db6de12-18fbb24]
... 6 more
Before you re-ask though, give more information
I got a weird question but lets say I have openjdk1.8.0 installed and also 11 is there a way to run a jar with the 1.8.0 one?
bcz java runs the 11 one
or where do I select which java version should be used? like when using java
I'm on kde plasma
You would have to modify your path variabel
@echo off
set JAVA_HOME="D:\Program Files\Java\jdk-16.0.1"
set PATH="D:\Program Files\Java\jdk-16.0.1\bin";%PATH%
java -Xmx2G -Xms2G -jar paper-1.17.1-104.jar nogui
PAUSE```
This is what I use to start my servers
If you used sdkman to install, you can use it to switch between versions
yeah found that out just dk where it is xD
should be in .bash_profile
oh apparently I can just use update-alternatives --config java
You can add java 8 to the bginning of the path as well if you just want it temporary
yeah that seems to have worked. what I just found
oh
I could've just ran the path
instead of the java command right?
like /path/1.8.0/java WHATEVER
aaaannnnnddd, spring data jpa had a release 4 days ago that fixed all my module issues which i could have fixed anyways with the shadowjar plugin... so many feelings
u can just do ```bat
@echo off
D:\Program Files\Java\jdk-16.0.1\bin\java.exe -Xmx2G -Xms2G -jar paper-1.17.1-104.jar nogui
PAUSE
nvm the spring starter jpa still hasnt released 2.5.3
Could not find spigot-api-1.16.5-R0.1-SNAPSHOT.jar (org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT:20210517.081640-80).
Searched in the following locations:
https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/spigotmc/spigot-api/1.16.5-R0.1-SNAPSHOT/spigot-api-1.16.5-R0.1-20210517.081640-80.jar
what do I do when this shit happens? 🤔
Maybe invalidate caches
nope
wait wakatime doesn't store the info for projects? Like I Know you can only see last 14 days with free account but I would've thought I Could see how much I've spent in a project or something like that
but even per project stats are 14 days max
Yeah it's always just 14 days
I wonder if premium would give you the stats from before. like does it store them?
Just go through your emails nerd
Pre-resolutions work 😌
idk what that is all about but 😌
resolving the dependencies at compile time to speed up the resolution process
Didnt pdm do it at runtime as well?
it did it at compile time if possible
I see
😌
did i ask?
no but i did
nobody cares
right because nobody uses pdm
hahahahahahhaahahahahaa
😢
in kotlin are things like .filter .map etc (on a collection/iterable, not a Stream) eagerly or lazily evaluated?
WHAT
😌
😌 😌 😌 😌 😌
lmao
sHuT uP
have a nice day! 😄
btw matt
i got the plugin management thing working
I had to delete the module file from the local repo to get it to work like the issue you had earlier
Did you try the change i did to not generate it?
Yeah, it's just this ;p
https://github.com/TriumphTeam/gradle/blob/master/plugin/build.gradle.kts#L109
cIass 🥲
okay even better
cla$$
I normally do clss or clazz
@old wyvern in case you didn't see ;p
Can someone tell me a quick explanation of stream in java?
For example in maps
But I think it's also used in other scenarios?
@prisma wave wheres your milf filter example
the what 🤣
aaaaaaaa I forgot about that lmao
I think he changed it eventually
my blog has been down for like a year now ☹️
F
Streams are more like a "flow" of data, they can be infinite, and they process each element at a time. Perhaps like a conveyer belt in a factory
So only used for collections really?
Not necessarily
There it is 😌
https://i.imgur.com/vDU6ott.png well, at least this is actually an understandable reason to fail decompilation lol
But typically, yes. They're often used to transform collections in a prettier and more functional way
But not necessarily
For example the SplittableRandom class has methods ints() and doubles() that return an infinite stream of random numbers
So an example of using a stream could be to sort a collection?
yesn't
welp
it won't sort the collection itself
I know
but you can get a sorted collection from another one
kinda
yeah there are methods
imagine a stream as being an actual physical stream of flowing water
there are things called Collectors which will turn all of the elements in the stream into 1 thing (eg a list or a map)
the stream just keeps flowing, right? well, until it runs out of water, of course
should definitely read the javadoc of a stream
But using streams just to sort a list is stupid because Collections.sort is a thing
its quite detailed
lol
Aight, because I'm not sure what the difference between a stream and collection is then, a stream is unlimited or what?
Streams can be unlimited, but not necessarily
So it's just a collection?
collections are, for the most part anyway, limited to the maximum size of Int.MAX_VALUE
Long: am i a joke to u?
A collection is just like a box of things, a stream (like bardy and I said) is more like a literal stream, where it just keeps flowing until something makes it stop
unless you use fastutil, which has big arrays/collections that, iirc, use BigIntegers or something to store their size
Wait what are the limit sizes actually for like ArrayList or HashMap?
big
big enough to where ull probably never reach it
No need to worry lol
probably int max value but it would depend on the implementation
well theoretically anyway
You'll usually run out of heap space before you could hit the theoretical max
d;jdk Stream
public interface Stream
extends BaseStream<T,Stream<T>>```
Stream has 36 methods, 1 extensions, and 3 super interfaces.
1.8
d;methods jdk Stream
java.util.stream.Stream#noneMatch
java.util.stream.Stream#flatMapToInt
java.util.stream.Stream#skip
java.util.stream.Stream#of
java.util.stream.Stream#distinct
java.util.stream.Stream#flatMapToLong```
Collections contain data themselves, the data is already there
Streams are "processing pipelines" that don't contain data, the data is evaluated as it passes through the pipeline
Then you can use what's called a collector to collect the data the pipeline has processed
Yes based and true
Pipeline is a good term
Streams generate and process data, collections just hold the data
^^
According to my calculations you'd need 64GB of heap space to fully fill an ArrayList with an object that takes up 32 bytes
that moment when a single package-info.java contains more documentation than whole projects of yours 🥲
🥶
which is a lot
But wouldn't that be kinda the same as looping through a collection then?
1tb of ram incoming
yes but no
yesnt
Oh well
using a loop would require the data to already exist
Usually IntelliJ offers a way to convert streams to a for chain loop or whatever it’s called in Alt + Enter
streams work based on what's called "lazy evaluation", things are "pulled in" as they are needed
intellij should reconsider
But doesn't a stream also require data to exist? Or well the stream won't do anything without the data?
The stream doesn't have a concept of the already existing data
it just processes one element at a time, regardless of where it's coming from
Let's use the example I mentioned earlier of SplittableRandom#ints
We can always generate a new random integer, there's an infinite amount
So no, it doesn't have to already exist
It’s pretty meaningless to use a stream if you don’t have any data/elements to process, but that goes for a normal loop also
A stream could take data from a file, reading a new line each time, or a website, or a database, or a mathematical formula, or anything really
The data that goes through the pipeline can and usually is coming from a collection with already existing data, yes, but it can also be generated as it is needed, not from a collection, but from a generator
They don't have to be infinite but one of their core concepts is that they can be
^^
"from a generator" what would a generator be?
^
Ohhh yeah
Hi also everyone here should start playing Clash of Clans ok ty pog
A generator could also be a collection (I think it reads it lazily?)
Excuse me sir

But this server is house of Raid Shadow Legends
Got an old account with TH10 or something I think lol
yeah.
Also btw when would one use this
those who get sponsored multiple times. bcz they have to play 10 minutes every time
d;StampedLock
public class StampedLock
extends Object
implements Serializable```
StampedLock has 1 all implementations, 28 methods, 1 implementations, and 1 extensions.
A capability-based lock with three modes for controlling read/write access. The state of a StampedLock consists of a version and mode. Lock acquisition methods return a stamp that represents and controls access with respect to a lock state; "try" versions of these methods may instead return the special value zero to represent failure to acquire access. Lock release and conversion methods require stamps as arguments, and fail if they do not match the state of the lock. The three modes are:
- Writing. Method
writeLock()possibly blocks waiting for exclusive access, returning a stamp that can be used in methodunlockWrite(long)to release the lock. Untimed and timed versions oftryWriteLockare also provided. When the lock is held in write mode, no read locks may be obtained, and all optimistic read validations will fail. - Reading. Method
readLock()possibly blocks...
This description has been shortened as it was too long.
1.8
ReentrantLock would be capable of that also or what’s the difference?
how much I care about it
LOL
that's the difference
Hmm so no difference
They are not reentrant, so locked bodies should not call other unknown methods that may try to re-acquire locks
StampedLocks have no notion of ownership. Locks acquired in one thread can be released or converted in another.
Oh okay, danke
Locks are kinda cringe
just like you
🥰
Immutability u prefer?
Fuck you
Not necessarily
😵💫
\😵💫
dot
Worm
lmao
🥲
LOL
\🌞
Some kind of joke???
yo BM do you have a repo mirroring central?
\☹️
\❤️🔥
〽️
woah
Nooo
\🔰 \⚜️ \🔱
im lovin' it
\🇮🇴
Fuck you
\🇺🇲
aaaaa why does github actions suddenly take over 10 minutes to build 2 docker images
Taking the piss
all I did was make it produce an arm64 image as well

almost 20 minutes now
Objects.equals(null, x)
if statements 🙄
lol no
I mean you still have to put it inside an if
More for API elements or things that should straight up not be null (e.g. getResourceAsStream) but yes
I use preconditions cuz im weird
Optional as return type, @Nullable and @NotNull for parameters
mhm
Returning null is straight up an act from hell
When returning collections you don't return null, you return an empty collection
lol I mean
Optional<YOU> lol(Optional<ME> me, Optional<THEM>); pog
spigot :good:
oh wtf
bruh emote
hehehaha

Also known as @quiet depot

yee, maybe they couldn't handle it or something lol
Uh how does that work
BE doesn't support modding
Or is there any "official scripting" or smth?
I used it in my PAPI commit
Since, ya know, it really should error out if one of the required methods isn't available
Plus it provides a nice message too!
Yeah for API elements rnn is fitting
Lombok @NotNull codegen🤤
wait till you get to a point that people are breaking interface contracts lmao
no annotations will save you
you should see what doing /papi parse me %luckperms_primary_group_name%
hmmm
try printing it with the javascript
then see what it is raw
print it
with javascript
console.log or whatever
cause your chat is parsing the color codes
and i bet it's not what you think it is
That's not the same
Print the javascript
then you'll see what you're actually receiving
that's because PAPI is rarded and pre-parses the color formatting
tfw you forget which username and password you used to ssh onto a server
yeah he's a little weird
he asked me if my problem was like 4 different problems and I just kept reiterating the same thing lol
They probably have some systematic they are asked to deal with customers
like get any of the basic possibilities out of the way before wasting time
plot twist: Carl is an AI
LOL!
LOL!
awe yeah he gave me a survey
time to rate him 10/10
i think my dynmap is a little big
this has been going for that entire support conversation
its fiiiiine
k so uh, that generated about 25GB of dynmap
😌
Bukkit plugin dev be like https://media.discordapp.net/attachments/731716941022101627/867222135714086923/unknown.png
imagine getting fucking wallbanged by an AI
wallhacks
Oh that is beautiful
lmao, mc dev plugin should do something for that so bukkit Listener is first in the list :))
i have never heard anyone say "define" in that context
oh
Define ye I mean you could say define a class or define a variable
Nothing special about it probably
So like in this example
int x;
x = 10;
What would you call the action when you do x = 10?
instantiate right?
Assign
Or set x to 20
Guess you could say define x to be 10
Sounds weird imo
Instantiate is when you create a new object
Ohhhhhh okay
10 is an int, which is a primitive type and not an object
and yeah Assign sounds better
You just assign the value to the variable ig
In the example above
So assign for primitive types and instantiate for creating new objects.
Instantiate has nothing to do with assignment
It’s just object creation
new Object();
Ohhh
This would also be an instantiation
assigning and declaring are to do with variables
No assignment to variables there
Because this is instantiation Object obj = new Object() but this isn't Object obj = anotherObject
Second example would also be assign right?
But first is instantiation
You declare a variable in both examples and then you assign both variables to an instance, the first one is where you create a new object, second one is just assigning it to an already existing object.
Yeah, and when creating the object with new Object() it's instantiation right?
But only that part
Yes
So what's the difference between assigning and declaring then lol
declaring when you do int x and assign when you set it to a value?
You can assign a variable multiple times, only declare it once
Makes sense
typically you do both at the same time though
Yeah
Ideally ye
int x = 10;
imagine reassignment being allowed 🤮
so final means you can only assign a value once right? but that value could potentially change?
yes
it's "reference immutability" - the variable can't change, but if you're storing something like a list, that list could still change
^
🅰️

What's so good about Haskell or whatever, I don't get it
🇸
everything
The code looks so ugly imo lol
nahhhhhhhhh
Absolutely not!
Good statement there valdemar
The ValdemarF Haskell Theorem
I mean in that same sense people could write horrible things in any language
Irony or do you not like haskell? lol
That doesnt make the language inherently bad
It’s bizarre sometimes
That makes the author of the snippet bad
Gross incapable humans
So what are the advantages of Haskell?
Copilot 🤡
it's safe
Very safe
it's concise
Wdym "safe"?
it's pretty much impossible to get bugs apart from logic errors
The type system makes sure you dont run into much of any errors
Like error-wise?
yes
So more warnings when making the code?
it's pretty hard to get actual errors at runtime
Or what makes it more safe
is there a library with multimap, other than guava? That shit is thick
it just won't compile usually
so yeah, i guess so
Ahhhhh
which obviously means it's harder to write code, but it usually means that if it compiles, it works
Not as bad as c++
i dont think theyre that bad
So kinda bad in your opinion?
I mean compare it to Elm with similar capabilities
just make your own lol
Ussually its fine
true yeah elm is significantly better
But it can get complicated sometimes
but elm is significantly better than every language
Yes
elm and rust win the error message competition
So it won't compile if there's a chance of a null? Or what
No
Which shouldn't be there ofc
There is no Null
What?
Null is great
Haskell has no concept of nullability
Bad
So if you try and get something from config.yml but it's not there what does it return?
depends, often you'd use something called "Maybe"
which is kind of like null, but it forces you to check it
smh fine bm
almost definitely java
lol
but probably not exclusively
Why tho
what other options are there?
Because the sever software is written in java
Haskell?
i wish
Or am I misunderstanding this lol
you cant write plugins with it sadly
Oh what
not without immense amounts of pain anyway
I thought you used it for plugins also lol
Not every language runs on the JVM
Ahhhh
not worth it
Did it work?
mhm
Elara?
😌
welp
Are you creating a new language???
Sounds complicated lol
it's not as complicated as you might think
Like you're creating it from the bottom or what?
yep
But like that requires using binary code etc doesnt it?
like, sure it's difficult, but a simple interpreted language is actually fairly simple
nah not necessarily
you could write an interpreted language in any language
yeah like the opposite of compiled
like python, you just run a file
whereas with java or C or something you have to compile it first, which is usually a bit more complicated because you have to write the compiler
Interesting, how far are you with the language?
uh
well xD
yeah...
lol
we have a "working" version that's very old
The 3rd rewrite is being worked on
^
lol
very
rewrite? Are you remaking it or what?
🥲
So what makes something like Python so good? If it's also an interpreted language?
im not sure everyone would agree that python is good lol
Library, ease of use
What is the lang based off?
Haskell
how the language actually works doesn't really matter too much
F#
^
...ect..
a bit of kotlin and rust thrown in for fun
So what matters then?
Ah ok, and I see Python as just a good lang for scripting
How many libraries it has?
A lot
syntax, ease of use, ecosystem, capabilities, etc
Its also one of the best languages for ml which if you havent noticed, is booming in recent times
what i mean to say is that whether a language is compiled or interpreted doesn't really matter too much
yeah definitely
True
So python is mostly good because ease of use and because it's so popular already?
Kinda
or what?
Used for quick magic
Pretty much
Hmm
You want to get into python or something?
Nah just wondering lol
https://www.youtube.com/watch?v=QyJZzq0v7Z4
this is quite an interesting video - it doesn't actually talk about functional programming much, it basically just explains how the big languages today got popular
Richard is a member of the Elm core team, the author of Elm in Action from Manning Publications, and the instructor for the Intro to Elm and Advanced Elm courses on Frontend Masters. He's been writing Elm since 2014, and is the maintainer of several open-source Elm packages including elm-test and elm-css packages.
I know a bit of python but not a lot
I'll def watch that
Simon also talks about that in the ivory tower video
java got popular because it was cross platform
ruby got popular because of rails
etc
So I have these classes with an ID and I want a new instance of any when is needed. Would be a bad idea to use a supplier? Map<String, Supplier<Anything, MyClass>>
probably not
How about python? ML libraries?
yeah i guess that caused a big spike
python had more of a slow and steady growth initially though
there wasn't any "gamechanger", it just gradually got bigger and more popular over the ~30 years it's been around
But I don't get how something like C++ isn't better for ML? I'm just thinking ML of something that requires great performance and python is pretty slow
you would be correct
the majority of libraries like numpy and tensorflow are written in c++
they just have python bindings, which makes them a lot more accessible
Ohhh that's smart
Ah yeah I remember something about a lot of Python's math libraries are actually running in C++
it does in some places
Or well I don't know any libraries that does at least

🐽

