Before everyone piles on, here is the repo owner's Note at the bottom of the page:
This is my first ever compiler project.
I created this compiler for the following reasons:
* To learn about compiler development.
* To build a self-compiling compiler.
* To implement features I find interesting and cool.
ANIL(A Nice Intermediate Language) Python & C++ inspired programming language that transpiles to C and can be embedded within C source files
Current title is confusing since it truncates the "ANIL(A Nice Intermediate Language)" part, but maybe that was done by HN and not by the person who submitted the article. A better title would be just that first part.
'Anil' has several different meanings in Sanskrit and descendant Indo-Aryan languages, Turkish, and a handful of Dravidian languages. All are fairly noble; none warrant a winky face.
It is a surreal combination of both python style white space sensitivity and C style curly braces with random features taken from both.
The __x__ methods in python are in my opinion a severe design mistake and taking inspiration from that means you really have no clue about programming language design. You're just taking things that already exist 1:1 in one language and are just giving it the syntax of the other language. This really is just a weird way of writing C++ code.
I think they are really good design. The stick out like a sore thumb (reading > writing) so you immediately know "this does something a little special and isn't typically called directly". Contrast that with some languages that just use up perfectly good names in the namespace for operators. Unless you know they are special you are left wondering.
That's a quick jump from "in my opinion" to "you have no clue about".
I mean, the author is probably not a programming language design specialist, but I feel that's overly harsh - they hopefully learned a bit when working on this toy project.
you conveniently ignored the repo owner's educational disclaimer, and instead of taking an opportunity to bring some humanity to your comment, and mentor -- you shamed and disrespected.
i'd really appreciate seeing much more intelligent, mature, and comments with actual substance, than this vitriol.
Before everyone piles on, here is the repo owner's Note at the bottom of the page:
But everyone piled on anyway; see the comment below where the writer opened with 'I have to be harsh about this'.
Classic Hacker News.
From the guidelines [1]: Please don't sneer, including at the rest of the community.
1. https://news.ycombinator.com/newsguidelines.html
Taking the name of the language of the front makes it read like Python is the subject matter.
Original title was
ANIL(A Nice Intermediate Language) Python & C++ inspired programming language that transpiles to C and can be embedded within C source files
Current title is confusing since it truncates the "ANIL(A Nice Intermediate Language)" part, but maybe that was done by HN and not by the person who submitted the article. A better title would be just that first part.
The headline is confusing. It is meant to be read as
I'm pretty sure ANIL is taking the back
I'm re-watching the show Silicon Valley and this name would have been a perfect product name in one of their episodes.
Yeah at first I was like "well that's an unfortunate name choice."
Great work!
Next step is to make your Anil compiler in Anil.
Small complaint: I would rather you have the code examples as text on the github readme than as an image.
Obligatory mention of Shedskin¹, which is an honest to goodness Python3 to C++ transpiler.
1: https://shedskin.github.io/
Edit: wonder if the contributor John Nagle is that John Nagle...
I think ANIL might not be a great name. Let me know if you need clarification ;)
Anil is a given first name, maybe just not in your culture.
'Anil' has several different meanings in Sanskrit and descendant Indo-Aryan languages, Turkish, and a handful of Dravidian languages. All are fairly noble; none warrant a winky face.
They seem to have misspelled it.
Why? It's a nice colour.
Tell me you're a gringo without telling me you're a gringo.
Why are you so anal about its name?
I have to be harsh to this.
It is a surreal combination of both python style white space sensitivity and C style curly braces with random features taken from both.
The __x__ methods in python are in my opinion a severe design mistake and taking inspiration from that means you really have no clue about programming language design. You're just taking things that already exist 1:1 in one language and are just giving it the syntax of the other language. This really is just a weird way of writing C++ code.
Why are dunder methods a "severe design mistake"?
I think they are really good design. The stick out like a sore thumb (reading > writing) so you immediately know "this does something a little special and isn't typically called directly". Contrast that with some languages that just use up perfectly good names in the namespace for operators. Unless you know they are special you are left wondering.
I thought you were nitpicking but looking at that sample code... "endc_function"... wow.
That's a quick jump from "in my opinion" to "you have no clue about".
I mean, the author is probably not a programming language design specialist, but I feel that's overly harsh - they hopefully learned a bit when working on this toy project.
bruh, who the fuck are you?
you conveniently ignored the repo owner's educational disclaimer, and instead of taking an opportunity to bring some humanity to your comment, and mentor -- you shamed and disrespected.
i'd really appreciate seeing much more intelligent, mature, and comments with actual substance, than this vitriol.