“Hello, World” in zero lines of code
codegolf.stackexchange.com
codegolf.stackexchange.com
Most of the top solutions seem to take advantage of bugs in the way sloc tries to parse commented lines. e.g. many are:
/**/<do_something>/**/
And I'm surprised I don't see a related bug issue in the git repo: https://github.com/flosse/sloc/issuesStill this is a fun read. I'm curious to see what other tricks are out there.
> //^H^HHello, World!
> After the forward-slashes for the comment, there are two backspace characters which erase them from the output.
Coolest solution in my opinion.
http://www.ioccc.org/1994/smr.hint
This is an IOCCC entry for the world's smallest quine, sizing up at 0 bytes of C. Some C compilers will compile an empty source file into a program which does nothing when executed, i.e. ouputs zero bytes, i.e. is a quine.
Quote: "NPM's sloc is a moderately popular tool for counting source lines of code in a file".
Never heard of it, personally I use LocMetrics. And it detects correctly that these are sources.
print*,"Hello, World"
end
This is shorter than the way a Hello World program in Java, C, or C++ would be written.This sort of thing actually does have real-world applicability though: eg security issues caused by different parsing by a validation layer versus the actual execution.
/**/-->/*
console.log('Hello World!');
console.log('You can add as much as you want');
--> */But stepping back even further why are we talking about this, it’s just a fun exercise against a hello world. The only thing being solved for is fun.
It is slightly disappointing that all the solutions I see for various languages are just different ways to trigger pretty much the same multi-line comment parsing problem in sloc.
The argument for including it even so is that if you think of the underlying challenge as "fooling sloc" and that the original challenge phrased it in terms of "code" simply because sloc mostly deals with code, but as it happens, it also tries to count HTML even though it isn't (necessarily) code, then it's reasonable to include.
I have to qualify HTML qua HTML because once you include Javascript, it goes from trivially not code to trivially being code, or at least capable of carrying code.
But it is important not to blur the lines between a document format and code. There are real and important differences. HTML qua HTML is not a programming language.
Edit: Oh, the solution to the other debate going on is that programming languages ALWAYS execute in the context of a virtual machine of some sort, or in the case of assembly, a real machine (at least in potential). The distinguishing characteristics of a programming language is something along the lines of being at least one of "Turing complete" and "able to read input, change behavior based on it, and write output", although I'm not getting too far down the weeds on that one on purpose. You can't use "whether or not they need a specialized execution environment to function" as a distinction for whether or not something is a programming language, because they all do.
Hello world
Run it with `cat`. ;)#!/bin/cat
This is still one line of code.
It is a valid python program . This is because python will join strings that are adjacent strings (eg. "foo " "bar" is evaulated just like "foo bar") and while multiline strings are commonly used as comments they are evaluated as a string-literal rather than a comment.
Using an arbitrary metric that is not commensurate with reality is inaccurate. The point is that the title is clickbait for what amounts to a singularly exploited bug in a tool, not what was purported. Literally the same misinformation goes on in the political space all the time, where it is lamented. If it's related to quirky coding eventualities, it's lauded.
That's the point.
There is a big difference between disagreeing with a point versus not realizing the point is there.
If you're talking about something else, I have no idea what you mean at all.
And nobody here has said anything in bad faith. Why do you think there was bad faith?
> But someone that blithely points out that there is in fact code, not even realizing the game exists, is missing the point.
notinventedhear didn't miss the point.
He disputed the topic (and implication) which is not "the game" but a description that is factually incorrect. You don't want to agree, that's fine. It's not subtle or complicated. To claim anyone misunderstands where this premise comes from, is a bad faith interpretation, which you inexplicably double down on.
notinventedhear is not disputing the actual page when they say "There is still one line of code." Nor do they appear to be objecting to the title, because they're quoting part of the actual page and re-explaining it even though the page already does so.
This seems like pretty strong evidence to me that they missed the point; they missed the part about tricking.
It's not that I don't agree with what they said, it's that what they said was already thoroughly covered in the linked page, right up front and in more detail. If they understood that, then why did they even make a comment like that?