Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
O.Widder.(2013).geek&poke.Available:http://geek-and-poke.com Programming Languages &Frameworks Hans-PetterHalvorsen,M.Sc. Implementation Planning Maintenance Testing TheSoftware Development Lifecycle Implementation Design Requirements Analysis Java C# Perl Ruby Python MATLAB C/C++ Visual Basic PHP LabVIEW Objective-C Swift http://redmonk.com/sogrady/2015/01/14/language-rankings-1-15/ PopularProgrammingLanguages 1JavaScript 2Java 3PHP 4Python 5C# 5C++ 5Ruby 8CSS 9C 10Objective-C Top20 11Perl 11Shell 13R 14Scala 15Haskell 16Matlab 17Go 17VisualBasic 19Clojure 19Groovy http://redmonk.com/sogrady/2015/01/14/language-rankings-1-15/ OOP • OOP– ObjectOrientedProgramming • Object-oriented programming(OOP)isaprogramming languagemodelorganizedaround"objects"ratherthan "actions"anddataratherthanlogic. • ThefirststepinOOPistoidentifyalltheobjectsyouwant tomanipulateandhowtheyrelatetoeachother,an exerciseoftenknownasdatamodeling(UML,Class Diagrams) • Onceyou'veidentifiedanobject,yougeneralizeitasa Class • Arealinstanceofaclassiscalledan“object”oran “instanceofaclass”. OOP • ImportantfeatureswithOOPare: – – – – ClassesandObjects Inheritance Polymorphism Encapsulation • Java,Python,C++,VisualBasic.NETandC#arepopularOOP languagestoday. • Simula wasthefirstobject-oriented programminglanguage. – Simulawasdevelopedinthe1960sbyKristenNygaardfrom Norway(UniversityofOslo). – SinceSimula-typeobjectsarereimplementedinC++,Javaand C#theinfluenceofSimulaisoftenunderstated.Thecreatorof C++(1979),BjarneStroustrup(fromDenmark),has acknowledgedthatSimulawasthegreatestinfluenceonhimto developC++. ProgrammingLanguages &Frameworks ProgrammingLanguages • • • • • • • • • • • C,C++ Java C# Objective-C Swift VisualBasic,VB.NET Perl Python PHP JavaScript … • MATLAB • LabVIEW • … IntegratedDevelopmentEnvironment (IDE) • ProgrammmingLanguagesvs.IDE • OneIDEcanhandlemultipleLanguages • C# • Java • Objective-C/Swift • LabVIEW • VisualStudio • Eclipse • Xcode • LabVIEW .NETvs.Java http://www.youtube.com/watch?v=8Px-GHPxB4I Java http://www.youtube.com/watch?feature=endscreen&NR=1&v=HXvm76e2X1Q ProgrammingLanguages Hans-PetterHalvorsen,M.Sc. IDE C C# C++ JavaScript J# F# VB.NET TheVisualStudioIDEisactuallywritteniC++/C# C • Cisageneral-purposecomputerprogramming languagedevelopedbetween1969and1973by DennisRitchieattheBellTelephoneLaboratoriesfor usewiththeUnixoperatingsystem. • Cisoneofthemostpopularprogramminglanguages ofalltimeandthereareveryfewcomputer architecturesforwhichaCcompilerdoesnotexist. • Chasgreatlyinfluencedmanyotherpopular programminglanguages,mostnotablyC++,which beganasanextensiontoC. • Cisaprocedurallanguage,i.e.noobject-oriented programming.Cisacompiledlanguage. C++ • C++isacompiled,general-purposeobject-oriented programminglanguage.Itisregardedasanintermediatelevellanguage,asitcomprisesacombinationofbothhighlevelandlow-levellanguagefeatures. • ItwasdevelopedbyBjarneStroustrupin1979asan extensiontoC. • C++isoneofthemostpopularprogramminglanguages anditsapplicationdomainsincludesystemssoftware (suchasMicrosoftWindows),applicationsoftware,device drivers,embeddedsoftware,high-performance serverand clientapplications,andentertainmentsoftwaresuchas videogames. • SeveralgroupsprovidebothfreeandproprietaryC++ compilersoftware. C++ http://www.digi.no/932591/c-oppfinneren-tildelt-norsk-it-pris C# • • • • • • • • C#ispronounced“seesharp”. C#isanobject-orientedprogramminglanguageandpartofthe.NETfamilyfrom Microsoft. ThemostrecentversionisC#4.5.1anditispartofVisualStudio2013. C#isintendedtobeasimple,modern,general-purpose,object-oriented programminglanguage.ItsdevelopmentteamisledbyAndersHejlsberg. C#isverysimilartoC++andJava.C#isdevelopedbyMicrosoftandworksonlyon theWindowsplatform. C#isbasedonthe.NETFramework(pronounced“dotnet”). .NETisasoftwareframeworkthatrunsprimarilyonMicrosoftWindows. The .NETFramework1.0andC#1.0wasreleasedin2002aspartofVisualStudio.NET 2002. VisualStudioistheIntegratedDevelopmentEnvironment(IDE)youusewhen programminginC#andthe.NETplatform. Objective-C Swift • Objective-Cisageneral-purpose,high-level,objectorientedprogramminglanguagethatisbasedonthe Cprogramminglanguage. • ItisthemainprogramminglanguageusedbyApple fortheOSXandiOSandtheirrespectiveAPIs,Cocoa andCocoaTouch.Applehavereleasedanew ProgramminglanguagecalledSwiftthatisthenew recommendedlanguageforiOS/OSXDevelopment • Originallydevelopedintheearly1980s,itwas selectedasthemainlanguageusedbyNeXTforits NeXTSTEPoperatingsystem,fromwhichOSXand iOSarederived. Java • Javaiscurrentlyoneofthemostpopular programminglanguagesinuse,andis widelyusedfromapplicationsoftwareto webapplications. • Javaapplicationsaretypicallycompiled anditrunsonanyJavaVirtualMachine (JVM)regardlessofthecomputer architecture. • Javaisageneral-purposeobjectoriented.Itisintendedtoletapplication developers“writeonce,runanywhere”. • AcommonIDEforprogrammingwith JavaistheEclipseIDE. • JavaandEclipseareusedtocreate AndroidApps. PHP • PHPisaserver-sidescriptinglanguagedesignedfor webdevelopmentbutalsousedasageneralpurposeprogramminglanguage. • PHPcodeisembeddedintotheHTMLsource documentandinterpretedbyawebserverwhich generatesthewebpagedocument. • PHPisnowinstalledonmorethan244million websitesand2.1millionwebservers,e.g., Facebook.com • PHPcanbedeployedonmostwebserversandasa standaloneinterpreter,onalmosteveryoperating systemandplatformfreeofcharge. http://www.digi.no/for_utviklere/2015/06/13/feiret-20-ar-med-php-basert-webutvikling Frameworks Hans-PetterHalvorsen,M.Sc. Programming/SoftwareFramework Softwareframeworksincludesupport programs,compilers,codelibraries,toolsets, andapplicationprogramminginterfaces(APIs) • Frameworksmakesiteasiertocreate Software • Youcancreateyousoftwareusing existingFrameworks • Ifyouarecreatinglargesoftware systems,youshouldinaddition createyourownFrameworks(code reuse,moremodular,etc.) Framework Tools Libraries APIs ProgrammingLanguage Programming/SoftwareFramework • .NETFramework • ASP.NET (partof.NET)– usedforWeb Development • ASP.NETAJAX • RubyonRails(WebApplicationFrameworkfor theRubyProgrammingLanguage) • CocoaFramework(MacOSX,iOS) • ... • ...hundreds .NETFramework • AProgramming FrameworkfromMicrosoft • C#,VB.NET,VisualStudio • CLR(CommonLanguage Runtime) • Released2002 .NETFramework • The.NETFramework(pronounced“dotnet”)isasoftware frameworkthatrunsprimarilyonMicrosoftWindows. • Itincludesalargelibraryandsupportsseveralprogramming languageswhichallowlanguageinteroperability(each languagecanusecodewritteninotherlanguages). • The.NETlibraryisavailabletoalltheprogramminglanguages that.NETsupports. • Programswrittenforthe.NETFrameworkexecuteina softwareenvironment,knownastheCommonLanguage Runtime(CLR),anapplicationvirtualmachinethatprovides importantservicessuchassecurity,memorymanagement,and exceptionhandling. • TheclasslibraryandtheCLRtogetherconstitutethe.NET Framework. • Thelatestversionof.NETFrameworkis.NETFramework4.5.1 (includedwithVisualStudio2015) .NETFramework Wikipedia.(2013)..NETFramework. Available: http://en.wikipedia.org/wiki/.NET_Framework ASP.NET • ASP.NETisaserver-sideWebapplicationframework designedforWebdevelopmenttoproducedynamic Webpages. • ItwasdevelopedbyMicrosofttoallowprogrammers tobuilddynamicwebsites,webapplicationsandweb services. • ItwasfirstreleasedinJanuary2002withversion1.0of the.NETFramework,andisthesuccessorto Microsoft'sActiveServer Pages(ASP)technology. • ASP.NETisbuiltontheCommonLanguageRuntime (CLR),allowingprogrammerstowriteASP.NETcode usinganysupported.NETlanguage. Wikipedia. (2013).ASP.NET.Available:http://en.wikipedia.org/wiki/ASP.NET ASP.NET ASP.NETisusedtocreate dynamicwebpages Client WebBrowser HTML JavaScript CSS Theserver-side ASP.NETpagesareconvertedonthe servertoHTMLpagesbeforeitissenttotheclient Server-side WebServer ASP.NET C#/VB.NET .NETFramework ASP.NET– Differentwaysofcreating WebSiteswithASP.NET WebSites ASP.NET WebPages ASP.NET WebForms ASP.NET C#/VB.NET .NETFramework http://www.asp.net ASP.NET MVC Youcanuse(atleast)3different approacheswhencreatingWeb SiteswithASP.NET Exercise– Programming • ListtheProgramminglangaugesand frameworksyouhavebeenusing • Whathaveyouusedthemfor? Summary 33 References • Wikipedia.(2013)..NETFramework.Available: http://en.wikipedia.org/wiki/.NET_Framework • Wikipedia.(2013).ASP.NET.Available: http://en.wikipedia.org/wiki/ASP.NET • I.Sommerville,SoftwareEngineering:Pearson,2010. • S.Adams.Dilbert.Available:http://dilbert.com • O.Widder.(2013).geek&poke. Available:http://geek-andpoke.com • B.Lund.(2013).Lunch.Available:http://www.lunchstriper.no, http://www.dagbladet.no/tegneserie/lunch/ Hans-PetterHalvorsen,M.Sc. UniversityCollegeofSoutheastNorway www.usn.no E-mail:[email protected] Blog:http://home.hit.no/~hansha/