this post was submitted on 09 Sep 2024
420 points (96.3% liked)
Programmer Humor
19564 readers
1099 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
XML is a superior format to Json or yaml or any of those other trendy formats around today. It's the hill I'm willing to die on because I'm right.
XML aims to be both human-readable and machine-readable, but manages neither. It's only really worth it if you actually need the complexity or extensibility, otherwise it's just a major pain to map XML structures to any sensible type representation. I've been forced to work with some of the protocols that people like to present as examples of good XML usage and I hate every single one of them.
Fuck YAML though. That spec is longer and more complex than any other markup language I know of and it doesn't have a single fully compliant implementation.
I'm okay with the "human-readability," but I've never been happy with the "machine-readibility" of XML. Usually I just want to pull a few values from an API return, yet every XML library assumes I want the entire file in a data structure that I can iterate through. It's a waste of resources and a pain in the ass.
Even though it's not the "right" way, most of the time I just use regex to grab whatever exists between an opening and closing tag. If I'm saving/loading data from my own software, I just use a serialization library.
Yep, it's a PITA to parse and get the values you want. Much prefer JSON. Recently when I needed to parse XML I ran it through an XML to JSON library. Much easier!
If you need to parse XML just for RSS though, it isn't so bad as there are RSS specific libraries which take most of the pain away.
Maybe look into StAX?
I appreciate the suggestion, but that looks like a Java library. Interpreted languages make me feel dirty. Java makes me feel even dirtier. If it's not C, C++, or ASM, is it really worth using?
Idk. Been doing it for nearly 20 years and before that I was doing IBM's take on VBScript for another 10. So I have my own perspective there. I've only ever had to parse massive xmls when doing web apps, and for web backends I really only like Java and NodeJS.
But everyone is entitled to their own take. I would imagine there is a streaming parser in other languages as well.
Ye, we like to use toml for configuration files etc.
Yeah, I remember when I was trying to parse XML into some lua tables and it forever stumped me how to represent something like
You just have to have different ways to turn different tags into stuff in your program and that's a huge amount of overhead to think about when all I want is a hash map and maybe an array.
What's better about it?
It makes you want to die on a hill
Fact. An unfortunate one, but still a fact.
From my point of view : it has a hudge ecosystem with tons of robust libraries. This does not make it perfect, but for an industrial point of view, you don't look for new shiny clean things. (My point of view is 15 years old yet...)
I think JSON is more robust than XML by now. Mostly due to its simplicity. There are few reasons why anyone would pick XML over JSON these days.
I can only assume you've never tried to parse or read XML.
JSON, which has been around since 01, is trendy?
Something being "old" is totally unrelated to whether it's trendy. See: virtually every food and fashion trend.
Trendy also isn't the same as popular or preferred.
Ah, alright. Trendy does have a negative connotation with it as well; as opposed to "established" i.e. this trend will pass. Also, note the addition of "data formats that are around today" is clearly a jab at the age of JSON and nothing else.
Saying the data format that's easier to work with and parse while being nearly as old is trendy, is kinda disingenuous, no?
Uh-huh... ever tried to integrate with a poorly implement WCF service? Like communication from a Java service to a dotnet service through a WSDL?
I'll take a json API over XML any day
I’m not sure that’s the fault of XML though.
It’s more the fault of the implementation and documentation.
We have a WCF service with an odd configuration and nobody has been able to integrate with it that didn’t use Microsoft tools. It’s definitely not XML’s fault.
(That service has been replaced with a REST API now)
Yea sure. Though it's slightly XMLs fault for allowing that kinda implementations. Every random thing is in it's own obscure namespace with 20 levels of nested objects in different namespaces, and if you get anything wrong it barely explains what's wrong, and just refuses to work.
It's mostly WCFs fault. I just automatically associate XML with nightmare flashbacks of implementing WCF stuff
As someone who works with both, readability is the utmost important thing for me, and XML is cumbersome and has more characters to sift through to find what I'm lookin for.
I don't miss XML, but at least it has support for comments. On the other hand, I wish whitespace in XML wasn't significant. JSON needs to die in favor of JSON 5.
Nah, XML is just a slightly older fad. Let's go back to S Expressions. They've been in use for over 60 years and have significantly better readability.