#I HATE JAVA SO MUCH!!!!
Explore tagged Tumblr posts
Text
it KEEPS saying "Minecraft 1.21 needs Java 21 and Gradle is running Java 17" no matter what i do. very cool
0 notes
Text
If static variables bad, why does it make my code work
#coding#computer science#comp sci#software engeneering#software#java#i hate javafx so goddamn much just let me live#javafx#programming
57 notes
·
View notes
Text
Various items you can place on trapdoors in bedrock:
Signs
Item frames
Paintings
Rails
Buttons
Pressure plates
Doors
Lanterns
Banners
Flower pots
Bells
Cake
Coral
Tripwire hooks
Repeaters & Comparators
AMETHYST CLUSTERS
DRIPSTONE
TORCHES
REDSTONE DUST
But you can't place
FUCKING
LADDERS
#IS THERE LIKE A FUCJING CODING REASON???? SOME SORT OF FUCKED UP THING WITH BEDROCKS CODE IN PARTICULAR????#I'M ACTUALLY LOSING MY FUCKING MIND#I HAVE NEVER UNDERSTOOD WHY YOU CAN PLACE LADDERS ON JAVA BUT NOT BEDROCK#god i hate bedrock i hate this stupid pos game so much and i am stuck PLAYING IT because i can't get java#it's been getting worse since around the aquatic update#for the record; I'm not upset just because i can't place ladders on trapdoors‚ it's just‚‚‚many small things adding up over time#gnawing on drywall#yes i attribute a majority of this issue to windows#anyways; yes the items stay after relogging‚ yes I've already tried using commands for the ladders and no they don't work#minecraft bedrock#minecraft pe#xen.speaks
2 notes
·
View notes
Text
.
#tag talk#I feel good cause a new friend at work said something about how my boyfriend hasn't talked much to him since meeting me#And I was like uh oh I do not want to be that bitch#and I know he's been trying to organize some kind of game might and I was like rip you can't get him to play stardew valley with you#and I don't like stardew valley so I was like hey what about minecraft? because if I get them playing together on a realm then It's fixed#so anyway now I might have a new server and friend group to play with and hopefully I'll be less in the way of the preexisting friend group#because I'm really conscious of when I'm the reason stuff goes poorly so I don't wanna be a reason friends don't hang out anymore.#cause that shit sucks. jealous girlfriend type can go die I ain't about hogging people I don't feel good about it.#I just want everyone to get along and be friends#I'm putting in the work to learn bedrock mechanics. that's how committed I am to this. I hate variations on an established base.#it's the autistic in me for sure. I loathe multiple versions of songs. there can only be one true version. one right answer. all else is bad#so the slight discrepancies between bedrock and Java drive me absolutely nuts bonkers up the wall#I read a really good twilight fanfic and it rewired my brain and now I'm forever mixing up which is cannon and which is fanfic#because my brain immediately booted the version I preferred less and installed the new fanfic version as the correct right version#anyway. I'm hunting tutorials that actually explain the mechanics and taking notes so I know how to adjust the designs for aesthetics#because you need the minimum mechanical base to work before you can ad lib a building style and design onto the structural framework#I figured out the iron farm mechanics so tomorrow I think I'm gonna work on gold farm stuff. and redstone I just want to learn myself
2 notes
·
View notes
Text
when i have to go into the environmental variables in advanced settings to add paths for java
3 notes
·
View notes
Note
Hiiiii! My day today truly was great! I hope yours was too! What were you up to?
YAY i’m so glad to hear that!! i would say my day was alright, i have some tough finals coming up though so i spent most of it studying :’) it’s okay though because i got a lot of stuff done which eased my horrible anxiety a bit, and i’m gonna try and sleep early and hopefully have another nice productive day tomorrow! and very soon i’ll have my exams over with and i won’t have to think about java for. a few glorious months (꒪-꒪)
#take me back to database design pls <- is the boringest ✨Woman In STEM✨ alive#i don’t even know why i hate java so much i just do#watermelonbird#<3 <3 <3#though i’ll probably have to skip the next few domaystic prompts/just write short drabbles or something#SAD!#inbox
3 notes
·
View notes
Text
ok achievement got i'm brainrotting about c+ so hard
#SEE CUZ CALLING HIM C+ IS WEIRD TO ME NOW but anyways#i think he's so so silly but he's also profoundly sad but like. in a new way#his story is like. weirdly the inverse of python's???? like they left their families and began to indulge in new identities#so as to not be found#but. ohhhh my god okay buckle in#python did so because he didn't want his old family to find him. c+ did so because he'd be jailed for working age restrictied jobs#python hates its old family. everything c+ does is for his family#in taking on a 'fake' identity python discovered his real self separate from from its identity as a god and as a part of his old family#meanwhile c+ so frequently loses himself in the fake identity he has to wear in order to help who he loves#that he genuinely forgets his real name sometimes#and it crushes him so much when it happens. it crushes him that java's friends with a stranger instead of him#because he connects with java so much. they're just two kids who lost their way and now they're here when they don't even want to be#and it crushes him that he can't embrace who he is because if he gets too comfortable if he tells the wrong people the wrong things#the fragile web he's built under himself will collapse#and yet. he's more himself than he knows. and he finds new things that he works into both his c+ persona and the person underneath#and by opening up to his best friend about all of this he finds out that c+ and him aren't really that different after all#and while he's ready to start embracing the real him with more people... he doesn't regret his time as c+.#after all. he wouldn't be the real valentino without him.#(valentino is his real name)#AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA#I LOVE YOU PARALLELS I LOVE YOU ACCIDENTAL FOILS ILY ILY ILY#anyways#<- i wanna experiment with calling him c+ but until i make a final decision i'm keeping his tag as c4#c+
2 notes
·
View notes
Text
Hey guys it's time for another blog post for my class!
So Lucas, as you may know, I recently discovered that app inventor has this really fun restriction of only 10 screens total for an entire app. This was a rather unfortunate revelation for me and my classmates because we are making a visual novel, and my path alone was already over 10 screens, so you can imagine that all 3 paths as well as the introduction screens would far exceed this limit. We have decided that we will have to limit each path to 3 screens and the intro sequence will all take place on 1 screen, and as I am unwilling to forfeit any of my story, I will instead get creative. Current ideas include implementing a way to tap the text box to go to the next dialogue, limiting the amount of screens needed (I'll admit having a different screen for every single dialogue was an easy way out). For the intro sequence, we thing that for each of the 3 options we have for the monster (did I mention this is a horror game) of run away, call for help, or approach can involve some of the app requirements, ie. run away requires shaking the phone, call for help involves screaming into the microphone, approach involves tapping the image.
Rest assured we did in fact meet up in person for this project, and although the app inventor website was unable to load for any of us we took the selfie needed.
#i fucking hate app inventor so much oh my god#i considered learning java for this assignment alone just to evade using app inventor#yippee
1 note
·
View note
Text
The androgynous urge to stay up until 5 am figuring out how the fuck your code is making one half and one quarter add up to 0.25
0 notes
Text
my dad is letting me use his laptop when he doesnt need it :')))))
#the sky speaks#FINALLY....... DIGITAL ART..... JAVA MINECRAFT !!!!!#i was trying to play bedrock on my switch but i hate it so much
1 note
·
View note
Text
it's an instant -30% if u don't demo but...... is that only if it works???? i don't wanna lose unnecessary marks bc lord knows ill be losing plenty already bc my assignment is a piece of crap but god..... the STRESS of running a program u KNOW won't work IN FRONT of ur instructor ????? dread. despair. dying
#CANNOT figure out why the xhtml is having issues w/ the controller i dont think i even had 2 change anything in the controller class!!!#and the only things ive added to the xhtml are some columns and some f:validatelength tags :(#pretty sure its bc im still having issues with the refactored daoimpl class and the new ejb service class that holdsits methods now :////#but im stuck there. doesnt really matter if i figure out the code 4 other parts if i cant actually GET to those parts in the demo#i doubt the prof wants 2 sort thru lines upon lines of code 2 look 4 that shit#pls god PLEASE just give me a 50% on this assignment P L E A S E#i hate college#dont be fooled by me sounding like i actually know something abt any of this shit im still as lost as ever#cant even fucking figure out which import statement im supposed to use for the @ManagedBean annotation#IF thats even the annotation im supposed to use???? it literally says in the notes 'this is a managed bean use the name [so and so]'#but then i DO and eclipse says its deprecated :(#blegh#fuckin java....... baffling how it seemed 2 make so much sense in our android app dev course#but im still as useless with it as ever on the enterprise side of things :(
1 note
·
View note
Text
𝐒𝐎𝐂𝐈𝐀𝐋𝐒 𝐀𝐒 𝐀𝐂𝐄'𝐒 𝐆𝐅 — ♡
one piece social media + dating pt.2 feat: ace
♡ liked by chef.thatch, marco_o and 11.4k others
_ynln: mad he lost a handstand contest to some kid 🥱🥱
tagged: ace
ace: tell me how i got rated a 6/10 and that rat of a human got 9/10 🫤
↳ marco_o: you definitely got bullied as a kid with that attitude (liked by chef.thatch, _ynln, yamatoto)
↳ _ynln: MARCO JWVFIJBVFQO 😭😭
↳ ace: just letting you guys know, i wasn't bullied. i was the bully 💪💪
↳ izou.u: that does NOT make it any better
↳ saaaa_bo: why are you proud of that, all you did was bully luffy
↳ ace: now i'm not saying i stand with bullying but.. ☝️
↳ yamatoto: BUT WHAT???
p1rateking_luffy: Hehe Ace remember when we used to have handstand contests and Makino was the judge! 😁
↳ _ynln: omg that sounds adorable
↳ ace: yeah and you would fall on your head
↳ ace: makes sense why you're so stupid
↳ p1rateking_luffy: what does that mean
↳ ace: see what i'm saying
↳ saaaa_bo: you're literally the last person that can say anything
♡ liked by nicorobin, p1rateking_luffy and 9.6k others
_ynln: girls don’t want no scrubs!
[music: No Scrubs - TLC ♫]
tagged: lovenami, nicorobin
nicorobin: had so much fun with you 💗
↳ _ynln: I MISS U ALREADY
ace: YOU ARE SO BEAUTIFUL I CAN'T STOP LOOKING AT THESE PHOTOS 😍😍❤️🔥❤️🔥💝💞💕❣️❣️
ace: I AM NOT A SCRUB GIVE ME A CHANCE!
↳ _ynln: stop i have a boyfriend
↳ ace: screw him, i'll fight your boyfriend
↳ _ynln: he'll mess u up
↳ ace: HE PROBABLY STINKS
↳ _ynln: yeah he does LMFAOO (liked by saaaa_bo, marco_o)
↳ ace: 😐😐
ace: PLEASE ONE CHANCE PLEASE 😩😩
↳ _ynln: YOURE SO ANNOYING 😭😭
lovenami: WHEN CAN WE HANG OUT AGAIN
↳ lovenami: I MISS MY HUSTLE PARTNER ALREADY
♡ liked by iampops, sh444nks and 13.1k others
_ynln: i want to be that dog so bad
tagged: ace
marco_o: holy shit i've never been jealous of a dog
↳ ace: dw u can kiss me anytime 😘
↳ marco_o: bruh no i meant i want to sock you in the face
sh444nks: HAHAHA this is so good
↳ _ynln: omg i made it in life, redhair shanks commented on my post????!
↳ iampops: Yn I comment too
izou.u: first photo made my day, thanks yn
↳ yamatoto: real!!1!
p1rateking_luffy: AHAHHAHAH THIS IS SO FUNNY HAHAHHA
saaaa_bo: this photo is free therapy
ace: WOW THIS COMMENT SECTION MADE ME REALISE ALL MY FRIENDS ARE FAKES
↳ yamatoto: so glad ur self aware!!
↳ _ynln: love u i swear!
↳ ace: u r full of shit
↳ _ynln:❣️
♡ liked by saaaa_bo, iampops and 18.4k others
ace: my pookie dookie 💩 💗
tagged: _ynln
_ynln: words can't explain how much i hate that caption
↳ ace: my sweet white mocha frappuccino with two pumps vanilla, chocolate drizzle and one scoop of java chips
↳ _ynln: omg wow i was so close to pressing the block button
_ynln: rare photo of ace w a shirt on ‼️
saaaa_bo: @_ynln blink twice if u need help
iampops: W photo 💪
↳ ace: POPS WHAT
↳ marco_o: WHO TAUGHT YOU THAT
↳ iampops: Big slay ☝️☝️
↳ iampops: Yn no cap 🚫
↳ izou.u: someone literally needs to come get their grandpa 😭
↳ _ynln: pops using colloquial language needs to be protected in a museum (liked by ace)
p1rateking_luffy: Yummy food 😋😋
#one piece#one piece headcanons#one piece x reader#one piece smau#one piece imagine#luffy x reader#smau#one piece x you#one piece fluff#one piece scenario#ace x reader#portgas d ace x reader#ace headcanons#sabo x reader#ace x yn#marco x reader#thatch x reader#izou x reader
4K notes
·
View notes
Text
Im tired
#i hate this stupid take home exam so much rn#i can't get the code i downloaded to break the way its supposed to#idk how to get some files to run with the very specific cmdline arg we were given#(something something make a maven file and dependencies...???? i mean i did but idk if it matter when i turn in only java files??)#im so done
0 notes
Note
Hey not to go all "tumblr is a professional networking site" on you, but how did you get to work for Microsoft??? I'm a recent grad and I'm being eviscerated out here trying to apply for industry jobs & your liveblogging about your job sounds so much less evil than Data Entry IT Job #43461
This place is basically LinkedIn to me.
I'm gonna start by saying I am so so very sorry you're a recent grad in the year 2024... Tech job market is complete ass right now and it is not just you. I started fulltime in 2018, and for 2018-2022 it was completely normal to see a yearly outflow of people hopping to new jobs and a yearly inflow of new hires. Then sometime around late-spring/early-summer of 2022 Wallstreet sneezed the word "recession" and every tech company simultaneously shit themselves.
Tons of layoffs happened, meaning you're competing not just with new grads but with thousands of experienced workers who got shafted by their company. My org squeaked by with a small amount of layoffs (3 people among ~100), but it also means we have not hired anyone new since mid-2022. And where I used to see maybe 4-8 people yearly leave in order to hop to a new job, I think I've seen 1 person do that in the whole last year and a half.
All this to say it's rough and I can't just say "send applications and believe in yourself :)".
I have done interviews though. (I'm not involved in resume screening though, just the interviews of candidates who made it past the screening phase.) So I have at least some relevant advice, as well as second-hand knowledge from other people I know who've had to hop jobs or get hired recently.
If you have friends already in industry who you feel comfortable asking, reach out to them. Most companies have a recommendation process where a current employee fills out a little form that says "yeah I'd recommend such-and-such for this job." These do seem to carry weight, since it's coming from a trusted internal person and isn't just one of the hundreds of cold-call applications they've received.
A lot of tech companies--whether for truly well-intentioned reasons or to just check a checkbox--are on the lookout for increasing employee diversity. If you happen to have anything like, for example, "member of my college Latino society", it's worth including on your resume among your technical skills and technical projects.
I would add "you're probably gonna have to send a lot of applications" as a bullet point but I'm sure you're already doing that. But here it is as a bullet point anyway.
(This is kind of a guess, since it's part of the resume screening) but if you can dedicate some time to getting at least passingly familiar with popular tech/stacks for the positions you're looking into, try doing that in your free time so you can list it on your resume. Even better if you make a project you can point to. Like if you're aiming for webdev, get familiar with React and probably NodeJS. On top of being comfortable in one of the all-purpose languages like C(++) or Java or Python.
If you get to the interview phase - a company that is good to work for WILL care that you're someone who's good to work with. A tech-genius who's a coworker-hating egotistical snob is a nuisance at best and a liability at worst for companies with even a half-decent culture. When I do interviews, "Is this someone who's a good culture fit?" is as important as the technical skills. You'll want to show you'll be a perfectly pleasant, helpful, collaborative coworker. If the company DOESN'T care about that... bullet dodged.
For the technical questions, I care more about the thought process than I do the right answer, especially for entry-level. If you show a capacity for asking good, insightful clarifying questions, an ability to break down the problem, explain your thought process, and backtrack&alter your approach upon realizing something won't work, that's all more important than just being able to spit out a memorized leetcode answer. (I kinda hate leetcode for this reason, and therefore I only ask homebrewed questions, because I don't want the technical portion to hinge at all on whether someone managed to memorize the first 47 pages of leetcode problems). For a new hire, the most important impression you can give me is that you have a technical grasp and that you're capable of learning. Because a new hire isn't going to be an expert in anything, but they're someone who's capable of learning the ropes.
That's everything I have off the top of my head. Good luck anon. I'm very sorry you were born during a specific range of years that made you a new grad in 2024 and I hope it gets better.
320 notes
·
View notes
Text
Rambling About C# Being Alright
I think C# is an alright language. This is one of the highest distinctions I can give to a language.
Warning: This post is verbose and rambly and probably only good at telling you why someone might like C# and not much else.
~~~
There's something I hate about every other language. Worst, there's things I hate about other languages that I know will never get better. Even worse, some of those things ALSO feel like unforced errors.
With C# there's a few things I dislike or that are missing. C#'s feature set does not obviously excel at anything, but it avoids making any huge misstep in things I care about. Nothing in C# makes me feel like the language designer has personally harmed me.
C# is a very tolerable language.
C# is multi-paradigm.
C# is the Full Middle Malcomist language.
C# will try to not hurt you.
A good way to describe C# is "what if Java sucked less". This, of course, already sounds unappealing to many, but that's alright. I'm not trying to gas it up too much here.
C# has sins, but let's try to put them into some context here and perhaps the reason why I'm posting will become more obvious:
C# didn't try to avoid generics and then implement them in a way that is very limiting (cough Go).
C# doesn't hamstring your ability to have statement lambdas because the language designer dislikes them and also because the language designer decided to have semantic whitespace making statement lambdas harder to deal with (cough Python).
C# doesn't require you to explicitly wrap value types into reference types so you can put value types into collections (cough Java).
C# doesn't ruin your ability to interact with memory efficiently because it forbids you from creating custom value types, ergo everything goes to the heap (cough cough Java, Minecraft).
C# doesn't have insane implicit type coercions that have become the subject of language design comedy (cough JavaScript).
C# doesn't keep privacy accessors as a suggestion and has the developers pinkie swear about it instead of actually enforcing it (cough cough Python).
Plainly put, a lot of the time I find C# to be alright by process of elimination. I'm not trying to shit on your favorite language. Everyone has different things they find tolerable. I have the Buddha nature so I wish for all things to find their tolerable language.
I do also think that C# is notable for being a mainstream language (aka not Haskell) that has a smaller amount of egregious mistakes, quirks and Faustian bargains.
The Typerrrrr
C# is statically typed, but the typing is largely effortless to navigate unlike something like Rust, and the GC gives a greater degree of safety than something like C++.
Of course, the typing being easy to work it also makes it less safe than Rust. But this is an appropriate trade-off for certain kinds of applications, especially considering that C# is memory safe by virtue of running on a VM. Don't come at me, I'm a Rust respecter!!
You know how some people talk about Python being amazing for prototyping? That's how I feel about C#. No matter how much time I would dedicate to Python, C# would still be a more productive language for me. The type system would genuinely make me faster for the vast majority of cases. Of course Python has gradual typing now, so any comparison gets more difficult when you consider that. But what I'm trying to say is that I never understood the idea that doing away entirely with static typing is good for fast iteration.
Also yes, C# can be used as a repl. Leave me alone with your repls. Also, while the debugger is active you can also evaluate arbitrary code within the current scope.
I think that going full dynamic typing is a mistake in almost every situation. The fact that C# doesn't do that already puts it above other languages for me. This stance on typing is controversial, but it's my opinion that is really shouldn't be. And the wind has constantly been blowing towards adding gradual typing to dynamic languages.
The modest typing capabilities C# coupled with OOP and inheritance lets you create pretty awful OOP slop. But that's whatever. At work we use inheritance in very few places where it results in neat code reuse, and then it's just mostly interfaces getting implemented.
C#'s typing and generic system is powerful enough to offer you a plethora of super-ergonomic collection transformation methods via the LINQ library. There's a lot of functional-style programming you can do with that. You know, map, filter, reduce, that stuff?
Even if you make a completely new collection type, if it implements IEnumerable<T> it will benefit from LINQ automatically. Every language these days has something like this, but it's so ridiculously easy to use in C#. Coupled with how C# lets you (1) easily define immutable data types, (2) explicitly control access to struct or class members, (3) do pattern matching, you can end up with code that flows really well.
A Friendly Kitchen Sink
Some people have described C#'s feature set as bloated. It is getting some syntactic diversity which makes it a bit harder to read someone else's code. But it doesn't make C# harder to learn, since it takes roughly the same amount of effort to get to a point where you can be effective in it.
Most of the more specific features can be effortlessly ignored. The ones that can't be effortlessly ignored tend to bring something genuinely useful to the language -- such as tuples and destructuring. Tuples have their own syntax, the syntax is pretty intuitive, but the first time you run into it, you will have to do a bit of learning.
C# has an immense amount of small features meant to make the language more ergonomic. They're too numerous to mention and they just keep getting added.
I'd like to draw attention to some features not because they're the most important but rather because it feels like they communicate the "personality" of C#. Not sure what level of detail was appropriate, so feel free to skim.
Stricter Null Handling. If you think not having to explicitly deal with null is the billion dollar mistake, then C# tries to fix a bit of the problem by allowing you to enable a strict context where you have to explicitly tell it that something can be null, otherwise it will assume that the possibility of a reference type being null is an error. It's a bit more complicated than that, but it definitely helps with safety around nullability.
Default Interface Implementation. A problem in C# which drives usage of inheritance is that with just interfaces there is no way to reuse code outside of passing function pointers. A lot of people don't get this and think that inheritance is just used because other people are stupid or something. If you have a couple of methods that would be implemented exactly the same for classes 1 through 99, but somewhat differently for classes 100 through 110, then without inheritance you're fucked. A much better way would be Rust's trait system, but for that to work you need really powerful generics, so it's too different of a path for C# to trod it. Instead what C# did was make it so that you can write an implementation for methods declared in an interface, as long as that implementation only uses members defined in the interface (this makes sense, why would it have access to anything else?). So now you can have a default implementation for the 1 through 99 case and save some of your sanity. Of course, it's not a panacea, if the implementation of the method requires access to the internal state of the 1 through 99 case, default interface implementation won't save you. But it can still make it easier via some techniques I won't get into. The important part is that default interface implementation allows code reuse and reduces reasons to use inheritance.
Performance Optimization. C# has a plethora of features regarding that. Most of which will never be encountered by the average programmer. Examples: (1) stackalloc - forcibly allocate reference types to the stack if you know they won't outlive the current scope. (2) Specialized APIs for avoiding memory allocations in happy paths. (3) Lazy initialization APIs. (4) APIs for dealing with memory more directly that allow high performance when interoping with C/C++ while still keeping a degree of safety.
Fine Control Over Async Runtime. C# lets you write your own... async builder and scheduler? It's a bit esoteric and hard to describe. But basically all the functionality of async/await that does magic under the hood? You can override that magic to do some very specific things that you'll rarely need. Unity3D takes advantage of this in order to allow async/await to work on WASM even though it is a single-threaded environment. It implements a cooperative scheduler so the program doesn't immediately freeze the moment you do await in a single-threaded environment. Most people don't know this capability exists and it doesn't affect them.
Tremendous Amount Of Synchronization Primitives and API. This ones does actually make multithreaded code harder to deal with, but basically C# erred a lot in favor of having many different ways to do multithreading because they wanted to suit different usecases. Most people just deal with idiomatic async/await code, but a very small minority of C# coders deal with locks, atomics, semaphores, mutex, monitors, interlocked, spin waiting etc. They knew they couldn't make this shit safe, so they tried to at least let you have ready-made options for your specific use case, even if it causes some balkanization.
Shortly Begging For Tagged Unions
What I miss from C# is more powerful generic bounds/constraints and tagged unions (or sum types or discriminated unions or type unions or any of the other 5 names this concept has).
The generic constraints you can use in C# are anemic and combined with the lack of tagged unions this is rather painful at times.
I remember seeing Microsoft devs saying they don't see enough of a usecase for tagged unions. I've at times wanted to strangle certain people. These two facts are related to one another.
My stance is that if you think your language doesn't need or benefit from tagged unions, either your language is very weird, or, more likely you're out of your goddamn mind. You are making me do really stupid things every time I need to represent a structure that can EITHER have a value of type A or a value of type B.
But I think C# will eventually get tagged unions. There's a proposal for it here. I would be overjoyed if it got implemented. It seems like it's been getting traction.
Also there was an entire section on unchecked exceptions that I removed because it wasn't interesting enough. Yes, C# could probably have checked exceptions and it didn't and it's a mistake. But ultimately it doesn't seem to have caused any make-or-break in a comparison with Java, which has them. They'd all be better off with returning an Error<T>. Short story is that the consequences of unchecked exceptions have been highly tolerable in practice.
Ecosystem State & FOSSness
C# is better than ever and the tooling ecosystem is better than ever. This is true of almost every language, but I think C# receives a rather high amount of improvements per version. Additionally the FOSS story is at its peak.
Roslyn, the bedrock of the toolchain, the compiler and analysis provider, is under MIT license. The fact that it does analysis as well is important, because this means you can use the wealth of Roslyn analyzers to do linting.
If your FOSS tooling lets you compile but you don't get any checking as you type, then your development experience is wildly substandard.
A lot of stupid crap with cross-platform compilation that used to be confusing or difficult is now rather easy to deal with. It's basically as easy as (1) use NET Core, (2) tell dotnet to build for Linux. These steps take no extra effort and the first step is the default way to write C# these days.
Dotnet is part of the SDK and contains functionality to create NET Core projects and to use other tools to build said projects. Dotnet is published under MIT, because the whole SDK and runtime are published under MIT.
Yes, the debugger situation is still bad -- there's no FOSS option for it, but this is more because nobody cares enough to go and solve it. Jetbrains proved anyone can do it if they have enough development time, since they wrote a debugger from scratch for their proprietary C# IDE Rider.
Where C# falls flat on its face is the "userspace" ecosystem. Plainly put, because C# is a Microsoft product, people with FOSS inclinations have steered clear of it to such a degree that the packages you have available are not even 10% of what packages a Python user has available, for example. People with FOSS inclinations are generally the people who write packages for your language!!
I guess if you really really hate leftpad, you might think this is a small bonus though.
Where-in I talk about Cross-Platform
The biggest thing the ecosystem has been lacking for me is a package, preferably FOSS, for developing cross-platform applications. Even if it's just cross-platform desktop applications.
Like yes, you can build C# to many platforms, no sweat. The same way you can build Rust to many platforms, some sweat. But if you can't show a good GUI on Linux, then it's not practically-speaking cross-platform for that purpose.
Microsoft has repeatedly done GUI stuff that, predictably, only works on Windows. And yes, Linux desktop is like 4%, but that 4% contains >50% of the people who create packages for your language's ecosystem, almost the exact point I made earlier. If a developer runs Linux and they can't have their app run on Linux, they are not going to touch your language with a ten foot pole for that purpose. I think this largely explains why C#'s ecosystem feels stunted.
The thing is, I'm not actually sure how bad or good the situation is, since most people just don't even try using C# for this usecase. There's a general... ecosystem malaise where few care to use the language for this, chiefly because of the tone that Microsoft set a decade ago. It's sad.
HOWEVER.
Avalonia, A New Hope?
Today we have Avalonia. Avalonia is an open-source framework that lets you build cross-platform applications in C#. It's MIT licensed. It will work on Windows, macOS, Linux, iOS, Android and also somehow in the browser. It seems to this by actually drawing pixels via SkiaSharp (or optionally Direct2D on Windows).
They make money by offering migration services from WPF app to Avalonia. Plus general support.
I can't say how good Avalonia is yet. I've researched a bit and it's not obviously bad, which is distinct from being good. But if it's actually good, this would be a holy grail for the ecosystem:
You could use a statically typed language that is productive for this type of software development to create cross-platform applications that have higher performance than the Electron slop. That's valuable!
This possibility warrants a much higher level of enthusiasm than I've seen, especially within the ecosystem itself. This is an ecosystem that was, for a while, entirely landlocked, only able to make Windows desktop applications.
I cannot overstate how important it is for a language's ecosystem to have a package like this and have it be good. Rust is still missing a good option. Gnome is unpleasant to use and buggy. Falling back to using Electron while writing Rust just seems like a bad joke. A lot of the Rust crates that are neither Electron nor Gnome tend to be really really undercooked.
And now I've actually talked myself into checking out Avalonia... I mean after writing all of that I feel like a charlatan for not having investigated it already.
62 notes
·
View notes
Text
Here is just a little sneak peak at something I’m working on. It’s a longer version of one of the stories I posted from the request game. It’ll probably only be one chapter (maybe two) and should be out hopefully by this weekend. I hope everyone likes it!
Also I don’t know why it’s formatting weird. Hopefully I can fix that later.
•••••••••••••••••••••••••••••••••••••••••••••••
CEO Yoongi x Female Barista/College Student Reader
Title: Cold Brewed Love
Summary: When you begged the owner of Jin’s Java House to hire more employees you didn’t mean for him to stick you with the cold, rude, arrogant CEO Min Yoongi. Over time something begins to brew between you both and you end up forced to make decisions way above the pay grade of a cafe barista.
Warnings: Angst, swearing, hints of smut(nothing too explicit), Yoongi is mean but we all know he’ll turn fluffy later, I’ll update once I write more of it
Word Count: TBD
Teaser Below
You and Yoongi have a difficult history. You are about the same age,but he runs a successful billion dollar company while you make coffee for barely above minimum wage during the day and go to school at night which makes you feel intimidated by him.
His order was the first one you had ever made and you were so nervous you dropped his cup of coffee making it spill all over the counter and right onto his designer leather shoes. He was quick to reprimand you to the point his assistant Hoseok stepped in and pulled him away from the counter while giving you a sad smile. He returned later that day to apologize for his bosses actions and offered to buy you lunch from the neighboring Thai restaurant.
Then just a few months later you’d been asked to take up several cases of pastries to Yoongi’s office for some big meeting they were having. After you placed everything in the break room you quickly turned around trying to hurry back down to the cafe to help out your co-worker who was alone when in your haste you ran right into Yoongi causing the papers he was holding to fly everywhere through the office. He had a scowl and some choice words for you once again while you crawled around on your hands and knees trying to reorganize the mess. Hoseok was quick to save you then too and that’s how your friendship with ‘Hobi’ started.
Ever since that day though, Yoongi was always rude to you while ordering his coffee. He purposely got your name wrong even though it was right on your name tag. He hardly ever looked up from his phone and if he did it was only to look down on you and try to make you feel small. You hated him. But you hated it even more that no matter how much you hated him you couldn’t abolish the little crush you had on him.
#bts#yoongi x reader#yoongi fanfic#min yoongi#bts fanfic#bts x reader#yoongi x y/n#yoongi fic#ceo yoongi#yoongi au#bts yoongi#suga#bts au fanfic
138 notes
·
View notes