Hi guys, just wanted to tag along with this thread, because I'm a huge fan of Semicolon! One thing I've always found aggravating though... Those darn semicolons! So I'm creating CoffeeColon, because all these semi-colons are such a hassle. It's probably easiest if I just show you the language in action, rather than going through a long diatribe. So here's my hello world!:
" "
^ Pretty elegant, right?
let's try something a little more complex:
" "
^ As you can see, the goal of this new language is to take the best of Semicolon and just make it more succinct, and to round out some of the minor historical abnormalities that have been dragged along in the language spec for a while now.
So my hope is that you all enjoy CoffeeColon as much as I do. It's just like Semicolon, maintaining it's expressiveness and dynamic nature, with just a little bit of smoothing out of the kinks.
This is the perfect opportunity to share Acme::Bleach. From the docs;
The first time you run a program under use Acme::Bleach, the module removes all the unsightly printable characters from your source file. The code continues to work exactly as it did before, but now it looks like this:
I'm disappointed that the designer of this language has limited himself to just the semicolon (";", U+003B) and the reversed semicolon ("⁏", U+204F). What about the Arabic semicolon ("؛", U+061B) and the Greek question mark (";", U+037E)? They're both perfectly valid options.
(I can understand avoiding the turned semicolon ("⸵", U+2E35), given that it doesn't seem to display properly. Can't be having unrenderable codes in one's language; it could severely reduce readability!)
To remedy this lack, I present to you my own semicolon-derived metalanguage, Hemidemisemicolon. A sample Hello World program follows:
⁏
؛;⁏⁏;;؛; ؛;⁏;
⁏;;;
As you can see, the dramatically increased lexical vocabulary leads to conciseness of expression. This program code compares favourably with the original Semicolon code, and as an added bonus it is also a quine and prints out "FizzBuzz" every three or five years on Douglas Crockford's birthday.
An implementation note: the final semicolons on each line are optional. I was wondering if that was a good idea or not, but I'm sure it won't cause any trouble down the track.
I had this exact thought when the semicolon drama started days ago.
I'm a fan of removing ambiguity in code. I parenthesize when not necessary so that intent is clear (someone in the future will hire a complete newbie to read and "fix" this code.) I want the statement to end here --> ";" and anything else is an error - now the compiler can inform me when a mistake is made. I ask what appear to be the most asinine questions because when you say "smooth ass ride" there's a difference between a "smooth-ass ride" and a "smooth ass-ride."
And as I type all this, I begin to create a connection between all those txtspk hooligans and semicolon haters. Anyway, I'm happy that Semicolon now exists.
Like this kind of thing? The rabbit hole is frighteningly deep. Try the esoteric programming language wiki[1] or Chris Pressey’s site[2]. That ought to get you started.
I believe this will revitalize the semicolon industry. There were serious sales shortages in the last few years with the rise of languages like ruby, python and even haskell, not needing this resource. In fact several major semicolon foundries were mothballed since the housing crash - the legalese markets were just not there any more, and lack of derivative generation really hurt the suppliers. The latest round of ASI abuse in javascript was hailed by some pundits as the nail in the coffin for the flagging industry, sending it to a niche role for legacy code and industrial/embedded systems support. With the release of this language, some analysts are suggesting a surge in semicolon production, and the commodities markets show q4 semicolon futures at the best they've been in 14 months. Expect to see a large push from advertisers in the form of articles like "why I like semicolon" and "can your language do this with only 5 characters?". Pessimists however are speculating that it is too little to late, and are advising shorts on semicolons in 6-10 hours, after the initial news leaves the front page. One pessimist says "This is just a pathetic showboat effort from a dying industry". Other suggest rumors of lobbyists pushing hard for the DoD to adopt this as the new standard language. More on this story as it develops.
This community is generally fairly dry and to the point, which is a great way to maintain high quality discussions, but I'm enjoying all these fun comments! :)
Yes, I think this is the first HN thread I've seen where jokes aren't being downvoted into oblivion. (And I don't think it's terrible! Fingers crossed that nobody tells me to go back to reddit)
There are lots of joke languages that are simply isomorphic to Brainfuck - Ook, Fuckfuck and so on - so congratulations on not just taking the easy way out (changing their eight keywords instantly gives you an interpreter, compiler, sample code, ...)
While mildly amusing, this whole semicolon obsession that's sprung to the fore this past week is ridiculous. It was silly and inconsequential when it started and it's even sillier now.
Which makes this idea rather snarky in my opinion. All the hating on Crockford who takes the time to sit on the committee rubs me a bit the wrong way. I've been where he is and seen the weird constraints/politics/effort it takes to do standards work, and so I respect that.
In any other context, building what is essentially a Turing machine with a few symbols, might qualify as a clever hack which helps folks step outside their ISO-latin1 mindset, but coming as it does on the heels of this controversy it just feels mean.
Was there that much hating on Crockford? Most of the posts I saw were in support of his position, if not his (probably justified) grouchy attitude.
I find it hard to disagree with him. Eichs has admitted ASI was a mistake, every half-decent JS tutorial states unequivocally "use semicolons"... if you don't want semi-colons, don't use JS.
I find semicolon hilarious. We need to lighten up!
We all have serious businesses to run, enabling people to find video of cats wearing mittens, making photographs square, all important stuff. So stop having fun and get back to work, those augmented media experiences wont write themselves you know.
Whitespace is too slow for big systems. The non-implicit nature of semicolon will really allow for prime-time server stacks. I do think though that whitespace will retain its market share on the front end.
This Semicolon language bears more than a passing resemblance to POP-11, the famous AI programming language for popping things on/off a stack!
To this day POP-11 holds the unsurpassed distinction of being the language for writing the most useless programs in the most intriquing way (after machine code, of course).
I'm already way ahead of the curve. I've started writing my scripts without semicolons and I'm getting 100% code compression using even the most rudimentary minifiers. Get with the times, already!
In vim just do (copy and paste it if you don't know how to get the initial ⁏):
:imap <buffer> l ⁏
and whenever you want an inverted semi, type l. For best effects put that line in your ftplugin directory, in semi.vim (or whatever your autodetect filetype name for semicolon is).
some people like to map j to ⁏ and k to ;, other like to map f to ⁏ and j to ;, but this is all just homerow keeping. I'm a purist, i like to keep the mappings minimal.
@fat and @douglascrockford, the HN community is now satirizing both of you. It's time for you both to do the right thing; add the semicolon to the bootstrap-dropdown.js code and change JSMin to support the original edge case.
No. Twitter has every right to implement their Bootstrap code as they see fit.
But it is just common courtesy to make small accommodations for people who are having difficulty using the code that Twitter has so generously released as open source.
I'd like to point out that it's theoretically possible to define a program without semicolons. Which major Semicolon library will be the first to ditch semicolons?
you'd think a program consisting of "only semicolons" would be easier to type. (no pun intended). reverse semicolon? Not only does my keyboard not have one, but Google doesn't even know what it is (other than a unicode character). apparently it was invented by the unicode group.
next time go back to the definition of semicolon, and you will see why it is made of the glyphs , and .
Then you can make a true semicolon language, by mixing ; and ., (horizontal, if you will).
the first line given as an example program would go from
;;;;⁏;;⁏;;; (which doesnt even render in this browser text box for me atm)
to
;;;;.,;;.,;;;
" "
^ Pretty elegant, right?
let's try something a little more complex:
" "
^ As you can see, the goal of this new language is to take the best of Semicolon and just make it more succinct, and to round out some of the minor historical abnormalities that have been dragged along in the language spec for a while now.
So my hope is that you all enjoy CoffeeColon as much as I do. It's just like Semicolon, maintaining it's expressiveness and dynamic nature, with just a little bit of smoothing out of the kinks.
Thanks!