I can sorta understand that, but it still bothers me. Mostly because I'm not used to it though.
Considering I wrote this without syntax highlighting, trust me when I say that it helps immensely.
True, I've seen ** used in a number of places, but IMO it just kinda looks ugly. I guess It's sorta the same issue as the first one, I'm just too used to ^. ^ makes me think "raised" and therefore, "raised to the power".
Oh, don't get me wrong, I agree.
I'm used to calculators, where ^ is pretty much the de facto standard.
When compared to pow(2,8) and such things, though, it's definitely the lesser of two evils.
Good point. I think I'd end up using prefix names to tell me what they are (well, the clarify anyway).
The problem with that is that the data type can change depending on what you want to do.
Let's say you're parsing a file that has a list of numbers, incrementing each one by one, and printing them to the screen. In Perl, all you'd have to do this is this per line:
$myVar = <$myFile>;
print ++$myVar;
(note: I'm not sure if you can do a postfix operator on file line reads...if so, I'd totally do it just to be a douche )All file input is done with strings and, in this case, the string is seamlessly converted. Perfect for if you want to make a quick script to process many "strings" of numbers. ReMaic -- a Quake demo recamming tool -- is one tool that probably greatly benefits from this.
In something like, say, VB.NET (C# would be extremely similar), that code would look more like this:
inData = sReader.ReadLine
numData = Convert.ToInt32(inData)
numData += 1
Console.WriteLine(numData)
(note: I know that Val(inData) will work for VB.NET, but I didn't want to have to rely on the Microsoft.VisualBasic namespace. And yes, I know that VB.NET allows implicit type conversions...stfuad)
In this example it's just one extra step, but what would happen if you were processing a lot of data? Perhaps, a list of coordinates or something of that sort. It would start to get a little tedious.
Implicit conversions aren't always a good idea, but in data processing they can save a lot of time and effort, not to mention allow for neater code in many cases.