5 ms·
What's this programming language?
- carbocation 14y agoImpressive that it doesn't just take the best guess; it also informs you of its alternative hypotheses: http://i.imgur.com/wITwa.png http://i.imgur.com/wITwa.png Update: Reading your blog post, I see that this is a wrapper around highlight.js, which is doing the language-guessing (including the second-best guess): http://softwaremaniacs.org/wiki/doku.php/highlight.js:api http://softwaremaniacs.org/wiki/doku.php/highlight.js:api
- nithinbekal 14y agoOP here. I can't take credit for that, though. ;-) It uses the highlight.js API for making the guesses, which provides the 2nd best option as well. :)
- reacweb 14y agoIn conclusion, the site is a very good idea, but highlight.js is really too bad for this kind of use. Raise a ticket on highlight.js
- ittan 14y agoJust tried it out with brainfuck(http://en.wikipedia.org/wiki/Brainfuck http://en.wikipedia.org/wiki/Brainfuck)! ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>. XML or django. then again this could be anything. :P
- nithinbekal 14y agoThe app depends on highlight.js which currently supports a limited set of languages, and unfortunately, Brainfuck isn't one of them. http://softwaremaniacs.org/media/soft/highlight/test.html http://softwaremaniacs.org/media/soft/highlight/test.html I wonder what would happen to the accuracy of highlight.js highlightAuto method if more languages were to be supported. Highlight.js recognizes languages based on how many language constructs it can recognize. More languages = more overlap in language constructs, and therefore more likelihood of wrong matches.
- chuckbot 14y agoint main(int argv, char **argv) { return 0; } Doesn't look like CS and can't even be java. Adding a printf changes the top suggestion to perl. Adding an include changes the top suggestion to vala. The idea to reduce language recognition to syntax highlighting is a nice idea, but doesn't seem to work.
- damian2000 14y agoNice job... got my C# and Ruby correct, but FORTRAN was seen as VBSCRIPT.
- sbmassey 14y agoIts not too good at C++. Apparantly, template <typename T> T foo(T t) { return t; } looks like DJANGO or XML.
- pavanky 14y agoIt can't understand C. http://i.imgur.com/7hrPE.png http://i.imgur.com/7hrPE.png
- tyrmored 14y agoI gave it this and it thought it was Vala: #include <stdio.h> int main(int argc, char* argv[]) { return 0; } Haskell is a very weird guess for yours.
- nithinbekal 14y agoYup, it does a terrible job with the C family of languages. Hardly ever gets that right. And if you type in any random keys, it often identifies it as Haskell. ;-) It does a decent job with Perl, Python, Ruby, Bash, etc.
- tyrmored 14y agoYeah, it nailed all the Perl I tried, even rather niche stuff.
- Akram 14y agoIt cant even get a "Hello World" C program right. #include<stdio.h> main() { printf("Hello World"); }
- deleted 14y ago[deleted]
- mitchi 14y agoSo bad! #include <stdio.h> XML printf("%d", i); ERLANG
- sink 14y agoMight mention that it sees Scala as Ruby or Python (ouch!). But I did just type in, "bunch of stuff, some programming stuff" and it thought that was Haskell or Coffeescript. Guess those win awards for literate programming?
- pud 14y agoCool thing. Though it doesn't get ColdFusion. Anything with <cf_____> tags is ColdFusion. <cfset foo = "bar">
- tluyben2 14y agoThis definitely needs some work :) http://o7.no/JGT5pv http://o7.no/JGT5pv
- jhuni 14y ago(defn factorial [n] (apply * (range 2 (inc n)))) - Rust or CSS (defun factorial (n) (apply (function *) (upto n))) - MATLAB or Lua
- Akram 14y ago<script> var str="hello world"; </script> This looks like xml. It could also be django, though. I'm not completely sure. //--------------------- How come Django is a programming language?
- drostie 14y agoIt's in the same sense that PHP is a programming language -- Django has its own idiomatic templating language with loops and other such constructs. It looks like this: {% extends "base.html" %} {% block title %}My amazing blog{% endblock %} {% block content %} {% for entry in blog_entries %} <h2>{{ entry.title }}</h2> <p>{{ entry.body }}</p> {% endfor %} {% endblock %} As for why this thing can't recognize "it looks like HTML + JS", I can't answer that for you -- but there should be a family of responses; "HTML + PHP," "HTML + Django", "HTML + JS" etc.
- estenh 14y agoSo, uh... what does this say about PHP? http://i.imgur.com/81uas.jpg http://i.imgur.com/81uas.jpg
- tg3 14y agoit thought my javascript was Lua, my php was bash or ruby, and my ruby was haskell.
- deleted 14y ago[deleted]
- deleted 14y ago[deleted]
- bad_alloc 14y agolife←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵} (APL Code for Conway's Game of Life, taken from Wikipedia) Recognized as Haskell. This X[⍋X+.≠' ';] is AVRASM or CSS. UPDATE: It gets better: INTERCAL (the despotic programming language) is recognized as Delphi or SQL. This seems suitable for Delphi ;) (Here's the code: http://cxg.de/_01a19b.htm http://cxg.de/_01a19b.htm)
- darkestkhan 14y agoI put this: with Ada.Text_IO; procedure WTF is type X is array (Positive range <>) of Integer; procedure Print (N: X) is begin for I in N loop Ada.Text_IO.Put_Line (File => Ada.Text_IO.Standard_Output, Item => Integer'Image (N (I)); end loop; end Print; begin null; end WTF; And it can't recognize Ada :) Even when you use standard library. "This looks like VHDL." "It could also be a VBSCRIPT, though I'm not completely sure"
- Someone 14y agoNice idea, but the quality and/or the breadth of languages it knows about leaves much to be desired. The first language I tried was Forth. I have yet to find a piece of code that it recognizes as such. For example the example from http://c2.com/cgi/wiki?ExampleForthCode http://c2.com/cgi/wiki?ExampleForthCode gets a 'VHDL, could also be VBSCRIPT' My next attempt was PostScript. I copied http://www.science.uva.nl/~robbert/ps/bluebook/program_01.html http://www.science.uva.nl/~robbert/ps/bluebook/program_01.ht... (which starts with the giveaway line "%!PS-Adobe-2.0"), and it says 'RUBY, could also be MEL' I guess that the thing would look better of with some kind of thresholding that allows it to say 'I don't know, but if I had to guess, I would say RUBY or MEL' instead.
- jvc26 14y agoIts a neat idea but seems to struggle - misidentifying PHP as BASH, and struggling with Haskell, Go, Clojure, and told me Bash was PERL. I pulled some test code from the What's That Programming Language site which appeared on HN a few weeks ago http://wtpl.heroku.com/ http://wtpl.heroku.com/.
- KonradKlause 14y agomain() { } "This looks like css. It could also be haskell, though. I'm not completely sure." Erm, okay...
- deleted 14y ago[deleted]
- mseepgood 14y agoInput (Go): ----------------------- package main import "fmt" func main() { fmt.Println("Hello, 世界") } ----------------------- Response: "This looks like actionscript. It could also be haskell, though. I'm not completely sure." FAIL
- hornetblack 14y agoI put in brainfuck it said it might be VB
- Ivatar 14y agoDoesn't seem to be familiar with factor: : foo ( seq -- nseq ) [ 1 + ] map ; "This looks like ruby. It could also be lua, though. I'm not completely sure." I would have expected a guess at forth, but I really don't think it looks like ruby...
- stewie2 14y agonot accurate at all.