C # 7, 8, and beyond: language features from design to release to IDE support. Kevin
|
|
- Madison Carter
- 6 years ago
- Views:
Transcription
1 C # 7, 8, and beyond: language features from design to release to IDE support Kevin Pilch
2 Stack Overflow - most popular technologies
3 Stack Overflow - most loved technologies
4 Changing the tune - Why you can use C# Run on Windows Black box compilers Edit in Visual Studio Proprietary Run everywhere Open compiler APIs Use your favorite editor Open source
5 C# everywhere - Xamarin
6 C# everywhere - Unity
7 C# everywhere -.NET Core
8 Roslyn the C# language engine There should need to be only one code base in the world for understanding C#
9 OmniSharp edit C# everywhere
10 C# Evolution A balancing act Aggressively improve Attractive to new users Embrace new paradigms Stay simple Improve existing development Stay true to the spirit of C#
11 C# - evolution C# 7 C# 1 C# 2 Generics C# 3 Queries, Lambdas C# 4 Dynamic, Concurrency C# 5 Async C# 6 Eliminate ceremony Work with data Hello World
12 C# 6 - recap Expression bodied members String Interpolation Conditional access operator nameof Using static Exception Filters Interactive window
13 Demo: C# 7.0
14 C# 7.0 what s new static void Main(string[] args) { object[] numbers = { 0b1, 0b10, new object[] { 0b100, 0b1000 }, // binary literals 0b1_0000, 0b10_0000 }; // digit separators } var (sum, count) = Tally(numbers); WriteLine($"Sum: {sum}, Count: {count}"); // deconstruction static (int sum, int count) Tally(object[] values) { var r = (s: 0, c: 0); void Add(int s, int c) { r.s += s, r.c += c; } // tuple types // tuple literals // local functions } return r;
15 C# 7.0 what s new static (int sum, int count) Tally(object[] values) { var r = (s: 0, c: 0); void Add(int s, int c) { r.s += s, r.c += c; } foreach (var v in values) { switch (v) { case int i: Add(i, 1); break; case object[] a when a.length > 0: var t = Tally(a); Add(t.sum, t.count); break; } } return r; } // tuple types // tuple literals // local functions // switch on any value // type patterns // case conditions
16 Binary literals Digit separators Tuples Patterns Local functions Tasklike async methods Out var ref locals and returns Throw expressions More expression bodied members C# 7.0 what s new
17 C# 7.1 introducing point releases default expressions Async main Infer tuple names Reference assemblies
18 C# 7.2, 8.0, long term thinking ref readonly blittable Interior pointer (needed for Span<T>) Nullable Reference Types Default Interface methods
19 Nullable and non-nullable reference types string? n; // Nullable reference type string s; // Non-nullable reference type n = null; // Sure; it's nullable s = null; // Warning! Shouldn t be null! s = n; // Warning! Really! WriteLine(s.Length); // Sure; it s not null WriteLine(n.Length); // Warning! Could be null! if (n!= null) { WriteLine(n.Length); } // Sure; you checked WriteLine(n!.Length); // Ok, if you insist!
20 Default implementations public interface IEnumerator { object Current { get; } bool MoveNext(); void Reset() => throw new InvalidOperationException("Reset not supported"); } public interface IEnumerator<out T> : IDisposable, IEnumerator { new T Current { get; } object IEnumerator.Current => Current; }
21 C# 8.0, long term thinking Extension Everything Async Streams and Disposables More patterns: recursive, tuples, expressions, etc Records Discriminated Unions Creating Immutable objects
22 Extension everything extension Enrollee extends Person { // static field static Dictionary<Person, Professor> enrollees = new(); // instance method public void Enroll(Professor supervisor) { enrollees[this] = supervisor; } // instance property public Professor Supervisor => enrollees.trygetvalue(this, out var supervisor)? supervisor : null; // static property public static ICollection<Person> Students => enrollees.keys; } // instance constructor public Person(string name, Professor supervisor) : this(name) { this.enroll(supervisor); }
23 Async streams and disposables IAsyncEnumerable<Person> people = database.getpeopleasync(); foreach await (var person in people) { // use person } using await (IAsyncDisposable resource = await store.getrecordasync( )) { // use resource }
24 Recursive patterns if (o is Point(_, var y)) { WriteLine($"Y: {y}"); } if (o is Point { Y: var y }) { WriteLine($"Y: {y}"); }
25 Pattern matching expressions var s = match (o) { }; int i case Point(int x, int y) string s when s.length > 0 => s, null _ => $"Number {i}", => $"({x},{y})", => "<null>", => "<other>"
26 Tuples in patterns state = match (state, request) { } (Closed, Open) (Closed, Lock) => Opened, => Locked, (Opened, Close) => Closed, (Locked, Unlock) => Closed, _ => throw new InvalidOperationException( )
27 Records and discriminated unions record Person(string First, string Last); class Person : IEquatable<Person> { public string First { get; } public string Last { get; } public Person(string First, string Last) { this.first = First; this.last = Last; } public void Deconstruct(out string first, out string last){ first = First; last = Last; } public bool Equals(Person other) => other!= null && First == other.first && Last == other.last; } public override bool Equals(object obj) => obj is Person other? Equals(other) : false; public override int GetHashCode() => GreatHashFunction(First, Last);
28 Creating immutable objects var p1 = new Point { X = 3, Y = 7 }; var p2 = p1 with { X = -p1.x };
29 Questions and resources? Language Implementation Reference Contact Content Me Twitter/GitHub
Herding Nulls. and other C# stories from the future. Mads Torgersen, C# lead designer Microsoft
Herding Nulls and other C# stories from the future Mads Torgersen, C# lead designer Microsoft Chapter One Herding nulls Every reference type allows null! Code must be defensive about it C# shares this
More informationIntroduce C# as Object Oriented programming language. Explain, tokens,
Module 2 98 Assignment 1 Introduce C# as Object Oriented programming language. Explain, tokens, lexicals and control flow constructs. 99 The C# Family Tree C Platform Independence C++ Object Orientation
More informationUpcoming Features in C# Mads Torgersen, MSFT
Upcoming Features in C# Mads Torgersen, MSFT This document describes language features currently planned for C# 6, the next version of C#. All of these are implemented and available in VS 2015 Preview.
More informationJava and C# in Depth
Chair of Software Engineering Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 4 Chair of Software Engineering Don t forget to form project groups by tomorrow (March
More informationinside: THE MAGAZINE OF USENIX & SAGE August 2003 volume 28 number 4 PROGRAMMING McCluskey: Working with C# Classes
THE MAGAZINE OF USENIX & SAGE August 2003 volume 28 number 4 inside: PROGRAMMING McCluskey: Working with C# Classes & The Advanced Computing Systems Association & The System Administrators Guild working
More informationWhom Is This Book For?... xxiv How Is This Book Organized?... xxiv Additional Resources... xxvi
Foreword by Bryan Hunter xv Preface xix Acknowledgments xxi Introduction xxiii Whom Is This Book For?... xxiv How Is This Book Organized?... xxiv Additional Resources... xxvi 1 Meet F# 1 F# in Visual Studio...
More informationC# Programming in the.net Framework
50150B - Version: 2.1 04 May 2018 C# Programming in the.net Framework C# Programming in the.net Framework 50150B - Version: 2.1 6 days Course Description: This six-day instructor-led course provides students
More informationDAD Lab. 1 Introduc7on to C#
DAD 2017-18 Lab. 1 Introduc7on to C# Summary 1..NET Framework Architecture 2. C# Language Syntax C# vs. Java vs C++ 3. IDE: MS Visual Studio Tools Console and WinForm Applica7ons 1..NET Framework Introduc7on
More informationLearn C# Errata. 3-9 The Nullable Types The Assignment Operators
1 The following pages show errors from the original edition, published in July 2008, corrected in red. Future editions of this book will be printed with these corrections. We apologize for any inconvenience
More informationPrerequisites: The student should have programming experience in a high-level language. ITCourseware, LLC Page 1. Object-Oriented Programming in C#
Microsoft s.net is a revolutionary advance in programming technology that greatly simplifies application development and is a good match for the emerging paradigm of Web-based services, as opposed to proprietary
More informationIndustrial Programming
Industrial Programming Lecture 4: C# Objects & Classes Industrial Programming 1 What is an Object Central to the object-oriented programming paradigm is the notion of an object. Objects are the nouns a
More informationWhat is an Object. Industrial Programming. What is a Class (cont'd) What is a Class. Lecture 4: C# Objects & Classes
What is an Object Industrial Programming Lecture 4: C# Objects & Classes Central to the object-oriented programming paradigm is the notion of an object. Objects are the nouns a person called John Objects
More informationClass definition. complete definition. public public class abstract no instance can be created final class cannot be extended
JAVA Classes Class definition complete definition [public] [abstract] [final] class Name [extends Parent] [impelements ListOfInterfaces] {... // class body public public class abstract no instance can
More informationOops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including:
Oops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including: Abstraction Encapsulation Inheritance and Polymorphism Object-Oriented
More informationWhat property of a C# array indicates its allocated size? What keyword in the base class allows a method to be polymorphic?
What property of a C# array indicates its allocated size? a. Size b. Count c. Length What property of a C# array indicates its allocated size? a. Size b. Count c. Length What keyword in the base class
More informationCourse Hours
Programming the.net Framework 4.0/4.5 with C# 5.0 Course 70240 40 Hours Microsoft's.NET Framework presents developers with unprecedented opportunities. From 'geoscalable' web applications to desktop and
More informationEquality in.net. Gregory Adam 07/12/2008. This article describes how equality works in.net
Equality in.net Gregory Adam 07/12/2008 This article describes how equality works in.net Introduction How is equality implemented in.net? This is a summary of how it works. Object.Equals() Object.Equals()
More informationSemantic & Immutable Types
Semantic & Immutable Types Semantic Type A type that captures exactly one simple concept Semantic Types in.net System DateTime DateTimeOffset Timespan Uri Version System.IO FileInfo DirectoryInfo System.Numerics
More informationMicrosoft Visual C# Step by Step. John Sharp
Microsoft Visual C# 2013 Step by Step John Sharp Introduction xix PART I INTRODUCING MICROSOFT VISUAL C# AND MICROSOFT VISUAL STUDIO 2013 Chapter 1 Welcome to C# 3 Beginning programming with the Visual
More informationThe C# Programming Language. Overview
The C# Programming Language Overview Microsoft's.NET Framework presents developers with unprecedented opportunities. From web applications to desktop and mobile platform applications - all can be built
More informationHow to be a C# ninja in 10 easy steps. Benjamin Day
How to be a C# ninja in 10 easy steps Benjamin Day Benjamin Day Consultant, Coach, Trainer Scrum.org Classes Professional Scrum Developer (PSD) Professional Scrum Foundations (PSF) TechEd, VSLive, DevTeach,
More informationObject-Oriented Programming in C# (VS 2015)
Object-Oriented Programming in C# (VS 2015) This thorough and comprehensive 5-day course is a practical introduction to programming in C#, utilizing the services provided by.net. This course emphasizes
More informationCORE JAVA TRAINING COURSE CONTENT
CORE JAVA TRAINING COURSE CONTENT SECTION 1 : INTRODUCTION Introduction about Programming Language Paradigms Why Java? Flavors of Java. Java Designing Goal. Role of Java Programmer in Industry Features
More informationC#: framework overview and in-the-small features
Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer C#: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer
More informationObject-Oriented Programming in C# (VS 2012)
Object-Oriented Programming in C# (VS 2012) This thorough and comprehensive course is a practical introduction to programming in C#, utilizing the services provided by.net. This course emphasizes the C#
More informationChapter 1 Getting Started
Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different
More information1 C# 6.0: Practical Guide 6.0. Practical Guide. By: Mukesh Kumar.
1 C# 6.0: Practical Guide C# 6.0 Practical Guide By: Mukesh Kumar 2 C# 6.0: Practical Guide Disclaimer & Copyright Copyright 2016 by mukeshkumar.net All rights reserved. Share this ebook as it is, don
More informationRx is a library for composing asynchronous and event-based programs using observable collections.
bartde@microsoft.com Slides license: Creative Commons Attribution Non-Commercial Share Alike See http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode Too hard today (f g)(x) = f(g(x)) Rx is a library
More informationCrash Course in Java. Why Java? Java notes for C++ programmers. Network Programming in Java is very different than in C/C++
Crash Course in Java Netprog: Java Intro 1 Why Java? Network Programming in Java is very different than in C/C++ much more language support error handling no pointers! (garbage collection) Threads are
More informationTomas Petricek. F# Language Overview
Tomas Petricek F# Language Overview Master student of computer science at Charles University Prague Bachelor thesis on AJAX development with meta programming under Don Syme Microsoft C# MVP Numerous articles
More informationNotes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.)
Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.) David Haraburda January 30, 2013 1 Introduction Scala is a multi-paradigm language that runs on the JVM (is totally
More informationWith great C++ comes great responsibility
www.italiancpp.org With great C++ comes great responsibility Marco Arena Italian C++ Conference 2016 14 Maggio, Milano Who I am Computer Engineer, VC++ My C++ has served an Italian F1 Team since 2011 In
More informationMCSA Universal Windows Platform. A Success Guide to Prepare- Programming in C# edusum.com
70-483 MCSA Universal Windows Platform A Success Guide to Prepare- Programming in C# edusum.com Table of Contents Introduction to 70-483 Exam on Programming in C#... 2 Microsoft 70-483 Certification Details:...
More informationIntroduction to C# Applications
1 2 3 Introduction to C# Applications OBJECTIVES To write simple C# applications To write statements that input and output data to the screen. To declare and use data of various types. To write decision-making
More informationConcepts of programming languages
Concepts of programming languages Something El(m)se Paolo Servillo, Enzo van Kessel, Jesse de Ruijter 1 Contents What is Elm? The language The architecture Transcompiling Elm in practice 2 What is Elm?
More informationpublic class Test { public static int i = 0;
Lec 25 Conclusion public class Test { public static int i = 0; public static void main(string[] args) { Test t = new Test(i++); String s = "hi"; t.method1(i, s); System.out.println(i + s); } public Test(int
More informationCSE 431S Type Checking. Washington University Spring 2013
CSE 431S Type Checking Washington University Spring 2013 Type Checking When are types checked? Statically at compile time Compiler does type checking during compilation Ideally eliminate runtime checks
More informationCSC 210, Exam Two Section February 1999
Problem Possible Score 1 12 2 16 3 18 4 14 5 20 6 20 Total 100 CSC 210, Exam Two Section 004 7 February 1999 Name Unity/Eos ID (a) The exam contains 5 pages and 6 problems. Make sure your exam is complete.
More informationC#.Net. Course Contents. Course contents VT BizTalk. No exam, but laborations
, 1 C#.Net VT 2009 Course Contents C# 6 hp approx. BizTalk 1,5 hp approx. No exam, but laborations Course contents Architecture Visual Studio Syntax Classes Forms Class Libraries Inheritance Other C# essentials
More informationObjectives. Introduce static keyword examine syntax describe common uses
Static Objectives Introduce static keyword examine syntax describe common uses 2 Static Static represents something which is part of a type rather than part of an object Two uses of static field method
More informationMobile SDK for Xamarin - SSC 1.1 Rev: September 13, Mobile SDK for Xamarin - SSC 1.1
Mobile SDK for Xamarin - SSC 1.1 Rev: September 13, 2018 Mobile SDK for Xamarin - SSC 1.1 All the official Sitecore documentation. Page 1 of 40 Accessing Sitecore content The Sitecore Mobile SDK serves
More informationAn introduction to Java II
An introduction to Java II Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 jvo@ualg.pt José Valente de Oliveira 4-1 Java: Generalities A little
More informationRyerson University Department of Electrical & Computer Engineering COE618 Midterm Examination February 26, 2013
Ryerson University Department of Electrical & Computer Engineering COE618 Midterm Examination February 26, 2013 Name: Student # : Time: 90 minutes Instructions This exam contains 6 questions. Please check
More informationCSC 1351: Final. The code compiles, but when it runs it throws a ArrayIndexOutOfBoundsException
VERSION A CSC 1351: Final Name: 1 Interfaces, Classes and Inheritance 2 Basic Data Types (arrays, lists, stacks, queues, trees,...) 2.1 Does the following code compile? If it does not, how can it be fixed?
More informationInheritance (Part 5) Odds and ends
Inheritance (Part 5) Odds and ends 1 Static Methods and Inheritance there is a significant difference between calling a static method and calling a non-static method when dealing with inheritance there
More informationFuture of Java. Post-JDK 9 Candidate Features. Jan Lahoda Java compiler developer Java Product Group, Oracle September, 2017
Future of Java Post-JDK 9 Candidate Features Jan Lahoda Java compiler developer Java Product Group, Oracle September, 2017 Safe Harbor Statement The following is intended to outline our general product
More informationScala : an LLVM-targeted Scala compiler
Scala : an LLVM-targeted Scala compiler Da Liu, UNI: dl2997 Contents 1 Background 1 2 Introduction 1 3 Project Design 1 4 Language Prototype Features 2 4.1 Language Features........................................
More informationOne language to rule them all: TypeScript. Gil Fink CEO and Senior Consultant, sparxys
One language to rule them all: TypeScript Gil Fink CEO and Senior Consultant, sparxys About Me sparxys CEO and Senior consultant Microsoft MVP in the last 8 years Pro Single Page Application Development
More informationC# s A Doddle. Steve Love. ACCU April 2013
C# s A Doddle Steve Love ACCU April 2013 A run through C# (pronounced See Sharp ) is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages,
More informationIn this lab we will practice creating, throwing and handling exceptions.
Lab 5 Exceptions Exceptions indicate that a program has encountered an unforeseen problem. While some problems place programmers at fault (for example, using an index that is outside the boundaries of
More informationGoals for Today. CSE1030 Introduction to Computer Science II. CSE1030 Lecture #4. Review: Methods / Code
CSE1030 Introduction to Computer Science II Lecture #4 Non-Static Features of Java Classes II Goals for Today Goals: Theory: Introduction to Class Extension More (Non-Static) Parts of a Typical Class Practical:
More informationBugs in software. Using Static Analysis to Find Bugs. David Hovemeyer
Bugs in software Programmers are smart people We have good techniques for finding bugs early: Unit testing, pair programming, code inspections So, most bugs should be subtle, and require sophisticated
More informationEffective C# Presentation By: Brian Braatz. Derived from the book Effective C# 2 nd Edition
Effective C# Presentation By: Brian Braatz Derived from the book Effective C# 2 nd Edition Item 1: Use Properties Instead of Accessible Data Me mbers Item1: Use Properties Instead of Accessible Data Members
More informationPES INSTITUTE OF TECHNOLOGY
Seventh Semester B.E. IA Test-I, 2014 USN 1 P E I S PES INSTITUTE OF TECHNOLOGY C# solution set for T1 Answer any 5 of the Following Questions 1) What is.net? With a neat diagram explain the important
More informationLet s get started! You first need to download Visual Studio to edit, compile and run C# programs. Download the community version, its free.
C# Mini Lessons last update May 15,2018 From http://www.onlineprogramminglessons.com These C# mini lessons will teach you all the C# Programming statements you need to know, so you can write 90% of any
More informationJava Persistence API (JPA) Entities
Java Persistence API (JPA) Entities JPA Entities JPA Entity is simple (POJO) Java class satisfying requirements of JavaBeans specification Setters and getters must conform to strict form Every entity must
More informationUniversity of Palestine. Mid Exam Total Grade: 100
First Question No. of Branches (5) A) Choose the correct answer: 1. If we type: system.out.println( a ); in the main() method, what will be the result? int a=12; //in the global space... void f() { int
More informationCS 231 Data Structures and Algorithms, Fall 2016
CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard
More informationAnnouncements. Java Review. More Announcements. Today. Assembly Language. Machine Language
Announcements Java Review Java Bootcamp Another session tonight 7-9 in B7 Upson tutorial & solutions also available online Assignment 1 has been posted and is due Monday, July 2, 11:59pm Lecture 2 CS211
More informationCS 149. Professor: Alvin Chao
CS 149 Professor: Alvin Chao CS149 More with Classes and Objects OverLoading Let's look at the Car class... Terminology Method definition public void accelerate(double amount) { speed += amount; if (speed
More informationPrevious C# Releases. C# 3.0 Language Features. C# 3.0 Features. C# 3.0 Orcas. Local Variables. Language Integrated Query 3/23/2007
Previous C# Releases C# 3.0 Language Features C# Programming March 12, 2007 1.0 2001 1.1 2003 2.0 2005 Generics Anonymous methods Iterators with yield Static classes Covariance and contravariance for delegate
More informationRemedial classes. G51PRG: Introduction to Programming Second semester Lecture 2. Plan of the lecture. Classes and Objects. Example: Point class
G51PRG: Introduction to Programming Second semester Lecture 2 Remedial classes Monday 3-5 in A32 Contact Yan Su (yxs) Ordinary labs start on Tuesday Natasha Alechina School of Computer Science & IT nza@cs.nott.ac.uk
More informationCMSC 132: Object-Oriented Programming II. Inheritance
CMSC 132: Object-Oriented Programming II Inheritance 1 Mustang vs Model T Ford Mustang Ford Model T 2 Interior: Mustang vs Model T 3 Frame: Mustang vs Model T Mustang Model T 4 Compaq: old and new Price:
More informationGrand Central Dispatch. Sri Teja Basava CSCI 5528: Foundations of Software Engineering Spring 10
Grand Central Dispatch Sri Teja Basava CSCI 5528: Foundations of Software Engineering Spring 10 1 New Technologies in Snow Leopard 2 Grand Central Dispatch An Apple technology to optimize application support
More informationCOE318 Lecture Notes Week 9 (Week of Oct 29, 2012)
COE318 Lecture Notes: Week 9 1 of 14 COE318 Lecture Notes Week 9 (Week of Oct 29, 2012) Topics The final keyword Inheritance and Polymorphism The final keyword Zoo: Version 1 This simple version models
More informationimport org.simpleframework.xml.default; import org.simpleframework.xml.element; import org.simpleframework.xml.root;
C:/Users/dsteil/Documents/JavaSimpleXML/src/main/java/com/mycompany/consolecrudexample/Address.java / To change this template, choose Tools Templates and open the template in the editor. import org.simpleframework.xml.default;
More informationIntroduction to Haskell
Introduction to Haskell Matt Mullins Texas A&M Computing Society October 6, 2009 Matt Mullins (TACS) Introduction to Haskell October 6, 2009 1 / 39 Outline Introduction to Haskell Functional Programming
More informationC# COMO VOCÊ (TALVEZ) NUNCA VIU
C# COMO VOCÊ (TALVEZ) NUNCA VIU CÓDIGO LIMPO, EXPRESSIVO, SÓLIDO & FUNCIONAL. ELEMAR JR falecom@elemarjr.com elemarjr@ravendb.net elemarjr.com @ayende ARE YOU A PROFESSIONAL? Abstrato Concreto EXPRESSIVIDADE
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Haskell Programming
About the Tutorial Haskell is a widely used purely functional language. Functional programming is based on mathematical functions. Besides Haskell, some of the other popular languages that follow Functional
More informationGoals for Today. CSE1030 Introduction to Computer Science II. CSE1030 Lecture #9. Review is-a versus has-a. Lecture #9 Inheritance I
CSE1030 Introduction to Computer Science II Lecture #9 Inheritance I Goals for Today Today we start discussing Inheritance (continued next lecture too) This is an important fundamental feature of Object
More informationRecommendation: Play the game and attempt to answer the questions yourself without looking at the answers. You ll learn much less if you just look at
Recommendation: Play the game and attempt to answer the questions yourself without looking at the answers. You ll learn much less if you just look at the question, then the answer, and go Okay, that makes
More informationFive Reasons to Move from C# to F#
Five Reasons to Move from C# to F# JORGE FIORANELLI LEAD CONSULTANT @ JORGEFIORANELLI Who am I? Readify Lead Consultant - Sydney, Australia F# Sydney User Group (fsharpsydney.com) F# Workshop (fsharpworkshop.com)
More informationProgram Representations
Program Representations 17-654/17-765 Analysis of Software Artifacts Jonathan Aldrich Representing Programs To analyze software automatically, we must be able to represent it precisely Some representations
More informationClosures. Mooly Sagiv. Michael Clarkson, Cornell CS 3110 Data Structures and Functional Programming
Closures Mooly Sagiv Michael Clarkson, Cornell CS 3110 Data Structures and Functional Programming Summary 1. Predictive Parsing 2. Large Step Operational Semantics (Natural) 3. Small Step Operational Semantics
More informationQuestions. Exams: no. Get by without own Mac? Why ios? ios vs Android restrictions. Selling in App store how hard to publish? Future of Objective-C?
Questions Exams: no Get by without own Mac? Why ios? ios vs Android restrictions Selling in App store how hard to publish? Future of Objective-C? Grading: Lab/homework: 40%, project: 40%, individual report:
More information.Net Technologies. Components of.net Framework
.Net Technologies Components of.net Framework There are many articles are available in the web on this topic; I just want to add one more article over the web by explaining Components of.net Framework.
More informationIntermediate Code Generation
Intermediate Code Generation In the analysis-synthesis model of a compiler, the front end analyzes a source program and creates an intermediate representation, from which the back end generates target
More informationand why you should care but probably don t
and why you should care but probably don t yet Kasper Lund GOTO Nights September, 2014 Who am I? Kasper Lund, software engineer at Google Co-founder of the Dart project Key projects V8: High-performance
More informationRecursion CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2011
Recursion CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2011 Recursion A method calling itself Overview A new way of thinking about a problem Divide and conquer A powerful programming
More informationCMSC131. Inheritance. Object. When we talked about Object, I mentioned that all Java classes are "built" on top of that.
CMSC131 Inheritance Object When we talked about Object, I mentioned that all Java classes are "built" on top of that. This came up when talking about the Java standard equals operator: boolean equals(object
More informationRuntime code generation techniques in real life scenarios
Runtime code generation techniques in real life scenarios Raffaele Rialdi Senior Software Architect Microsoft MVP @raffaeler https://github.com/raffaeler http://iamraf.net Abstract The runtime code generation
More informationpython. a presentation to the Rice University CS Club November 30, 2006 Daniel Sandler
python. a presentation to the Rice University CS Club November 30, 2006 Daniel Sandler http://www.cs.rice.edu/~dsandler/python/ 1. 2. 3. 4. 1. A young mind is corrupted. Me, circa 2000 (very busy) Many
More information1. Find the output of following java program. class MainClass { public static void main (String arg[])
1. Find the output of following java program. public static void main(string arg[]) int arr[][]=4,3,2,1; int i,j; for(i=1;i>-1;i--) for(j=1;j>-1;j--) System.out.print(arr[i][j]); 1234 The above java program
More informationBASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I
BASIC COMPUTATION x public static void main(string [] args) Fundamentals of Computer Science I Outline Using Eclipse Data Types Variables Primitive and Class Data Types Expressions Declaration Assignment
More informationRecursion. Overview. Mathematical induction. Hello recursion. Recursion. Example applications. Goal: Compute factorial N! = 1 * 2 * 3...
Recursion Recursion Overview A method calling itself A new way of thinking about a problem Divide and conquer A powerful programming paradigm Related to mathematical induction Example applications Factorial
More informationRepository Pattern and Unit of Work with Entity Framework
Repository Pattern and Unit of Work with Entity Framework Repository pattern is used to create an abstraction layer between the data access layer and the business logic layer. This abstraction layer contains
More informationPointers, Dynamic Data, and Reference Types
Pointers, Dynamic Data, and Reference Types Review on Pointers Reference Variables Dynamic Memory Allocation The new operator The delete operator Dynamic Memory Allocation for Arrays 1 C++ Data Types simple
More informationApplied object oriented programming. 4 th lecture
Applied object oriented programming 4 th lecture Today Constructors in depth Class inheritance Interfaces Standard.NET interfaces IComparable IComparer IEquatable IEnumerable ICloneable (and cloning) Kahoot
More informationAdministrivia. Java Review. Objects and Variables. Demo. Example. Example: Assignments
CMSC433, Spring 2004 Programming Language Technology and Paradigms Java Review Jeff Foster Feburary 3, 2004 Administrivia Reading: Liskov, ch 4, optional Eckel, ch 8, 9 Project 1 posted Part 2 was revised
More informationCourse Syllabus C # Course Title. Who should attend? Course Description
Course Title C # Course Description C # is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the.net Framework.
More informationApplied Unified Ownership. Capabilities for Sharing Across Threads
Applied Unified Ownership or Capabilities for Sharing Across Threads Elias Castegren Tobias Wrigstad DRF transfer parallel programming AppliedUnified Ownership memory management placement in pools (previous
More informationTutorial 4. Values and References. Add One A. Add One B. Add One C
Tutorial 4 Values and References Here are some "What Does it Print?" style problems you can go through with your students to discuss these concepts: Add One A public static void addone(int num) { num++;
More informationStatus Report. JSR-305: Annotations for Software Defect Detection. William Pugh Professor
JSR-305: Annotations for Software Defect Detection William Pugh Professor Status Report Univ. of Maryland pugh@cs.umd.edu http://www.cs.umd.edu/~pugh/ 1 This JSR is under active development Slides have
More informationFunctions! Objectives! 1E3! Topic 9! programming! n This topic should allow students to! n Read chapter 6 of the textbook now.!
Functions 1E3 Topic 9 9 Functions 1 Objectives n This topic should allow students to n Understand the importance of abstraction in programming n Recognise when a function would be useful. n Design appropriate
More informationConcurrency & Parallelism. Threads, Concurrency, and Parallelism. Multicore Processors 11/7/17
Concurrency & Parallelism So far, our programs have been sequential: they do one thing after another, one thing at a. Let s start writing programs that do more than one thing at at a. Threads, Concurrency,
More informationThis tutorial has been prepared for the beginners to help them understand basics of c# Programming.
About thetutorial C# is a simple, modern, general-purpose, object-oriented programming language developed by Microsoft within its.net initiative led by Anders Hejlsberg. This tutorial covers basic C# programming
More informationSelected Questions from by Nageshwara Rao
Selected Questions from http://way2java.com by Nageshwara Rao Swaminathan J Amrita University swaminathanj@am.amrita.edu November 24, 2016 Swaminathan J (Amrita University) way2java.com (Nageshwara Rao)
More informationThese notes are intended exclusively for the personal usage of the students of CS352 at Cal Poly Pomona. Any other usage is prohibited without
These notes are intended exclusively for the personal usage of the students of CS352 at Cal Poly Pomona. Any other usage is prohibited without previous written authorization. 1 2 The simplest way to create
More informationAccessing loosely structured data from F# and C# Tomas Petricek PhD Student Microsoft C# MVP
Accessing loosely structured data from F# and C# Tomas Petricek PhD Student Microsoft C# MVP http://tomasp.net/blog @tomaspetricek A little bit about me Real World Functional Programming Co-authored by
More informationCSC 1052 Algorithms & Data Structures II: Linked Lists Revisited
CSC 1052 Algorithms & Data Structures II: Linked Lists Revisited Professor Henry Carter Spring 2018 Recap Recursion involves defining a solution based on smaller versions of the same solution Three components:
More information