5 ms·
https://openjdk.org/jeps/469?ref=coderoasis.com https://openjdk.org/jeps/469?ref=coderoasis.com vector api looks nice what resources exist for say a half-way d
by gigatexal 3y ago
https://openjdk.org/jeps/469?ref=coderoasis.com https://openjdk.org/jeps/469?ref=coderoasis.com
vector api looks nice
what resources exist for say a half-way decent python dev like myself to get into java development?, I'm mostly a back end dev / data engineer
from the article:"Overall, these changes will make it easier for beginning programmers to write programs without needing to understand the programming language features designed for larger or enterprise application development. "
- neonsunset 3y agoIf you care about portable SIMD and performance, you may be better served by Vector APIs in C# instead which has low-level but cross-platform abstractions stabilized since .NET 7 and an extensive guide to using those: https://github.com/dotnet/runtime/blob/69110bfdcf5590db1d32c2a4a39f12b50b09dbc4/docs/coding-guidelines/vectorization-guidelines.md https://github.com/dotnet/runtime/blob/69110bfdcf5590db1d32c... CoreLib and many new libraries are using it heavily to match performance of manually intrinsified C++ code.
- gigatexal 3y agovery cool I've come around to C# use of composition and the repository pattern since it's first introduction to me where I balked at it It's probably time to revisit C#
- neonsunset 3y agoGenerally speaking, JVM favours more high-level languages, while .NET is the low-level focused counterpart in many of its areas, so if that's what you are looking for, it might pleasantly surprise you :)
- Xeamek 3y agoWhen it comes to language itself, I don't see there being any good reason to pick java over c# these days. If you compare ecosystems then maybe, but it terms of language features I don't know why would any1 ever pick java from scratch in this day and age.
- darthrupert 3y agoOnly Windows developers should pick C# for anything, though. From my privileged point of view, that's a tiny minority. But not sure why anyone would choose Java over Kotlin now that Kotlin exists.
- neonsunset 3y agoThis stopped being the case eight (8) years ago. This what .NET is often used with today (in terms of dev, user and hosting stories): - Linux containers with ASP.NET Core - AvaloniaUI and Unity/Godot/Stride (all cross-platform) - Rider (on macOS in particular)
- forty 3y ago"Often" seems a strong word. I understand that it's possible, but I haven't seen many projects using C# or other CLR languages for containerized Linux app
- neonsunset 3y agoThat's the default deployment target for any new or migrated application. I'm saying often because it is not the only one.
- phito 3y agoYou're very out of date then :)
- darthrupert 3y agoWell, if these are valid arguments, I'd rather go with Swift for a more modern language.
- neonsunset 3y agoUnfortunately, Swift is slower and has worse tooling, especially on Linux. I like it a lot as a language but it is hard to justify its usage outside of macOS when C# exists. Related: https://news.ycombinator.com/item?id=40045524 https://news.ycombinator.com/item?id=40045524
- cess11 3y agoIntelliJ Community Edition. That'll give you tooling for generating boilerplate projects and handling some of the issues around build tools and project management that can be off-putting to a newcomer. In general Java development is much more brutal and violent than Python. The VM is very performant, it's like a huge ship engine, thousands of horsepowers. When a library is lacking in some way and you're in a hurry you just crack it open with reflection and edit the parts you want. The type system has quirks and sharp edges that'll cut you in ways you don't expect in the beginning, and it's a very strong type system, you need to work with it to make things manageable, no way around it. Maven is a daunting mess, but it's also a relatively robust mess. At first it'll feel slow to develop in, then you get the hang of code generation and figure out how to use the type system to get out of having to maintain the code and being able to make changes with confidence. At that point maintenance turns into routine tasks related to libraries and deploy environment. It's also multiplatform for real, not like C# where some things are but the goodies are MICROS~1 exclusive. A problem is that there is so much of it, both the language itself and libraries. Some common libraries have an API surface you could study for years without feeling you're running in circles. Start off with some well-defined, rather small projects. Connect to a database and crap out a PDF report. Install Wildfly and boot up a ping-API. Create the number guessing game as a Swing or JavaFX application. Stuff like that.
- phito 3y ago> It's also multiplatform for real, not like C# where some things are but the goodies are MICROS~1 exclusive. That's absolutely not true. Everything except the old GUI frameworks is multiplatform and even runs better on Linux.
- ptx 3y agoThe part about making it easier for beginning programmers probably refers to JEP 436 [0] which allows you to leave out some of the tedious boilerplate around the entrypoint for simple programs, just like in Python (well, there is still some extra boilerplate compared to Python). It has nothing to do with the vector API. The article confuses these two things because it's AI-generated word salad and plagiarized the phrase from somewhere else. (Also, why does the article include a "ref" parameter in its links? Does openjdk.org have some sort of affiliate program?) [0] https://openjdk.org/jeps/463 https://openjdk.org/jeps/463