27
50-e 50-e Fortran Fortran Cobol Cobol BASIC BASIC C C Pascal Pascal C++ C++ Java Java 60-e 60-e 2000-e 2000-e 70-e 70-e 80-e 80-e 90-e 90-e

1.1.Jezici

Embed Size (px)

Citation preview

  • FortranCobolBASICCPascalC++Java

    Im going to start my talk with a bit of historical perspective.Most of you here have seen how every decade there is a shift in the way we think about computing and protocols.

    In the 70s it was mainframesYou connected with a dumb terminal using a proprietary protocol.Code ran on the mainframe.

    In the 80s the PC got people empowered.You didnt have to wait for the expensive machine in the back room.You could have a responsive device on your desktop.The momentum shifted towards running code on the client.And the protocol was file sharing on a local area network.

    Then with the arrival of the Web in the 90s we essentially shifted back.HTML, in many ways, is like the 3270 protocol.But it is obviously richer.And with the ability to connect to any computer in the world rather than just the local mainframe.

    Now, in the last year, some people have talked about the pendulum swinging back the other way.That the entire industry moving to peer-to-peer protocols.It certainly would have made my slide nice and symmetric.But, in fact, this time we dont think the pendulum will swing the other way.We think for the first time well have a balance between intelligence on both the server and the client.Well still do a lot of things on the server.But well also have the responsiveness of rich UI on the client, with advances like speech and handwriting recognition.

    We think we can have the best of both worlds.We believe this because for the first time we have a protocol that allows for intelligence in both ends.None of these previous protocols allowed for that.Each of them assumed that one end was essentially dumb and that the other end was where all the code ran.But the arrival of XML (which weve been involved with since 1996) and, more recently, SOAP has provided the protocol that will truly enable a whole new kind of distributed applications.

    People talk about Web Services, the idea of connecting to any computer on the Internet and having it do work for you.Well, that will be done through these XML-based protocols.So this approach allows for applications that wouldnt have been possible ever before.Its the basic approach that will be used for electronic commerce going forward.And it demands an advance in the tools.

  • Pregled programskih pristupa

    Nestruktuirano programiranjeProceduralno programiranjeModularno programiranjeProgramiranje pogonjeno dogaajimaObjektno orijentirano programiranje

  • Nestruktuirano programiranje

    samo jedan glavni programglobalni podaci

    problem sa sekvencama istih naredbirjeenje okrupnjavanje na jednom mjestu

  • Proceduralno programiranje

    Zajednike sekvence programa na jednom mjestu - procedure

    smanjen broj pograaka

  • Modularno programiranjeprogram podijeljen u manje dijelovemeusobna komunikacija preko procedura

  • Programiranje pogonjeno dogaajimaU proceduralnim programima, program kontrolie redoslijed izvoenja (programer)U programima upravljanim dogaajima, izvoenje je odreeno dogaajima (korisnik)klik miempritisak tipke tipkovnice.

  • Objektno-orijentirano programiranjemeusobna komunikacija objekataukljuuje i kod i podatkeC++, Java, C#, VB.NET

  • Razumijevanje Microsoft .NET-aPrije .NET-ato je Microsoft .NET

  • Prije .NET-a

    nedosljednost Windows platformeWindows 95, 98, Me, NT, 2000, CE, XPbaze podataka DAO ili RDO ili ADO?grafike aplikacijeGDI, DirectX, OpenGLsigurnostDLL pakaomeujezina (ne)suradnjainteger - 2 byta, int - 4 bytabrojevi bez predznakaInternet (ASP, HTML, XML, COM+, JScript )

  • to je Microsoft .NET

    .NET - dot netMicrosoft-ova vizija programiranja u budunosti.Jedinstveno i snanije okruenje za izvoenje Viejezini razvoj programaBogata biblioteka klasa (upakirani dijelovi koda)Sigurnost aplikacijaWeb servis - aplikacija kao servisSnani razvojni alati

  • Struktura Microsoft .NET-a

    Operating SystemCommon Language RuntimeCommon Language SpecificationVisual Studio .NET

  • Common Language Runtime

    Operating SystemCommon Language RuntimeVisual Studio .NET

  • .NET Framework se zasniva na izgradnji aplikacija upotrebom gotovih komponenti.Smanjuje vrijeme i trokove razvoja i testiranja aplikacije..NET Framework preuzima odgovornost za: upravljanje izvoenjem kodapovezivanje programa s bibliotekom komponenti.NET Framework razdvaja kod od operacijskog sustava i sklopovne platforme.Jedinstveni programski kod za razliite platforme..NET kod na UNIX platformi?

  • CLR je glavni potporanj .NET Framework-a.Skup servisa koji su neophodni za izvoenje koda.CLR brine o:rukovanju memorijomizvoenju kodasigurnostiCLR je sadran u MSCorEE.dll datoteci.Upravljane aplikacije (managed applications).Upravljani kod (managed code).Neupravljani kod (unmanaged code).

  • Common Type System (CTS)

    Tipovi su jezgra CLR-a.Predstavljaju osnovni mehanizam za saradnju programskih jezika.Tip opisuju:Polje (Field) - podatak o stanju objektaPostupak (Method) - logiki skup naredbi koja izvodi operacije nad objektomSvojstvo (Property) - slino polju izvan, a prema ureenju unutar tipa dvama postupcimaDogaaj (Event) - nain komunikacije meu objektima

  • .NET Framework biblioteka klasa

    Operating SystemCommon Language RuntimeVisual Studio .NET

  • Nekoliko hiljada definicija tipovaSa CLR-om i FCL-om mogue stvarati:Web servise - komponente kojima se pristupa preko Internet-aWeb formeWindows formeWindows konzolne aplikacijeWindows serviseBiblioteke komponentiImenovani prostor (Namespace) pomae bolju organizaciju klasa.System, System.Collections, System.Data,

  • Opa jezina specifikacija

    Common Language Specification, CLSDefinira skup CTS tipova i programskih mogunosti koji moraju biti podrani u svakom .NET jeziku.

    Neki jezici ne podravaju:osjetljivost na veliinu slovabrojeve bez predznakamijenjanje ponaanja operatora

  • Asembli

    Jedinica izvrnog koda u formi DLL ili EXEAplikacija se raspodjeljuje u jedan ili vie asemblija.

  • Interno ureenje asemblijamanifest verzijasigurnosna ogranienjalokalne informacijelista zavisnih asemblialista datoteka asembliainformacije o tipovimametapodaci (ime tipa, lanovi tipa, pozivna sintaksa)MSIL kodnije spreman za izvoenjejust-in-time prevodioc

  • Posredni programski jezik

    .NET prevodilac ne proizvodi binarni kodMicrosoft Intermediate Language - MSIL ili ILvbc.exe VB.NET prevodilacPrevoenjem izvorinog koda nastaje datoteka asemblia.Prednost prevoenja u IL jezina integracijaIL ne ovisi o odreenom CPU - teoretski izvediv na svakoj platformi za koju postoji CLR.

  • Just-in-Time prevodilac

    CPU ne moe izvoditi IL kod.IL se prije izvoenja prevodi pomou JIT (JITter) prevodioca u mainski kod.

  • Prevoenje i izvoenje

    CompilationAt installation or the first time each method is called

    Im going to start my talk with a bit of historical perspective.Most of you here have seen how every decade there is a shift in the way we think about computing and protocols.

    In the 70s it was mainframesYou connected with a dumb terminal using a proprietary protocol.Code ran on the mainframe.

    In the 80s the PC got people empowered.You didnt have to wait for the expensive machine in the back room.You could have a responsive device on your desktop.The momentum shifted towards running code on the client.And the protocol was file sharing on a local area network.

    Then with the arrival of the Web in the 90s we essentially shifted back.HTML, in many ways, is like the 3270 protocol.But it is obviously richer.And with the ability to connect to any computer in the world rather than just the local mainframe.

    Now, in the last year, some people have talked about the pendulum swinging back the other way.That the entire industry moving to peer-to-peer protocols.It certainly would have made my slide nice and symmetric.But, in fact, this time we dont think the pendulum will swing the other way.We think for the first time well have a balance between intelligence on both the server and the client.Well still do a lot of things on the server.But well also have the responsiveness of rich UI on the client, with advances like speech and handwriting recognition.

    We think we can have the best of both worlds.We believe this because for the first time we have a protocol that allows for intelligence in both ends.None of these previous protocols allowed for that.Each of them assumed that one end was essentially dumb and that the other end was where all the code ran.But the arrival of XML (which weve been involved with since 1996) and, more recently, SOAP has provided the protocol that will truly enable a whole new kind of distributed applications.

    People talk about Web Services, the idea of connecting to any computer on the Internet and having it do work for you.Well, that will be done through these XML-based protocols.So this approach allows for applications that wouldnt have been possible ever before.Its the basic approach that will be used for electronic commerce going forward.And it demands an advance in the tools.