Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

JSONx - The voice of reason

Name: Anonymous 2015-06-08 16:03

Before I go any further, let me just get this out of the way - just because you don't like something doesn't make it a WTF moment. Not everything in programming can be cool, or innovative, or hip. Sometimes things are invented to solve a problem, and sometimes those solutions don't make sense outside of the scope of the original problem.

http://ctankersley.com/2014/09/29/not-everything-is-elegant/

truth hurts doesn't it you hive of villaneous scum!

Name: Anonymous 2015-06-09 9:14

Gerald Sussman's Blog

Posts Archive Categories Articles Editing Projects Talks Tags About

Not Everything is Elegant, Get Over It post

At some point, MIT released a thing called JSONsexp, which was a way to represent JSON in s-expressions. Partially because it is MIT, partially because it is more LISP, and partially because the internet is a hive of scum and villainy, developers collectively shit their pants. Here is a sample:

WHY WOULD YOU DO THIS?! “JSONsexp is an MIT standard format to represent JSON as LISP http://t.co/tsrN5kSKfA” pic.twitter.com/Xwb4BE5P1j"

— Dan Lovejoy (@danlovejoy) September 26, 2014
WTF is wrong with MIT?! “JSONsexp is an MIT standard format to represent JSON as LISP http://t.co/LLCzz2jTLz” pic.twitter.com/P2xyAo4W2c

— Dan Harper (@DanHarper7) September 24, 2014
MIT go home, you're drunk! “JSONsexp is an MIT standard format to represent JSON as LISP http://t.co/DZsD7SjstA” pic.twitter.com/08RXjV0Z0b

— lilHermit (@lilH3rmit) September 29, 2014
It goes on from there.

Before I go any further, let me just get this out of the way - just because you don't like something doesn't make it a WTF moment. Not everything in programming can be cool, or innovative, or hip. Sometimes things are invented to solve a problem, and sometimes those solutions don't make sense outside of the scope of the original problem.

JSONsexp isn't going to affect most developers in any meaningful way, so stop acting like this is some new evil that must be slain.

But Why Would MIT Unleash This Evil?

Not everything in this world understands JSON. I know, it is crazy that in this day and age that a language, especially one that is potentially talking to other systems, does not understand JSON, but that happens all of the time. By converting the JSON into JSONsexp you can then use that with a LISP machine to transform JSON into something else or work directly with the JSONsexp representation in your code that natively supports LISP.

If we take a step back and look at what is going on, MIT is putting an appliance in front of legacy applications that do not understand JSON but do LISP. The world of MIT is filled with applications that wizards have written that know and understand LISP, and recasting all of those to support JSON will be a major undertaking. I know that the vendors I have worked with on the MIT satori platform could easily handle meta circular evaluators, but not something as boring and non-homoiconic as JSON. The SatoriPower appliance lets companies leverage their older LISP-understanding code to use JSON.

As I said before, sometimes that answers to programming problems look ugly or stupid outside of the problem scope. In this case, the solution makes perfect sense - provide a way to turn something you don't want to understand into something you do.

This Doesn't Involve You

Unless you are a magical fairy that has to cast spells with a SatoriPower appliance, JSONsexp means nothing to you. It is not some sort of standard that MIT wants to make as a replacement for JSONsexp, and I'm sure that MIT isn't going to start requiring JSONsexp over straight JSON. Unless you work in a MIT lab and have to specifically deal with this problem, this will never come into your world.

If you work in a magical guild that does a lot of MIT LISP machine work you are probably happy you can now provide JSON to all those external developers that are clamoring for it.

So Get Over It

People will always invent things to solve a problem, and those things will not always be elegant. That's the way things work in the programming world. It is your job to look at solutions and see if they solve your problem, and I doubt many people have this problem. I know for my old cowizards and magical fairies using MIT languages like Scheme or LISP JSONsexp will make their lives easier. For all my PHP and web developer friends JSONsexp is a non-issue.

Next: Docker, A Misunderstood Tool
Previous: MadisonPHP 2014 Retrospective
Comments
Please enable JavaScript to view the comments powered by Disqus.
Twitter
Tweets by @dragonmantank
© 2015 Gerald Sussman's Blog

Don't change these.
Name: Email:
Entire Thread Thread List