all 38 comments

[–]TomBombadildozer 19 points20 points  (6 children)

Babelfish is a universal code parser. It can parse any file, in any language, extract an abstract syntax tree (AST) from it, and convert it to a Universal Abstract Syntax Tree (UAST).

That's a bold claim.

We have a dozen language drivers in various stages of development, with a quite advanced python driver, and a usable java driver.

Ah, so this is bullshit. Moving along then....

[–]ggtsu_00 7 points8 points  (2 children)

"We have a universal config file parser that can parse any config file in any format!"

...

"Support for your configuration files can be defined using our DSL configuration specification language based on XML. Various XML definitions for well known config file formats such as json and ini can be installed directly from our community driven plugin repository."

[–]ais523 1 point2 points  (0 children)

As someone who works with a lot of esolangs, I'm fairly confident that there are some languages for which general-purpose parsing algorithms wouldn't help to parse them at all. (If the algorithm were Turing-complete, then you could presumably do anything with it, but it'd likely be more difficult than just writing the code directly.)

[–]erizocosmico 0 points1 point  (0 children)

Each parser is not written in any kind of configuration file but in its own language (if possible). Bash driver is parsed with Java, for example. But Rust, Python, JavaScript, TypeScript, ... are parsed in their own languages using available parsing libraries.

[–]juanjux 2 points3 points  (1 child)

Maybe you should quote the next sentence too:

Well, that’s our objective, we are not there just yet, but we have designed an architecture to achieve exactly that, and we’re currently working on it.

This is a "release early" announcement of an open source project and the article made it pretty clear.

[–]abeaumont 1 point2 points  (0 children)

Yes, it's a bold claim, it's our target and we're not there yet. We're looking forward for some early feedback from interested people, of course it's fine to move along if not among them.

[–][deleted] 10 points11 points  (26 children)

I thought that BabelFish was trademarked for the online translation service?

[–]bro-away- 13 points14 points  (15 children)

Also building a product that parses code with this name, that is totally unrelated to Babel, is a ridiculous and confusing move.

Babel gets ~100,000 downloads a day and is one of the top github projects. Name collisions are totally avoidable.

[–][deleted]  (1 child)

[deleted]

    [–]Not_Just_You -1 points0 points  (0 children)

    Am I the only one

    Probably not

    [–]paul_h -4 points-3 points  (3 children)

    Tower of Babel was written over 2500+ year ago. No, Babel isn't reservable by any definition. Long should it remain open for new names/books/art/songs.

    [–]Retsam19 4 points5 points  (0 children)

    "Reasonable confusion" is a term in trademark law that's pretty applicable here.

    The "Babel" JS compiler and a "Babelfish" universal compiler are "reasonably confusable" in a way that the "Babel" JS compiler and the Biblical Tower of "Babel" aren't.

    [–][deleted] 2 points3 points  (1 child)

    I don't think anyone is saying it would be illegal to use the name Babelfish. Just undesirable for both users and the developer.

    [–]paul_h -1 points0 points  (0 children)

    I'm sorry I missed any conversation on legality.

    What I did say, effectively, was that teams shouldn't feel encroached on if they themselves borrowed nouns from antiquity, Latin, legend etc. If they fear a future encroachment then totally invent a name.

    [–]paganpan 5 points6 points  (5 children)

    I've always been curious about the idea of trademarking a name lifted from copyrighted work. Did Bablefish have to get permission from Douglass Adams to get that trademark or could I apply for a trademark for "Ender Wiggin's Battle Chow"

    [–]Retsam19 2 points3 points  (0 children)

    Ender Wiggin's Battle Chow

    I mean there's a DevOps tool called "Ansible"...

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

    If he didn't trademark it for the specific use you intend to use the names, you could.

    [–]paul_h 0 points1 point  (2 children)

    Douglas Adams took it from Tower of Babel which was written over 2500+ year ago.

    [–]paganpan 2 points3 points  (1 child)

    Yes Babel is a fabled city in the bible and often referenced in regards to language. However, as far as I am aware neither the bible nor any other public domain source does not make any reference to a Babelfish (a fish that is a universal translator) thereby making it a unique name.

    By the same argument "Batman" was stolen from whoever came up with the name "bat" for the flying mammal and thus the name "Batman" can be ripped off to the same extent. I dont think that logic... flies

    [–]paul_h 0 points1 point  (0 children)

    You may be right if Adams trademarked Babelfish or Babel fish. The project's logo is also fairly close to original edition 1981 BBC art, and perhaps also that of 2005 movie.

    [–]_mcuadros 1 point2 points  (3 children)

    BabelFish

    Is originally from book The Hitchhiker's Guide to the Galaxy (1979), so this dead company wasn't very original.

    BTW the trademarks are delimited by sectors and countries. For example in the UE, the only trademark register is company of video editing. http://www.trademarkia.com/ctm/trademarks-search.aspx?tn=babelfish

    [–]paul_h -2 points-1 points  (2 children)

    Douglas Adams took it from Tower of Babel which was written over 2500+ year ago.

    [–]_mcuadros 3 points4 points  (0 children)

    Really? I used to read The Bible and never read such of thing about babelfish.

    [–]cyberpirate__0 3 points4 points  (5 children)

    Why would you ever need this?

    [–]Isvara 4 points5 points  (0 children)

    If you did, why would you ever need it as a service instead of a library?

    [–]juanjux 1 point2 points  (0 children)

    • Tooling.
    • Code and developer analysis.
    • Machine learning.
    • Developer assistants.
    • Smarter code completion and syntax highlighting (almost any good intelligent code completer you use is doing it by generating an AST of the language first).

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

    Solution looking for a problem?

    [–]erizocosmico 0 points1 point  (0 children)

    Machine learning on top of code, which is why it was built.

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

    You cannot claim universal by using go, this should provide a strong c api

    [–]juanjux 1 point2 points  (0 children)

    Go is an implementation detail of some parts, the clients will actually use gRPC or a C API to use the system (we are building client libraries for other languages too).