Information Technology - Információ Technológia

Infromáció áramlás - még nincs szlogen.


A Microsoft.NET

2002-ben a Microsoft új programozási platformot indított el, melyet Microsoft.NET-nek neveztek (röviden csak .NET, dotNet) el. ()

A Microsoft.NET egy virtuális futtatórendszerrel felszerelt programozási platform. Ezen platform neve Microsoft.NET Framework, jelenleg (2010) a 4.0-ös verziószámmal rendelkezik, és teljesen ingyenesen letölthető a Microsoft honlapjáról.

A Microsoft célja a platformmal: a programozóknak ne kelljen minden egyes programozási platformra más-más programozási nyelveket használni. A Microsoft.NET-ben lehet Windows interface-el rendelkező programok fejlesztése csakúgy, mint WEB alkalmazások fejlesztése, de mobil eszközök (PDA) programozása is ugyanebben a környezetben végezhető el.
Ma már több mint 50 programozási nyelvhez készült .NET fordító, tehát a programozási feladatokat a programozók széles választékú nyelven is megoldhatják.

A .NET Framework alapját a CLI vagyis a Common Language Infrastructure képezi. Ez nem más mint azon szabályok halmaza, amelyek leírnak egy nyelvfüggetlen fejlesztői környezetet, a futtatókörnyezetet, típusrendszert stb. A .NET Framework implementációját CLR-nek, Common Language Runtime-nak hívják. A CLI maga is négy fő részre oszlik.

Common Language Specification

A CLS a CLI része. Azokat a szabályokat írja le, amelyeket a CLI kompatibilis nyelveknek be kell tartania. Érdekesség, hogy a legtöbb .NET nyelv - pl. a C# - tartalmaz olyan elemeket, amelyek nem felelnek meg a CLS specifikációnak (pl. a CLS nem engedi meg ulong típusú paraméterek használatát, míg a C# igen).

Common Type System

A CTS a CLI azon része, amely a típusokat, azok memóriabeli reprezentációját illetve egymással való interakcióját írja le. A .NET minden nyelve ugyanazt a típusrendszert használja, bár az egyes típusok megnevezése nyelvfüggő (de végeredményben mindig ugyanarról a típusról van szó).

Common Language Runtime

A CLR vagy VES (Virtual Execution System) a CLI nyelven megírt programok betöltéséért és végrehajtásáért felel. Felelősséggel tartozik továbbá a memóriamenedzsmentért, kivételkezelésért illetve a kódbiztonságért is (hogy a fontosabbakat említsük).

Common Intermediate Language

A CIL (korábban MSIL) egy ún. köztes kód. Minden CLI nyelvben megírt program erre a kódra fordítódik le (ellentétben a hagyományos nyelvek natív kódjától). Ezt a kódot a tényleges futtatáskor az ún. jitter (Just in time compiler) fordítja le natív kódra, amelyet a processzor már tud kezelni. A CIL hasonlít a Java bytekódjára.

C#

A C# (kiejtése: szí-sárp) a Microsoft által a .NET keretrendszer részeként kifejlesztett objektumorientált programozási nyelv. A nyelv alapjául a C++ és a Java szolgált. A Microsoft sorra vette a programozási nyelvek erősségeit, és hibáikat(mik azok a hibák, hibalehetőségek, amelyek  a programozót zavarhatják).

A későbbiekben ezt a nyelvet úgy fejlesztették tovább, hogy meglegyen az egyensúly a programozó nyelvi szabadsága és a gyors alkalmazásfejlesztés lehetősége között.

A C# az a programozási nyelv, ami a legközvetlenebb módon tükrözi az alatta működő, minden .NET programot futtató .NET keretrendszert, valamint erősen függ is attól: nincsen nem menedzselt, natív módban futó C# program. A primitív adattípusai objektumok, a .NET típusok megfelelői. Szemétgyűjtést használ, valamint az absztrakcióinak többsége (osztályok, interfészek, delegáltak, kivételek…) a .NET futtatórendszert használja közvetlen módon.

A C vagy C++ nyelvhez hasonlítva a C# több korlátozást és továbbfejlesztést is tartalmaz. A lehetőségei közül néhány:

  • A mutatók és a nem ellenőrzött aritmetika csak egy speciális, nem biztonságos módban (unsafe mode) használható. A legtöbb objektum-hozzáférés csak biztonságos hivatkozásokon keresztül tehető meg, és az aritmetikai műveletek debug módban túlcsordulás szempontjából ellenőrzöttek.
  • Az objektumok nem szabadíthatók fel közvetlen módon, ehelyett a szemétgyűjtő(GC: Garbage Collector) szabadítja fel őket, mikor már nincs rájuk hivatkozás. Ez a módszer kizárja a nem létező objektumokra való hivatkozás lehetőségét.
  • A destruktorok nem elérhetőek. A legközelebbi megfelelőjük az IDisposable interfész, ami a using blokkal együtt kikényszerítheti az azonnali felszabadítást. A finalizerek szintén rendelkezésre állnak, de nem váltanak ki azonnali felszabadítást.
  • A nyelv csak egyszeres öröklődést támogat, de egy osztály több interfészt is megvalósíthat.
  • A C# sokkal típusbiztosabb, mint a C++. Az egyetlen implicit konverzió a biztonságos konverzió, úgy mint az egészek tágabb intervallumba konvertálása vagy a leszármazott osztályok alaposztályba konvertálása. Nincs implicit konverzió az egészek és a logikai típus (boolean) között, a felsorolás tagok és az egészek között. Nincsenek void mutatók (bár az Object osztályra mutató mutatók hasonlóak), valamint bármely, a felhasználó által definiált implicit konverziót explicit módon meg kell jelölni.
  • A felsorolás adattagjai a saját névterükben helyezkednek el.
  • A 2.0-ás verziótól felfelé már rendelkezik a generikus programozás néhány eszközével.
  • Tulajdonságok (Properties) használhatók, amelyek úgy tesznek lehetővé kódfuttatást mezők beállításakor és olvasásakor, hogy közben az adattagok szintaxisát használja.

A C# megtanulásával, kevés továbbképzéssel tudunk programozni  C++, Java, PHP és egyéb C alapú nyelven.

Mono

A Mono Project egy nagyrészt kompatibilis  nyílt forráskódú C# fordítót állított elő, ami lehetővé tette a C# kódok futtatását Linux, vagy Macintosh rendszereken is.

Elég szépen terjed, főleg a Linuxon, bár hiányosságai mindig is lesznek a .NET-tel szemben (ez így természetes). Jelenleg a 2.10-nél járnak de érkezni fog a 3.0 is.



Weblap látogatottság számláló:

Mai: 6
Tegnapi: 3
Heti: 6
Havi: 146
Össz.: 17 786

Látogatottság növelés
Oldal: C# / Mono
Information Technology - Információ Technológia - © 2008 - 2024 - prog-tech.hupont.hu

A HuPont.hu segítségével egyszerű a honlap készítés! Programozói tudás nélkül is: Honlap készítés

ÁSZF | Adatvédelmi Nyilatkozat

X

A honlap készítés ára 78 500 helyett MOST 0 (nulla) Ft! Tovább »