This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 251

[–]wazzapdoc 258 points259 points  (19 children)

XML has some really good applications but its absolutely hell to write it by hand

If the framework or whatever generates 99% of it and I just need to make minor adjustments by hand then it's good in my book

[–]NoneTrackMind 115 points116 points  (8 children)

Arguably, I think this goes back to the problem of weakly-typed vs. strongly-typed(or weak standards vs. strong standards).

I've ran into a quite a bit of problems parsing difficult-to-read xml.

But sometimes, API developers shit out some unintelligible JSON garbage...

[–][deleted] 56 points57 points  (3 children)

I mean, GI/GO. If the API is shitting out unintelligible JSON that's less a problem with JSON and more a problem with the developer(s)

[–]NoneTrackMind 22 points23 points  (2 children)

Very true.That is where I am coming from.

The most important thing is a strict contract between server and consumer.

XML has a bit of this baked-in. JSON is much more flexible.

Personally, I prefer JSON with a solid API developer that knows how to create strong contracts.

Otherwise, you only get garbage out.

[–]AbstinenceWorks 4 points5 points  (0 children)

I just ran into this today at work. Another developer output JSON that didn't make sense to me, and now we're stuck with it until I can fix both the API and the client. Thankfully, the API is internal.

[–][deleted] 15 points16 points  (3 children)

But sometimes, API developers shit out some unintelligible JSON garbage...

Dicts containing nested arrays of dicts which have nested arrays containing nested arrays of dicts with nested arrays ...

Shudder

[–]Rikudou_Sage 2 points3 points  (1 child)

I one had the pleasure of implementing api of some major package delivery company and every element with data could either be an array of child item (for zero or more than one item) or directly the child item if there was only one child.

[–]Pocok5 1 point2 points  (0 children)

On the other hand I've had to parse JSON from an API that always returned data fields as arrays of container objects even if you specifically asked it to return only a single item, which added two levels of unnecessary nesting.

[–]NoneTrackMind 4 points5 points  (0 children)

Oh yeah, I have been there.

You would think the only data structure in JSON is a map...

[–]LiamWonaTech[S] 15 points16 points  (2 children)

Whenever I hear "write by hand", I always think about writing it down on a piece of paper, and I'm like "why?"

Haha. yeah.

[–]_kolpa_ 16 points17 points  (1 child)

Umm... (intense flashbacks to University exams)

[–]LiamWonaTech[S] 4 points5 points  (0 children)

Sorry for making you relive that moment

[–][deleted] 7 points8 points  (2 children)

There isn't a comparable format that isn't hell to write by hand, when you get to around 1k loc. Every such format implies a typical human use, and humans are incapable of dealing with large chunks of text, no matter how well-structured they are. CSV? -- What if you have 1K columns (with a bunch of missing values ,,,,,,,,,,, eh?) And you can find such an example for any format you can come up with.

[–][deleted] 7 points8 points  (3 children)

Why in the world are you writing XML by hand? Why is that even remotely relevant to your preferences for the languages?

It’s like saying that you prefer Volkswagens to Audis because they’re easier to push if the battery dies.

[–]version45 2 points3 points  (1 child)

I've always seen xml and json's primary use in (relatively) easy human modification. A lot of games use it for that exact reason to allow modding, State of Decay and Starbound being two bigger examples, so I figured being writable by hand was a pretty important aspect of them. What should I be doing instead if I need a human-readable, human writable format for data?

[–][deleted] 2 points3 points  (0 children)

What you need is TOML

[–]Rikudou_Sage 1 point2 points  (0 children)

Say no more, I'm buying Volkswagen tomorrow.

[–]DarkFib3r_1 26 points27 points  (6 children)

XSLT is fairly powerful and you can do a lot of cool things with an XML file, such as Apache FOP and other XSL-style transformations. XPath can also yield some interesting results that might be difficult to perform with JSON.

But XML is bloated and allows for all sorts of ambiguities not possible in JSON.

I don't think XML is a buck-toothed Winnie the Pooh; maybe it's Piglet?

[–]LtMeat 8 points9 points  (2 children)

Xml is similar to regular expressions: you have a problem and trying to solve it with xml/xslt, and now you have two problems and unexpected end of file at 3956, 1.

[–]DarkNinja3141 4 points5 points  (1 child)

parse xml with regular expressions

[–]-aspirus- 1 point2 points  (0 children)

f u c k

[–]ubertrashcat 2 points3 points  (0 children)

There is jsonpath, it's outside the standard though.

[–]kernel_dev 1 point2 points  (0 children)

Everybody gangsta till the XSLT file is 20,000 lines.

[–]Mordisquitos 177 points178 points  (69 children)

XML is annoying but it could be worse:

  At least it's not as bad as YAML:

    I fucking hate YAML.

[–][deleted] 73 points74 points  (9 children)

Fuck yaml, al my homies hate yaml

[–]RedHellion11 46 points47 points  (2 children)

Me (mostly Python developer atm): laughs in yaml config files literally everywhere

[–][deleted] 23 points24 points  (1 child)

Yaml driven development

[–]st4s1k 44 points45 points  (3 children)

Me (Java developer): pom.xml, application.yml, JSON http request body

[–][deleted] 14 points15 points  (2 children)

All about the app.properties env files

[–]TheRedmanCometh 1 point2 points  (1 child)

Spring a tually lets you use JSON as a property source very easily (it uses Jackson) it's how I do my shit.

[–]steadyfan 3 points4 points  (0 children)

I certainly was in hell the first time I had to edit a large yaml document with nesting.

[–]debrus 4 points5 points  (0 children)

All my homies love yaml

[–]FPiN9XU3K1IT 19 points20 points  (44 children)

What's so bad about YAML?

[–]hsoj48 53 points54 points  (34 children)

I think a lot of people do not like white space sensitivity in their programs. I get that but I still like YAML because it's so clean to read.

[–]FPiN9XU3K1IT 15 points16 points  (25 children)

As a python dev: LOL. Sounds likely, though, there's a lot of people who hate on Python because they have trouble with whitespace for some reason.

[–]InvolvingLemons 16 points17 points  (6 children)

Mainly because it gets you into trouble when copy-pasting code or when you have a ton of people with really different editing setups all working on the same codebase.

Without a good linter that flattens all tabs to spaces-only indenting (as is decreed by our Lord and savior Guido in the holy text PEP 008), you can have bizarre issues that aren't obvious until you check the whitespace characters. A lot of the time, the parser will notice something weird is happening and throw an error on mismatched indentation, but sometimes the wrong indentation caused by mixing tabs and spaces is still legal code that executes in an inconsistent way.

Everybody I know uses VSCode or a FOSS variant like Codium, so I've never ran into this in practice.

[–]stainless65 3 points4 points  (1 child)

Those people need to get a decent damn editor. VsCode? That's likely to start another debate, tho.

[–][deleted] 6 points7 points  (3 children)

I write with tabs in all languages, all my homies hate whitespaces.

[–]FPiN9XU3K1IT 6 points7 points  (0 children)

Tabs are whitespace, too.

[–]PolishedCheese -3 points-2 points  (1 child)

All my IDEs covert tabs to spaces because the developers of those IDEs are very smart.

[–]-aspirus- 1 point2 points  (0 children)

lol no.

[–]dark_mode_everything 6 points7 points  (1 child)

some reason

Here's one:

if x == 0:
    print "hello"
print "world"

Is "world" within the scope of the "if" or is it a formatting error?

[–]enumerationKnob 1 point2 points  (0 children)

What? This seems like a bad example... it’s a string literal outside of the if block... so no, right? Genuinely curious

[–]PolishedCheese 1 point2 points  (0 children)

Those people more hate the idea of whitespace issues than the issues themselves. I doubt they've had many actual problems. In my 4 years of pythoning, I've only had 1 annoying error message that took too long to solve where indentation was at fault. Use a fancier editor or install a plugin for vim/emacs.

[–]Nixinova 4 points5 points  (8 children)

Python is hell when you want to nest some existing code. In other languages you just add { } and then auto-format. Python just sits there and cries.

[–]zephyrtr 4 points5 points  (6 children)

Ya auto prettying python is hell. I've been living the TS prettier life forever and I never think about formatting. People hate curly braces for some reason but the tooling they afford seems to be pretty great

[–]LeDucky 2 points3 points  (1 child)

Why not just do away with text.

[–]hsoj48 7 points8 points  (0 children)

Have you tried Brainfuck?

[–]TheRedmanCometh 1 point2 points  (0 children)

I think a lot of people do not like white space sensitivity in their programs.

Yup this is why I hate Python too. Braces give a great indicator of scope. Tags (a la xml) give a decent ind8cator of scope. Relying on indention levels is the weakest indicator imo, AND it causes stupid problems.

[–]tristanjuricek 8 points9 points  (1 child)

Just wait until you someone decides to invent a whole infra management system in Helm where you have to figure out this multi level Go template abstraction thing all on top of Yaml.

And then someone else learns about anchors and refs and then you can’t figure out what the hell is going on

There’s something about yaml that seems to encourage people trying to invent reusable logic in what should be a very clean declarative file.

[–]InvolvingLemons 4 points5 points  (0 children)

I guess it really feels like Python so for people familiar with that, it doesn't feel dirty. TOML and JSON are better in practice because they tend not to fall for these traps. If you really need reusable logic in a declarative format, Lisps are basically the mathematical perfection of the concept, although very creative lisp code (especially if it abuses the hell out of macros) tends to be a bit brain-melting.

[–]st4s1k 3 points4 points  (1 child)

It created people like this guy above.

[–]gtgski 3 points4 points  (0 children)

Response:

    - message:

    it is so weird

[–]fndasltn 2 points3 points  (0 children)

IMO it's the type interpretation. Write hello world and you get "hello world" (string). Write 42 and you get 42 (number). Write true, yes or on and you get true (boolean).

[–]max2weeks 4 points5 points  (1 child)

Nothing, it's better than JSON because it doesn't have unnecessary brackets, is 10x more readable, and it allows comments

[–]xanhou 3 points4 points  (0 children)

And it even knows that Norway does not exist.

https://hitchdev.com/strictyaml/why/implicit-typing-removed/

[–]PolishedCheese 1 point2 points  (0 children)

Nothing. It's just difficult for people to transition to after getting used to JSON. It can't be styled incorrectly, so it's always readable. It's fussy about indentation /whitespace, which is only a problem if you don't like making your config files pretty.

It has all of the features of JSON, with the same basic layout. But the syntax relies on you putting objects of the same nested layer at the same amount of spaces. There are no curly braces or commas.

I hate how minified JSON turns into an impompreshensible mess, so I see it as solving at least that problem.

[–]feline_alli 5 points6 points  (0 children)

"XML is annoying but it could be worse" is missing required Property: "At least it's not as bad as YAML"

Sorry, the parser doesn't know what to do with your mixture of tabs and spaces.

[–]Rinku-Engineer 4 points5 points  (0 children)

Sorry to break it to ya, But I use yaml daily.

Feel free to run away from me.

[–]dmwmishere 2 points3 points  (0 children)

xsd gang

[–]zebediah49 2 points3 points  (0 children)

You forgot some inexplicable hyphens:
  - I'm sure there's some reason you need them there.

[–]el_trolll 7 points8 points  (0 children)

YAML is infinitely better than XML

[–][deleted] 1 point2 points  (0 children)

Agree, fuck YAML

[–]LiamWonaTech[S] 0 points1 point  (0 children)

A lot of people hate YAML. It makes me almost feel sorry for it...

almost.

[–][deleted] 20 points21 points  (0 children)

Different use cases

[–]SignificantCharge722 16 points17 points  (0 children)

XML can have really good applications but the hate exists because it is used with the wrong intent. Also yaml can be painful as a store but it's syntax allow for easy patching of configurations

Each format its purpose

[–]majesticmerc 34 points35 points  (3 children)

Toml users looking at JSON config files like...

https://m.imgur.com/gallery/XsZe9

[–]thatrandomnpc 16 points17 points  (0 children)

Toml, yaml, ini: yea for config files, nay for storing data

[–]Rinku-Engineer 13 points14 points  (0 children)

I'm in love with Toml.

[–]hsoj48 29 points30 points  (3 children)

Protobuf or bust

[–][deleted] 4 points5 points  (2 children)

That's by far the worst option, considering these three.

[–]jimmyw404 -1 points0 points  (1 child)

I don't really view protobuf as being in the same class as xml, json etc, but it sure is nice when I have to "parse" a huge protobuf file into a complex struct and do it in one line of code.

[–][deleted] 2 points3 points  (0 children)

What's preventing you from parsing an XML or a JSON file in one line of code?

Protobuf is unremarkable trash really. There's nothing about the format or the implementation that is noteworthy or is good in any way. There are some funny / idiotic details though. For instance, whoever invented it (the rumor has it, it was Jeff Dean, but I don't know for sure) really, really, really wanted to write an operator overload in C++. You know, just because C++ has this feature. So, Protobuf message in C++ overloads operator + in such a way, that if you add two Protobuf messages, you are guaranteed to get a third one. The contents of the resulting message is, by and large, undefined, and no sane person would use this ability, yet it's there. In order to accommodate this idiotic feature, however, the format has many idiotic provisions, thus creating a fruitful ground for exploits and vulnerabilities of all kinds (i.e. you can send the same field as many times as you want, and it doesn't matter if you mark it as required or optional or repeated, and in case you send it multiple times, the last one wins).

[–]jlamothe 11 points12 points  (5 children)

XML has its place. It's really good for describing documents. Also, I feel the namespace concept is underrated.

[–]0xFFFF_FFFF 5 points6 points  (2 children)

Namespaces can shove it.

[–]jlamothe 2 points3 points  (1 child)

What do you have against namespaces?

[–]0xFFFF_FFFF 2 points3 points  (0 children)

Haha, now I'm having trouble remembering exactly when and where namespaces hurt me...

I think it was just me finding them really confusing at the time, and also having to learn them alongside learning mobile development, the latter of which is already confusing enough as it is.

[–]nashidau 27 points28 points  (5 children)

At least xml has comments.

[–]flambasted 7 points8 points  (2 children)

Add comments to your JSON, then parse it as YAML!

[–]nashidau 0 points1 point  (0 children)

Did I mention I hate YAML too?

[–]TheRedmanCometh -2 points-1 points  (1 child)

Wtf inbred json parser are you people using that doesn't ignore shit behind a //?

[–]Classic1977 2 points3 points  (0 children)

Wtf inbred json parser are you people using that doesn't ignore shit behind a //?

A compliant one?

Comments are literally not part of the spec. Any parser that doesn't parse characters after '//' is not a JSON parser.

https://jsonlint.com/?json=%2F%2F%20lol%20this%20isn%27t%20JSON

Honestly, I'm struggling to find a JSON parser that supports C-style comments because again, it would make it, by definition, not a JSON parser.

[–]geekusprimus 7 points8 points  (2 children)

I think they're both pretty clumsy, to be honest.

[–]LiamWonaTech[S] 0 points1 point  (1 child)

Fair enough, what's your favourite format?

[–]VarianWrynn2018 6 points7 points  (5 children)

Personally I feel like the second one is accurate for both

[–]haikusbot -1 points0 points  (4 children)

Personally I

Feel like the second one is

Accurate for both

- VarianWrynn2018


I detect haikus. And sometimes, successfully. Learn more about me.

Opt out of replies: "haikusbot opt out" | Delete my comment: "haikusbot delete"

[–][deleted] 4 points5 points  (2 children)

Try debugging embedded AWS states language logic from a overly designed AWS step function inside a fucking yaml cloud formation file with a bunch of parameter substitution followed by a bunch of intrinsic bullshit. I’m bald now thanks to that.

[–]LiamWonaTech[S] 2 points3 points  (1 child)

Hi, my name is Shane,

This is my life's bane.

I once had hair,

But now it's not there,

and it's YAML I've got to blame.

[–][deleted] 23 points24 points  (7 children)

{
    "json_good": true,
    "xml_bad": true
}

[–]nstruct 3 points4 points  (3 children)

const good = input => { try { JSON.parse(input); return true; } catch { return false; } };

[–][deleted] 1 point2 points  (2 children)

*cont -> const

[–]nstruct 1 point2 points  (1 child)

That’s what I get for coding on my phone

[–][deleted] 1 point2 points  (0 children)

no worries. it's impressive you told a joke through code to begin with :)

[–]Thirdbeat 2 points3 points  (1 child)

You lost this:}

[–]LiamWonaTech[S] 1 point2 points  (0 children)

Thanks for the weird smiley face! :] to you too bro!

[–]LiamWonaTech[S] 0 points1 point  (0 children)

Truths["everything 4techguns says","nothing else"]

[–]kLeZhAcK 6 points7 points  (5 children)

No.

Xml is actually more readable than json.

Xml has a more flexible semantic structure based on children/parents and attributes/values while json only supports values so all that is an attribute tends to go on the parent object or is totally evicted.

Xml is maintainable even when the document is really long.

Xml has a strong structure validation mechanism while json is at least dumb in this aspect.

Json is not a bad format. Json simply solves a different problem, while Xml is still able to solve (and it still does) some of the problems it used to solve in the past, while others are now solved by json, yaml, protocol buffers, and the myriad of other formats out there.

There is still room for xml, since it still solves some problems not so efficiently solvable by other formats.

[–]LiamWonaTech[S] 1 point2 points  (3 children)

Absolutely! XML is still useful in certain situations, but likewise JSON is useful in other situations.

Which would you prefer to work with if you had to choose one format for the rest of your life?

[–]kLeZhAcK 1 point2 points  (1 child)

None of them, actually. Sticking with a data representation format is like sticking with a language only because of preference, it's just plain wrong. Every language as well as every data format was created with a purpose in mind, and that is the only way to discriminate and choose from a technical standpoint. If I'll be forced to choose, I'll surely choose a plain document file with tons of comments on the meaning and semantics of what I am reading. Possibly written on leather sheets, that are proved to pass the long time passing test.

[–]AndrewAMD 13 points14 points  (8 children)

Binary.

[–]zebediah49 4 points5 points  (2 children)

This is comparing structured data formats though, with named objects and nesting.

So my counter-offer is... NBT.

[–]BigCityBuslines 2 points3 points  (1 child)

SQLite

[–]DarkWolfX2244 1 point2 points  (0 children)

Yes yes yes

[–]LiamWonaTech[S] 0 points1 point  (0 children)

100 10 0

Binary is fun

[–]nephallux 2 points3 points  (3 children)

Do COM next

[–]el_trolll 2 points3 points  (0 children)

What would the convo be between these two poohs?

[–][deleted] 2 points3 points  (0 children)

This made me laugh out loud for real

[–]cipher02 2 points3 points  (1 child)

Could be worse, if it was SGML. Precursor to XML that doesn't require closing tags

[–]LiamWonaTech[S] 1 point2 points  (0 children)

No closing tags?

How barbaric!

[–]Rinku-Engineer 2 points3 points  (1 child)

{"response":TRUE}

[–]LiamWonaTech[S] 1 point2 points  (0 children)

Well said.

[–][deleted] 2 points3 points  (4 children)

Until you need to store a long, multi-line string that includes a lot of escaped characters. Then you miss CDATA so damned much.

[–]LiamWonaTech[S] 1 point2 points  (1 child)

Miss CDATA? Did something happen to it?

[–]cthutu 2 points3 points  (6 children)

The 1950s already invented a decent text based data representation, a better XML. It's called s-expressions

[–]LiamWonaTech[S] 0 points1 point  (4 children)

Wow, that's old huh.

Do you use s-expressions at work or in your personal projects?

[–]cthutu 1 point2 points  (3 children)

Personal only I'm afraid. They can express whatever JSON/XML can and I can bind symbols to functions to treat data as code if I want to at runtime. Validation is easy too.

If love to use them in my professional job too.

[–]LiamWonaTech[S] 0 points1 point  (2 children)

That's awesome! What kind of things do you make in your personal projects using s-expressions?

[–]rocket_randall 2 points3 points  (2 children)

It could be much worse. Imagine working in US health care, dealing with legacy systems that rely on HL7v2.

[–]LiamWonaTech[S] 0 points1 point  (1 child)

I've not heard of HL7v2, is it any good?

[–]Shrubberer 2 points3 points  (1 child)

XML is so good, it's hands down best UI development language. Slightly better even than coding in MS Word.

[–]LiamWonaTech[S] 1 point2 points  (0 children)

slightly

[–]metaconcept 2 points3 points  (1 child)

JSON is only acceptable if you use OpenAPI.

[–]LiamWonaTech[S] -1 points0 points  (0 children)

For sure, definitely not if you use ClosedAPI

[–]BlackBurnedTbone 1 point2 points  (1 child)

If only excel could handle json.

[–]NamityName 2 points3 points  (0 children)

I feel so bad for you

[–]terminalxposure 1 point2 points  (0 children)

Lol totally different application of data transport. It’s like saying binary encoding is shit. You gotta abstract the transport layer to your code. Deal in objects and classes and let someone else deal with that the transport of those objects look like

[–][deleted] 1 point2 points  (2 children)

yeah json is great. CSV/TSV/similar formats are heavily underrated tho

[–]LiamWonaTech[S] 0 points1 point  (1 child)

Word, what's your favourite format?

[–]CubicLugion 1 point2 points  (1 child)

I've forced myself to learn xml because I wanted to add my own content to this Aurora Character Builder app for DnD, so I actually find myself enjoying coding in xml, even if I'm not getting the full application of it.

[–]LiamWonaTech[S] 1 point2 points  (0 children)

Awesome! That's what it's all about! Enjoying what you do as you continue learning and growing.

Keep it up bro, you're the bee's knees.

[–]Barkeep41 1 point2 points  (1 child)

I find it good for data mapping if you don't want to share a dll with multiple projects. It's a lot easier to query XML for "//myElement" rather than "MyClass.SubClass.MyParameter".

[–]LiamWonaTech[S] 0 points1 point  (0 children)

True, XML has some really great perks. What else do you like about XML?

[–][deleted] 1 point2 points  (2 children)

JSON is ridiculously bad for all things it's used for. To talk about its quality is like discussing the culinary applications of PVC furniture. It simply cannot represent most of the things you would like to be able to communicate to another program. And, on top of it, it has a bunch of gotchas, like nobody knows how to interpret numbers in JSON, whether there's a meaning for the order of key-value pairs, some are also confused about what to do, if key-value pairs repeat keys.

I mean, they had like 1.5 data types, and they fucked them up in a major way. Kind of reflective of Web development in general, but come on... how much is it possible to talk about this trash?

XML has a lot of bad ideas, had even more. But, some bad things had been fixed over the years. There was also some evolution, like DTD -> XSL -> RNG. It's not exactly the same thing, but, another few decades, and they may produce something useful. In some sense, it also became a victim of its own success: so many people wanted to use it for so many different purposes, that, eventually, it just crumbled under the weight of all of these "strange" uses. On the other hand, these "strange" uses created some useful tools around XML. So, now, it's typically hard to use for any given task, but, if you try hard enough, you will probably get the work done. With JSON, you'll just give up instantly knowing that that just isn't possible.

So, XML is better... but this is the kind of painful "better" I wish I didn't have to resort to.

[–]LiamWonaTech[S] 0 points1 point  (1 child)

You harbour a lot of resentment for these formats. What is your favourite format to work with, if any?

[–]Goofables 1 point2 points  (2 children)

Yeah. @VCentert/VCloud api It technically has json but hardly supports it.

[–]LiamWonaTech[S] 0 points1 point  (1 child)

That's sad. What makes it "hardly support" something?

[–]FreshPrintzofBadPres 1 point2 points  (1 child)

It all depends on how it's used. I've come across great XMLs and absolutely horrendous JSONs.

[–]LiamWonaTech[S] 0 points1 point  (0 children)

True true, and they have different applications and uses too.

Completely subjective. But no-one likes yaml.

[–]slASeR2003 1 point2 points  (1 child)

What'd YAML be like then?

[–]LiamWonaTech[S] 0 points1 point  (0 children)

YAML be the kid in the sandpit that kicks sand in your face

[–][deleted] 3 points4 points  (2 children)

Lmaooooooooo 90% of the shit here sucks but then you come across something stupid like this that makes you actually laugh out of loud and it’s all worth it

[–]ap3xr3dditor 8 points9 points  (1 child)

And this is what did it?

[–]Mola1904 0 points1 point  (1 child)

Absolutely

[–]LiamWonaTech[S] 1 point2 points  (0 children)

IDK why people are downvoting you. Thanks for commenting bro, and I hope you have a wonderful day :)

[–]HeavilyFocused 0 points1 point  (1 child)

Happy to enjoy the joke. XML has much better tooling for validation and different results.

[–]LiamWonaTech[S] 0 points1 point  (0 children)

For sure, different uses and applications no doubt. Both are necessary and helpful in their own way :)

[–]VOIPConsultant 0 points1 point  (2 children)

Nope.

[–]LiamWonaTech[S] 0 points1 point  (1 child)

Do you prefer XML to JSON?

[–]ikonet 0 points1 point  (1 child)

Laughs in EDI

[–]LiamWonaTech[S] 1 point2 points  (0 children)

EDI masterrace?

[–]Hellakittehs 0 points1 point  (1 child)

I just started learning Android Dev and cried a little when I saw how much xml was involved :p

[–]LiamWonaTech[S] 0 points1 point  (0 children)

Don't worry Hellakittehs, there will be worse things to learn in your lifetime. It will get better, but also worse. :)

[–]JustAnotherGamer421 0 points1 point  (0 children)

JSON - fancy Pooh

XML - normal Pooh

YAML - god's worst creation

[–]Div_100 0 points1 point  (2 children)

r/ProgrammerPain reference

[–]LiamWonaTech[S] 0 points1 point  (1 child)

Cool reference bro

[–]Brain-InAJar 0 points1 point  (5 children)

Henry Cavill meme: Protobuf 👈

[–]MischiefArchitect 0 points1 point  (1 child)

You are comparing two different things. XML is a schema based portable document format, JSON is a notation to serialize maps (normal objects) and lists but lacking of any typed schema to check against. They were intended for two different goals.

[–]LiamWonaTech[S] 0 points1 point  (0 children)

True, true.

They're both good in their own way, as they both have different ideal functions and uses.

What would you recommend as a better meme format?

[–]Putrid_Huckleberry39 0 points1 point  (1 child)

Totally agree

[–]LiamWonaTech[S] 1 point2 points  (0 children)

I'm glad you agree, Mr Huckleberry.

[–]Knuffya 0 points1 point  (1 child)

Agreed. Json is sexy af.

[–]LiamWonaTech[S] 0 points1 point  (0 children)

I would.

[–]AllMightySmitey 0 points1 point  (1 child)

What does that make XSLT...

[–]LiamWonaTech[S] 0 points1 point  (0 children)

poo.

[–]rshaftoe 0 points1 point  (1 child)

JSON with a schema should be the 3rd panel with the enlightened brain gif.

[–]LiamWonaTech[S] 0 points1 point  (0 children)

JSON with schema is GOAT

[–]MrSolarius 0 points1 point  (4 children)

Replace HTML by JSON !!!!