On Mon, Oct 1, 2012 at 6:03 PM, Mark Hahn <[email protected]> wrote:

> > Yes, it will work, that's not the point.
>
> Then give me an example that does make the point.  I'm a little
> thick-headed.
>

See my last email to Gustavo.

Rick


>
>
> On Mon, Oct 1, 2012 at 2:59 PM, Rick Waldron <[email protected]>wrote:
>
>>
>>
>> On Mon, Oct 1, 2012 at 5:53 PM, Mark Hahn <[email protected]> wrote:
>>
>>> > The above example is fairly contrived
>>>
>>> And useless.  The JS would work fine passing it a number.
>>>
>>
>> Did you actually read the entire example? I said that for you, but thanks
>> for the additional coverage.
>>
>> Yes, it will work, that's not the point. The point is that the runtime
>> can optimize the execution if it can find ways to make assumptions about
>> the code it's executing. One the most common is based on types.
>>
>>
>> Rick
>>
>>
>>
>>>
>>> On Mon, Oct 1, 2012 at 2:36 PM, Rick Waldron <[email protected]>wrote:
>>>
>>>>
>>>>
>>>> On Mon, Oct 1, 2012 at 5:15 PM, Gustavo Machado <[email protected]>wrote:
>>>>
>>>>>
>>>>> For less sophisticated developers (most people, and most of the VS
>>>>>> market), the compiler errors will remove much debugging frustration and
>>>>>> allow them to focus on creating rather than debugging.
>>>>>>
>>>>>>
>>>>> It also allows them to focus on "creating" instead of understanding
>>>>> what they are doing. Take the sample on the playground for instance:
>>>>>
>>>>>  constructor (message: string) {
>>>>> this.greeting = message;
>>>>> }
>>>>>
>>>>> will translate to:
>>>>>
>>>>>     function Greeter(message) {
>>>>>         this.greeting = message;
>>>>>     }
>>>>>
>>>>> If you can only handle string, should you not be doing a check and
>>>>> writing a proper message? What will happen to javascript users that 
>>>>> consume
>>>>> your code generated with TypeScript? It's not a huge gain IMO, and a few
>>>>> CONS:
>>>>>
>>>>> - only get intellisense in VS (a gigantic IDE which will handle from
>>>>> databases, to manual tests).
>>>>> - TypeScript seems to be making the code longer to type and less
>>>>> readable instead of shorter/better (like others do).
>>>>> - yet another language/dependency on your project.
>>>>> - most of the type-related things could be handled gracefully with
>>>>> comments.
>>>>>
>>>>
>>>> You can't get runtime optimizations with comments.
>>>>
>>>>
>>>> Take a look at this example:
>>>>
>>>> function f( a ) {
>>>>   return "Hello Number " + a;
>>>> }
>>>>
>>>> // Say you called it like this, of course it will work,
>>>> // but the runtime won't necessarily optimize
>>>> // because you've given it no information about what
>>>> // it CAN optimize. Besides, you really wanted a string.
>>>> f(1);
>>>>
>>>>
>>>> // So enforce it...
>>>> function f( a: string ) {
>>>>   return "Hello Number " + a;
>>>> }
>>>>
>>>> // throws on compilation
>>>> f(1);
>>>>
>>>> // Which would encourage you to go back to your code
>>>> // and make it a string:
>>>> f("1");
>>>>
>>>> // Now it passes the compilation and this is what it outputs:
>>>> function f(a) {
>>>>   return "Hello Number " + a;
>>>> }
>>>> f("1");
>>>>
>>>> The point is that it made you think about what you were passing to the
>>>> function.
>>>>
>>>>
>>>> The above example is fairly contrived and I'm sure that most runtimes
>>>> will figure that specific case out and optimize just the same, but allow it
>>>> to serve as a simplified example case.
>>>>
>>>>
>>>> Rick
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>> Gus
>>>>>
>>>>> --
>>>>> Job Board: http://jobs.nodejs.org/
>>>>> Posting guidelines:
>>>>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "nodejs" group.
>>>>> To post to this group, send email to [email protected]
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected]
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>>>>
>>>>
>>>>  --
>>>> Job Board: http://jobs.nodejs.org/
>>>> Posting guidelines:
>>>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>>>> You received this message because you are subscribed to the Google
>>>> Groups "nodejs" group.
>>>> To post to this group, send email to [email protected]
>>>> To unsubscribe from this group, send email to
>>>> [email protected]
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>>>
>>>
>>>  --
>>> Job Board: http://jobs.nodejs.org/
>>> Posting guidelines:
>>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>>> You received this message because you are subscribed to the Google
>>> Groups "nodejs" group.
>>> To post to this group, send email to [email protected]
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>> For more options, visit this group at
>>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>>
>>
>>  --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines:
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>
>  --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to