Graal Forums  

Go Back   Graal Forums > Development Forums > NPC Scripting
FAQ Members List Calendar Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #16  
Old 12-06-2006, 12:34 AM
Gambet Gambet is offline
Registered User
Join Date: Oct 2003
Posts: 2,712
Gambet is on a distinguished road
Quote:
Originally Posted by Stefan View Post
Format-strings can be quite hard to read when you have many %s and %d and %+3d and stuff in it, although I often prefer it since it makes it easier for the translation system.


Yeah, and it would confuse the heck out of someone that didn't know what %s, %d, and/or %+3d meant. At least when you write it out the 'longer' way, one can pretty much assume what that line of code is supposed to do based on the fact that it's fully written out and people would be able to use context clues to put two and two together.
Reply With Quote
  #17  
Old 12-06-2006, 01:45 AM
Loriel Loriel is offline
Somewhat rusty
Loriel's Avatar
Join Date: Mar 2001
Posts: 5,059
Loriel is a name known to allLoriel is a name known to allLoriel is a name known to allLoriel is a name known to all
Quote:
Originally Posted by Gambet View Post
Yeah, and it would confuse the heck out of someone that didn't know what %s, %d, and/or %+3d meant.
Well, if they understand the rest of my script, chances are they are smart enough to look up what format() does. Also, anyone who has ever read the first chapter of a tutorial on C and probably half of those who read tutorials about C++ know how printf works. Other than that while obviously it is a good thing to not intentionally obfuscate scripts, dumbing scripts down other than for learning purposes is not really something I can get behind.

Quote:
At least when you write it out the 'longer' way, one can pretty much assume what that line of code is supposed to do based on the fact that it's fully written out and people would be able to use context clues to put two and two together.
"Hey, look, a bunch of text with apparently magical symbols that do seem to occur in grammatically interesting places, and a bunch of variables afterwards, and the function is called format, I wonder whether these could be placeholders used to format these variables into the text, and if I am not sure I can still check the documentation!" is close enough for me.

Also if I was not totally ignorant of people who do not bother to learn English yet play on an English server, I would agree with Stefan about the localisation issue because translating lots of string fragments with no obvious logical connection and without the ability to reorder the inserted variables to conform to the target language's grammar gets old really fast.


Apart from that, the whole integer formatting part of format is probably way more powerful than equivalent string concatenation magic. And did anyone ever benchmark format applications against equivalent string concatenations?
Reply With Quote
  #18  
Old 12-06-2006, 02:10 AM
Gambet Gambet is offline
Registered User
Join Date: Oct 2003
Posts: 2,712
Gambet is on a distinguished road
Quote:
Originally Posted by Loriel View Post
Well, if they understand the rest of my script, chances are they are smart enough to look up what format() does. Also, anyone who has ever read the first chapter of a tutorial on C and probably half of those who read tutorials about C++ know how printf works. Other than that while obviously it is a good thing to not intentionally obfuscate scripts, dumbing scripts down other than for learning purposes is not really something I can get behind.

How is it dumbing the script down? There is no difference efficiency-wise. No extra lag is caused, or anything that would be a problem. It's simply a different way of writing it.


Quote:
Originally Posted by Loriel View Post
Apart from that, the whole integer formatting part of format is probably way more powerful than equivalent string concatenation magic.

How is it more powerful in GScript? It's the same thing. It's not "magic," Stefan made it work like that, thus showing that both ways are acceptable. It's all based on personal preference.
Reply With Quote
  #19  
Old 12-06-2006, 02:32 AM
Loriel Loriel is offline
Somewhat rusty
Loriel's Avatar
Join Date: Mar 2001
Posts: 5,059
Loriel is a name known to allLoriel is a name known to allLoriel is a name known to allLoriel is a name known to all
Quote:
Originally Posted by Gambet View Post
How is it dumbing the script down? There is no difference efficiency-wise. No extra lag is caused, or anything that would be a problem. It's simply a different way of writing it.
My point is that format() is often a superior way of writing it:

Quote:
How is it more powerful in GScript? It's the same thing. It's not "magic," Stefan made it work like that, thus showing that both ways are acceptable. It's all based on personal preference.
So how do you print, using string concatenation, an integer in base 8 padded with zeros to a lenght of 8 characters with a sign character in front? How about a float in decimal notation with 4 digits after the decimal point and grouped by thousands with , between them assuming the locale defines that as thousands grouping character?

Further, how about printing the current date either in yy/mm/dd or dd.mm.yy notation based on some internationalisation setting? Are you going to give your translators a bunch of code to edit and then reinsert into your NPCs with if-statements separating the supported languages?
Reply With Quote
  #20  
Old 12-06-2006, 02:34 AM
coreys coreys is offline
N-Pulse Assistant Manager
coreys's Avatar
Join Date: Mar 2005
Posts: 2,180
coreys has a spectacular aura about
Send a message via AIM to coreys Send a message via MSN to coreys Send a message via Yahoo to coreys
Sheesh, Gambet. What is this the 4352356245626th argument you've started in your life?
__________________

Quote:
*SlikRick: so should I even ask about your aim status?
*Xor: well if you want to
*Xor: but i am LARPING
*SlikRick: While on a computer?
*Xor: yes
*Xor: in my living room
*SlikRick: ahh
*Xor: i have a fort setup to hide from beasts
Reply With Quote
  #21  
Old 12-06-2006, 02:42 AM
Gambet Gambet is offline
Registered User
Join Date: Oct 2003
Posts: 2,712
Gambet is on a distinguished road
Quote:
Originally Posted by Loriel View Post
Stuff

What does this have to do with GScript? My arguments support its function on GScript, considering that's the language that we code in on Graal.

Last edited by Gambet; 12-06-2006 at 02:58 AM..
Reply With Quote
  #22  
Old 12-06-2006, 03:10 AM
Loriel Loriel is offline
Somewhat rusty
Loriel's Avatar
Join Date: Mar 2001
Posts: 5,059
Loriel is a name known to allLoriel is a name known to allLoriel is a name known to allLoriel is a name known to all
Quote:
Originally Posted by Gambet View Post
What does this have to do with GScript? My arguments support its function on GScript, considering that's the language that we code in on Graal.
I am talking about gscript...?
Reply With Quote
  #23  
Old 12-06-2006, 03:16 AM
Gambet Gambet is offline
Registered User
Join Date: Oct 2003
Posts: 2,712
Gambet is on a distinguished road
Quote:
Originally Posted by Loriel View Post
I am talking about gscript...?

How does printing apply to Graal? I probably just misunderstood you.

I don't see how there would ever be an instance where you would need to use format.

Don't get me wrong, format looks a lot more clean, but it just doesn't seem very practical to me, and I'm not the only scripter that thinks this. If there's no point on using it, why use it? Just to make the script seem less cluttered? I guess it depends on what you would consider to be cluttered.


Enlighten me.
Reply With Quote
  #24  
Old 12-06-2006, 03:27 AM
Loriel Loriel is offline
Somewhat rusty
Loriel's Avatar
Join Date: Mar 2001
Posts: 5,059
Loriel is a name known to allLoriel is a name known to allLoriel is a name known to allLoriel is a name known to all
Quote:
Originally Posted by Gambet View Post
How does printing apply to Graal? I probably just misunderstood you.
Oh, I mean printing as in outputting text. To chat or RC or strings or whatever.

Quote:
If there's no point on using it, why use it?
I just keep listing reasons to use it, where it is way more elegant, compact and readable than string concatenation. Someone would need to benchmark it, but chances are it is more efficient too.
Reply With Quote
  #25  
Old 12-06-2006, 03:33 AM
Gambet Gambet is offline
Registered User
Join Date: Oct 2003
Posts: 2,712
Gambet is on a distinguished road
Quote:
Originally Posted by Loriel View Post
I just keep listing reasons to use it, where it is way more elegant, compact and readable than string concatenation. Someone would need to benchmark it, but chances are it is more efficient too.

But that's exactly what I've said.

It just looks more clean, or 'elegant' as you say. But it makes no difference efficiency wise, which is really what counts. You could argue that format makes script more presentable, but one who prefers to read the elongated version would argue with you.

If there were a clear distinction between the two methods, besides not wanting to format via symbol concatenation, then I would agree that it would be best to use format.
Reply With Quote
  #26  
Old 12-06-2006, 03:45 AM
Loriel Loriel is offline
Somewhat rusty
Loriel's Avatar
Join Date: Mar 2001
Posts: 5,059
Loriel is a name known to allLoriel is a name known to allLoriel is a name known to allLoriel is a name known to all
Quote:
Originally Posted by Gambet View Post
But that's exactly what I've said.

It just looks more clean, or 'elegant' as you say. But it makes no difference efficiency wise, which is really what counts.
Not at all. See assembly language versus highlevel languages. Programmer time is more expensive than processor time.

Arguing whether efficiency is the most important criterium is for another thread so I will leave now
Reply With Quote
  #27  
Old 12-06-2006, 03:53 AM
Gambet Gambet is offline
Registered User
Join Date: Oct 2003
Posts: 2,712
Gambet is on a distinguished road
Quote:
Originally Posted by Loriel View Post
Not at all. See assembly language versus highlevel languages. Programmer time is more expensive than processor time.


Considering I hardly ever use format(), I can say that concatenation symbols work a lot faster for me
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 12:34 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.