CoffeeScript vs. TypeScript What should you use in your application?

Slides:



Advertisements
Similar presentations
Introducing JavaScript
Advertisements

1 CSC 551: Web Programming Spring 2004 client-side programming with JavaScript  scripts vs. programs  JavaScript vs. JScript vs. VBScript  common tasks.
Internetteknologi (ITNET1) Extra Presentation Java IDE Tool Support.
Writing better HTML5 websites and debugging them By Peter Messenger Senior Developer – Triple Point Technology
North Shore.NET User Group Our Sponsors. North Shore.NET User Group Check out our new web site Next Meeting
Working with JavaScript. 2 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page Working with Variables.
Tutorial 10 Programming with JavaScript
XP 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial 10.
XP Tutorial 1 New Perspectives on JavaScript, Comprehensive1 Introducing JavaScript Hiding Addresses from Spammers.
F# Shiva Srivastava David He Peter Bingel. Overview F# (pronounced "F sharp") is a functional and object oriented programming language for the Microsoft.NET.
Taking JavaScript Seriously IS NOT THE WORST IDEA.
Major Sponsors Minor Sponsors. about John Liu Contents What is TypeScript Why do we need TypeScript How Demo Pinteresp Working with your existing JavaScript.
JS Arrays, Functions, Events Week 5 INFM 603. Agenda Arrays Functions Event-Driven Programming.
Intro to Web Programming using PHP, HTTP, CSS, and Javascript Layton Smith CSE 4000.
Catlyn Colson. Recap of Previously Completed Work Previously I had done the following: Built the Database, started basic layout of the webpage, connected.
Introduction to Silverlight. Slide 2 What is Silverlight? It’s part of a Microsoft Web platform called Rich Internet Applications (RIA) There is a service.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
CSC 494/594 C# and ASP.NET Programming. C# 2012 C# Object-oriented language with syntax that is similar to Java.
Hans-Peter Plag October 16, 2014 Session 3 Programming Languages Data Types and Variables Expressions and Operators Flow Control.
Major Sponsors Minor Sponsors. about John Liu Contents What is TypeScript Why do we need TypeScript How Demo Pinteresp Working with your existing JavaScript.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 13: An Introduction to C++
11 июля 2015 As true as steel to your desire You come with just an idea - we make great software for you! Trust Teamwork Transparency TypeScript – обзор.
XP Tutorial 10New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with JavaScript Creating a Programmable Web Page for North Pole.
Tutorial 10 Programming with JavaScript. XP Objectives Learn the history of JavaScript Create a script element Understand basic JavaScript syntax Write.
Applied Computing Technology Laboratory QuickStart C# Learning to Program in C# Amy Roberge & John Linehan November 7, 2005.
XP Tutorial 10New Perspectives on HTML and XHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial.
CSC1401 Classes - 2. Learning Goals Computing concepts Adding a method To show the pictures in the slide show Creating accessors and modifiers That protect.
Copyright © Curt Hill The Compound Statement C-Family Languages and Scope.
Tutorial 10 Programming with JavaScript. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Learn the history of JavaScript.
Rich Internet Applications 2. Core JavaScript. The importance of JavaScript Many choices open to the developer for server-side Can choose server technology.
Support standard JavaScript code with static typing Encapsulation through classes and modules Support for constructors, properties and.
John Liu. Senior Consultant for SharePoint Gurus Sydney User Groups, SharePoint Saturday, SharePoint Conferences,
Tutorial 10 Programming with JavaScript. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Learn the history of JavaScript.
Writing Better C# Using C# 6 By: Mitchel Sellers.
Introduction to JavaScript MIS 3502, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 2/2/2016.
TypeScript for Alfresco and CMIS Steve Reiner CTO Integrated Semantics.
Getting Started with Angular 2 and TypeScript Nebraska.Code() 2016 Spencer Schneidenbach Ryvit.
JavaScript and AJAX 2nd Edition Tutorial 1 Programming with JavaScript.
XP Tutorial 10New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties.
Mail Web Twitter TypeScript Rainer Stropek software architects gmbh JavaScript on Steroids.
By: Travis Powell and Chad Herman. About CoffeeScript The Golden Rule: o "Its just JavaScript" One-to-One Compilage into equivalent JavaScript Passes.
TypeScript: The Gateway Drug Whittaker.
C# Part 1 Intro to C#. Background Designed to be simple, modern, general- purpose, OO, programming language Strong type checking, array bounds checking,
Node.js Modules Header Mastering Node.js, Part 2 Eric W. Greene
Introduction to TypeScript
Introduction Python is an interpreted, object-oriented and high-level programming language, which is different from a compiled one like C/C++/Java. Its.
Get Typed with TypeScript!
Game-Changing Features in ES2015
9/13/2018 7:43 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Modern Front-End Web Development with Visual Studio
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Introduction to Silverlight
SharePoint-Hosted Apps and JavaScript
AngularJS and SharePoint 2013: Lessons Learned from the Trenches
Nick Trogh Technical Evangelist, Microsoft.
Module 0: Introduction Chapter 2: Getting Started
Module 1: Getting Started
An Expert Guide On Regression Testing. A software regression is any undesired variation that occurs from code changes. Let just take an example of this.
Typescript Programming Languages
Microsoft Virtual Academy
Microsoft Build /22/2018 6:07 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
Tutorial 10 Programming with JavaScript
4/25/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Build 2014 Anders Hejlsberg Technical Fellow
Introduction to TypeScript
Windows Azure Anders Hejlsberg Technical Fellow 3-012
Angular.
Intro to Programming (in JavaScript)
Presentation transcript:

CoffeeScript vs. TypeScript What should you use in your application?

About ME Paul Oliver Lead Credit Services of America (Slides and links will be tweeted after conference) (Slides and links will be tweeted after conference)

AGENDA About Each Language SetupDemoComparisonsConclusion

About CoffeeScript First Release October 2009 Open Source (Github) 11th Most Popular language on Github. 'The original idea was for CoffeeScript to be "unfancy JavaScript"--JavaScript boiled down to its regular essence without the language quirks you usually have to watch out for. Java is a fancy word for coffee, so unfancy JavaScript is CoffeeScript.' Jeremy Ashkenas CoffeeScript creator

About TypeScript First released in October 2012 by Microsoft. Anders Hejlsberg designed much of TypeScript. Open Source and hosted on CodePlex Not in the Top 90 languages on Github (yet) Transcompiles to JavaScript (ES3 and ES6)

SETUP Compiled JavaScri pt Visual Studio 2012 ASP.NET Web Tools Web Essentials

Wait? Compiled JavaScript? zookeeper = "Paul" session = 106 alert(zookeeper) alert(session) var zookeeper : string = "Paul"; var session : number = 106; alert(zookeeper); alert(session); var session, zookeeper; zookeeper = "Paul"; session = 106; alert(zookeeper); alert(session); CompilerCompiler

TYPESCRIPT IS IN ALPHA! DON’T install the latest version (0.9 alpha)...it has major memory problems. Look for an older version Requires Restart. Why?

STop! Demo Time

COFFEESCRIPT FEATURES NOT IN TYPESCRIPT Fixes comparison operators ( ==, !== ) Correctly hoists variable declarations Loop comprehensions for food in foods where... Better default parameter handling ( null and undefined ) Great support for arrays elements = arr[3..6] Does not require all the “ceremony” of static typing Wraps the compiled JavaScript in a safety wrapper to prevent global contamination String interpolation: “Hello #{name}” Many more...

TYPESCRIPT FEATURES NOT IN CoFFEESCRIPT Intellisense! (in Visual Studio) Squiggly Lines! (in Visual Studio) Static Type Checking JavaScript-like syntax You can use == if you want. (Why?) Supports some of the EcmaScript standards still being solidified (like module and let )

CAN’T WE ALL JUST GET ALONG? There’s Room for Both

Features of Both

Metrics

TYPESCRIPT IS APTLY NAMED

CONVERTING Legacy Code It took about 25 times longer to convert legacy code to TypeScript

CONVERTING Legacy Code It took about 25 times longer to convert legacy code to TypeScript amber.js amber.coffee js2coffee amber.js > amber.coffee js2typescript amber.js Error: Command not found

How to Choose? Prefer “stable and popular” to “new and unproven” Working with legacy code (new code is fine too!) Prefer typing less code Don’t need Intellisense or refactoring built into your tooling Willing to learn a new syntax Understand how JavaScript works Don’t mind working with bleeding edge Not working with legacy code Don’t mind typing more to get more hints and features from your IDE Really want Intellisense and static type checking Prefer a language that looks similar to JavaScript Understand how JavaScript works

CONTACT ME (Slides and links will be tweeted after conference) (Slides and links will be tweeted after conference) Interested in Early Access to Enterprise Mapper? Interested in Early Access to Enterprise Mapper?