- Embedded sql in the fashion of php.reboot is dirty.
- No open/close tags and using brackets sounds error prone.
- I'm also personally a fan of the dollar sign.
It appears as though what you really want is Ruby.
- Embedded sql in the fashion of php.reboot is dirty.
- No open/close tags and using brackets sounds error prone.
- I'm also personally a fan of the dollar sign.
It appears as though what you really want is Ruby.
That being said, my initial reaction is to wonder why, when designing a new language, one would model after PHP of all things.
I think something like underscore.js[1] would be much more in the style of PHP - I always thought PHP and JS were similary in their wackiness - and I would much prefer it to LINQ.
As far as modeling after PHP, there are things I'd leave/take, but really the biggest issue is the standard library.
Take a look at the Linq implementation for a good example. Or, look at something like JSON in javascript.
I thought it was all kind of weird and wrong at first too but now it's probably my favorite c# feature next to the (very much related) lambda expressions, especially for non-SQL collection queries. Of course this doesn't mean PHP needs integrated queries or anything, but it is a very nice feature to have if done right. XML/json literals, on the other hand, do feel kind of wrong to me though (although I bet they are handy still, as many vb.net devs will probably attest to).
[Edited for spelling - damn ipad keyboard!]
May i ask why? i think that this makes the languaje very ugly.
/* in version x of SFL (Sigil-Free Language) */
school = get_school("Saint Fred's School For Girls");
class = get_class(school, "Agricultural Studies", 12);
yield = get_agricultural_yield(class, "Turnips", 2011);
printf("The Year 12 Ag Studies class produced %d turnips in 2011", yield);
Now we try upgrading to version x+1 of SFL, which adds object-orientation and concurrency (it was a BIG upgrade!). Now three of the lines in that four-line program contain errors, because "class" and "yield" are no longer valid variable names, having been turned into keywords.In a language with sigils, that's no problem. It also makes it easier (therefore faster) for syntax highlighting to spot where variables are used, without needing a full dictionary and an exact version number - that makes a difference for me as an Emacs user especially.
- Happens very rarely - Is trivially solved, even in a large codebase
For me, it makes a big difference in languages like ruby where you could either be calling a method, a monkey-patched method_missing callable, or a property in some scope.
Additionally if your language has first class functions, it would feel kind of strange if names of some functions started with $ and others without it.