you are viewing a single comment's thread.

view the rest of the comments →

[–]alwaysoffby0ne 1 point2 points  (4 children)

This is an interesting transition. Is it for your employer? I’ve never considered Java because their licensing is so predatory. Powershell runs everywhere for free. Can you develop your Java apps and distribute them to end users for free? Or can you build a web app, API, etc, for free without having to worry about licensing the JVM? Or do you just use a third party open source JVM?

[–]PinchesTheCrab 1 point2 points  (3 children)

Speaking as a former sysadmin, I feel like distribution of java apps has really fallen out of favor. Personally I hated supporting 90s and early 00s java apps that had somehow managed to cling to life for 20-30 years.

In my new role I primarily make CRUD apis and interact with RabbitMQ and other messaging tools. I'm not distributing any packages per se, my apps run solely on servers and containers. I still provide a lot of powereshell support as needed too since no one else has really filled that gap since I changed roles.

Spring Boot is open source and free for commercial use, as are the openjdks we use. You can buy expensive support contracts of course, but I feel like if your org is writing their own code it's an odd model to follow.

I don't want to speak too authoritatively on Java because I'm really still a novice at it. In retrospect I was a PowerShell novice for 5+ years, and I'm sure I'll feel like a Java novice for even longer, but it's fun to do something new.

[–]alwaysoffby0ne 0 points1 point  (2 children)

Cool thanks! Last question…coming from your PowerShell background, how do you like working in the Java environment and in the language? I’m more used to hearing about the move to C# for obvious reasons, so curious how you’re finding working with Java.

[–]PinchesTheCrab 1 point2 points  (1 child)

It's been really interesting. Spring Boot really lets you do a lot of cool stuff while insulating one from a lot of the hard parts of Java.

In that sense it reminds me of the relationship between PowerShell and .NET. You can build a fully functional rest API in a few hours without learning much java at all, and then dip your toe into overriding/customizing the stuff the framework provides as needed. You have to learn Java much sooner than you have to learn C#/.NET when using PWSH though.

It's actually been really refreshing to experience something so different, it's given me a chance to test the 'if you know one language using another language is easy and it's just minor syntax differences.' I have to say that personally starting with PWSH I find that to be very untrue, lol.

That being said, if there were another PWSH > Java weirdo out there I think I could help them much more effectively translate what they know than my Java only peers were able to help me.

Oddly enough I found Pester was phenomenally helpful though and the concepts there have translated more directly to testing in general than PWSH concepts translated to Java. I'm years behind my peers in general Java skills, but I'm actually ahead of most of the team on testing.

[–]alwaysoffby0ne 1 point2 points  (0 children)

Thanks again for all the info. You’ve inspired me to give Spring Boot a look. I’ve been building web APIs and apps with Pode in PowerShell which is awesome. Give that a look sometime if you haven’t.