Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't entirely disagree that _changing_ the language is a bit of a no no, like changing the behavior of existing keywords and operators.

However, any program that declares a variable or new function could be said to extend the language, since, if you declare some function, well, that function is now, at least in any proper language, as much part of the language of that program, as any builtin function is.

Sure, if all you have is an empty .c file, you can say "this program is standard C", but as soon as you've declared a variable or funciton, your program becomes in a way a superset of C, it is all the standard C plus the functions, datastructures and variables that you've defined, and to extend that program, it is not enough to keep strictly to the standard language, you must also take into consideration the superset of functionality that is part of the program..

In this way, programming is much more about creating a language that speaks natively in the abstractions of the domain, and then using that language to solve specific tasks within the domain.

And so it becomes that, you're always tweaking the language, it's just the degree to which you can tweak it that is different..



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: