You are on page 1of 10

Programski jezici visokog nivoa - C# i .

NET tehnologija
Programski jezici visokog nivoa - C# i .NET tehnologija 2009

SADRŽAJ

1. PROGRAM I PROGRAMIRANJE ................................................................ 2


2. PODELA PROGRAMSKIH JEZIKA .............................................................. 2
3. OSNOVE .NET PLATFORME ..................................................................... 4
3.1 RAZVOJ .NET APLIKACIJA ................................................................. 6
4. C# (C Sharp ) ......................................................................................... 7
5. ZAKLJUČAK ............................................................................................. 9

[1]
Programski jezici visokog nivoa - C# i .NET tehnologija 2009

1. PROGRAM I PROGRAMIRANJE

Program se sastoji od niza uputstava računaru o tome kako da izvrši određeni posao. Taj
posao može biti obračun plata radnicima, konvertovanje slike u boji u crno belu, ili
kompleksan poput izračunavanja decimala iracionalnog broja PI. Pisanje ovih uputstava
nazivamo programiranjem koje se sprovodi pisanjem određenih naredbi. Skup predefinisanih
naredbi kojima se piše neki program nazivamo programski jezik. Pisanje računarskih
programa svakako nije jednostavan zadatak, iako mnogi autori zagovaraju tu teoriju baziranu
na tome da se algoritam programa ne razlikuje mnogo od nekih algoritama našeg
svakodnevnog delovanja (npr. Kuvanje kafe se svodi na neke ustaljene procese poput
stavljanja vode da provre, dodavanja šedera i slično). Međutim istina je sasvim drugačija.
Možda mi i obavljamo neke svakodnevne poslove po istom algoritmu, ali naš um nije
posložen na taj način. Programiranje je ustvari potpuno drugačiji način razmišljanja od onog
na koji smo do sada navikli.1

2. PODELA PROGRAMSKIH JEZIKA

Osnovna podela programskih jezika je na niže i više programske jezike.


Niži programski jezici su :

Mašinski jezik
Asemblerski jezik

Mašinski jezik ili mašinski kod (binarni kod, mašinac) je sistem instrukcija i podataka koje
centralni procesor u računaru neposredno izvršava. Mašinski jezik je u određenu ruku
primitivan i nezgrapan programski jezik. On je također i najosnovnija reprezentacija,
odnosno računarski programi kompajlirani i/ili asemblirani na najnižem nivou - nivou mašine
(od eng. machine, ponekad neformalan izraz za uređaj, aparat, vozilo - u našem slučaju
računar). Mašinski jezik se ponekad naziva nativni (eng. native code) kada se odnosi na
specifičan hadrver, tj. kada su dijelovi koda ili izrazi ovisni o platformi.

Računari i njihov 'mozak' - procesori - rade na 'struju'. To su elektronički sklopovi čiji je rad
zasnovan na stanjima napona; stanje s naponom i stanje (skoro) bez napona. Mašinski jezik,
odnosno njegov binarni kod - sistem 1 i 0 - direktno korespondira sa naponskim stanjima u
integralnom kolu.2

1
Jakopec Ratko – C++ za početnike
2
http://bs.wikipedia.org/wiki/Ma%C5%A1inski_jezik

[2]
Programski jezici visokog nivoa - C# i .NET tehnologija 2009

Programi napisani u asembleru se odlikuju mogudnošdu slanja direktnih komandi procesoru


kao i iskorištavanju cijelog dijapazona računarske arhitekture. Pošto ti programi rade
praktično na nivou mašinskog koda, i sa sobom nemaju pomodne konstrukcije, generalizacije
koda i za mašinu slične "nebitne" stvari, su mnogo manji i brži od programa napisanih u
nekom "konvencionalnom" programskom jeziku.

Neke od glavnih mana takvih programa su loša čitljivost, (posebno izraženo pri velikim
projektima), te kompleksnost koda i praktična nemogudnost konvertovanja istog koda na
drugu procesorsku arhitekturu. Zbog tih mana se assembler danas koristi samo u sistemima
realnog vremena i ostalim specifičnim sistemima.

Slika 1 – podela programskih jezika

Viši programski jezici

Obzirom da je pisanje programa pomodu jedinica i nula i uopšte programiranje na nižem


nivou veoma teško i nije blisko ljudskom umu, napredak i razvoj programiranja išao je u
pravcu pojave i usavršavanja programskih jezika višeg nivoa. Ovi jezici su mnogi bliži
čovekovom svakodnevnom govoru (najčešde engleskom jeziku) i razmišljanju. Programi
napisani u nekom od viših programskih jezika se zatim pomodu posebno napisanih
prevodilaca (kompajlera) prevode na računaru jedino razumljiv – mašinski jezik.

Prednosti viših programskih jezika nad mašinskim tako su velike da se u današnje vreme
mašinski jezik upotrebljava veoma retko u preko potrebnim slučajevima. Kao najpoznatije
predstavnike viših programskih jezika trebamo svakako navesti : Basic, Pascal , i C (C++) i dr.
Basic i Pascal su se najviše koristili za strukturno programiranje, dok je C++ mogao da se
koristi i za strukturno i objektno programiranje. Za objetno programiranje danas koriste se

[3]
Programski jezici visokog nivoa - C# i .NET tehnologija 2009

Visual Basic, Visual C++ i drugi. Od svih programskih jezika najširu upotrebu danas našao je
C++ i njegovi naslednici za programiranje aplikacija na internetu (C#). Programski jezik C++
podrzava tkz. objektno orijentisano programiranje što je programerima omogudilo da lakše
definišu kompleksnije programe. Jezik C++ bio je jedan od prvih sa podrškom za klase (način
na koji se definišu objekti)3.

Primer jednostavnog programa „Zdravo svete!“ sa kojim se po nepisanom pravilu započinje


učenje svakog programskog jezika:
#include <iostream>
using namespace std;

int main() //(Ovo je komentar)


{
cout << "Zdravo Svete!" << endl;
cout << "Ovo je moj prvi C++ program.\n";
return 0;
}

3. OSNOVE .NET PLATFORME

.NET (dot-net) je ime najmodernije platforme koje Microsoft vezuje za softverske


tehnologije bududnosti. U nazivu je osnovna poruka koju nosi ova tehnologija -
dostupnost u svakom trenutku na svakom mestu. Ova platforma predstavlja dugoročni i
strategijski plan razvoja ne samo u Microsoftu. .NET daje realne osnove da postane
osnovna platforma razvoja modernih aplikacija. Radni okvir .NET razvijen je sa ciljem da
obezbedi okruženje za razvoj svih modernih aplikacija na Windows operativnom
sistemu4.

Jedna od osnovnih osobina ove platforme je njena orijentacija ka distribuiranim aplikacijama


preko interneta. Ovo sa sobom nosi obavezno još prednosti :

 Distribuirane aplikacije su više objektno orijentisane;


 Stvaranje kolekcije specifičnog koda na jednom mestu, nasuprot dosadašnjem stilu
gde su se stvarale redudantne kopije programa na više mesta;
 Ovaj tip apikacije pruža softverske celine raspoložive različitim uređajima preko
interfejsa;
 Kontrolisanjem pristupa u realnom vremenu (real-time) ka distribuiranim čvorovima
(delovi jedne softverske celine ) mogude je lakše kontrolisanje rada takvih aplikacija.
 Biblioteka klasa razvijena je od samog početka koristedi dragocena iskustva. Ovo daje
veoma lepu osobinu, a to je dobar dizajn, dosledno i dobro definisanje osnovnih
tipova;

3
http://sh.wikipedia.org/wiki/C%2B%2B
4
Zoran Dirovid, Ivan Dunđerski (2005) – Tehnike vizuelnog programiranja C#

[4]
Programski jezici visokog nivoa - C# i .NET tehnologija 2009

 Jezička nezavisnost (ovo je postignuto uvođenjem međujezika IL – intermediate


lenguage);
 Podrška za Web (XML) servise. .NET ima razvijene alate za jednostavno pisanje XML
servisa;
 Poboljšani pristup dinamičkim Web stranicama baziran na ASP.NET tehnologiji;
 Efikasniji pristup podacima preko ADO.NET klasa;
 .NET postavlja i novi pristup za zajedničko korišdenje koda. Nasuprot tradicionalnih
dll biblioteka, uvodi se koncept sklopova.

Osnovni preduslov za izvođenje programa napisanih pomodu .NET tehnologije je postojanje


instaliranog programskog paketa Microsoft .NET Framework na računaru. Prisutnost i
instancu ovog paketa možemo proveriti preko windowsovog Control Panel-a (slika 2).
Ukoliko ga ne pronadjemo u listi, neophodno ga je preuzeti sa interneta i instalirati.

Slika 2 - Provera prisutnosti Microsoft .NET Framework-a

Dva osnovna dela od kojih se sastoji .NET Framework su:

Common Language Runtime (CLR)

Ovo je temeljni deo programskog paketa .NET Framework. Navedeni deo zadužen je za
upravljanje programskim kodom tokom njegovog izvođenja što obuhvata upravljanje
memorijom, nitima, proveru tipova podataka i tako dalje. Upravljanjem načinom izvođenja

[5]
Programski jezici visokog nivoa - C# i .NET tehnologija 2009

programskog koda (takozvani managed code) postiže se veda sigurnost i robusnost


programskih rešenja u odnosu na neupravljani programski kod (unmanaged code).

Biblioteka klasa .NET Framework

Reč je o vrlo opsežnoj, objektno orijentisanoj kolekciji klasa (te pripadajudih svojstava i
metoda) koja se koristi kod razvoja različitih oblika vlastitih programskih rešenja (standardni
Windows programi, Web forme ili XML Web servisi).

Za razliku od prethodne COM tehnologije gdje objektna orijentisanost nije podržana u


potpunosti, u .NET tehnologiji više nema nikakvih nedoumica i ograničenja u pogledu
korišdenja objekata. Evo i najdrastičnijeg primera – sve varijable u programu zapravo su
postale objekti!

Drugim riječima, .NET Framework dovodi do izjednačavanja različitih Windows platformi,


oslobađajudi programera posebnog razvoja i testiranja programskog koda za različite verzije
Windowsa.

3.1 RAZVOJ .NET APLIKACIJA

Ukoliko želimo da se bavimo razvojem programa korišdenjem .NET tehnologija, Microsoft


nam nudi sveobuhvatno razvojno okruženje pod imenom Visual Studio. Aktuelna verzija je
Visual Studio 2010. Ovaj alata obezbeđujeset programerskih alata, kao što su editori koda,
dizajenri interfejsa i dibagera koji dosta pojednostavljuju zadatak kreiranja .NET aplikacija.

Da bi mogli početi pisati programe na nekom od jezika podržanih od strane .NET, moramo
imati na računaru neki Microsoft-ovih novijih operativnih sistema (nema načina za
pokretanje .NET pod windowsom 95/98 ili NT). Takođe moramo imati neki web server koji
podržava ASP.NET. Microsoft je u tu svrhu razvio Internet Information Services (IIS).

Kao što je ved rečeno Visual Studio .NET podržava veliki broj programskih jezika zahvaljujudi
svom IL (intermediate language) na koji se prevode kodovi. Ovo je upravo i razlog zbog kojeg
je sada veoma jednostavno prevesti kod napisan u VB na C#. Ova dva jezika se razlikuju u
sintaksi ali je metod programiranja isti.

Microsoft je nedavno predstavio Visual Studio. NET - kamen temeljac svoje .NET strategije,
čime je ona zapravo otpočela svoje postojanje. Tek nešto ranije, web developerima
širom svijeta postao je dostupan nasljednik ASP-a, pod nazivom ASP.NET. Nazvati ASP.NET
logičnom nadogradnjom klasičnog ASP-a 3.0 bilo bi pogrešno. ASP.NET, kao uostalom i
cijela .NET strategija, uvodi potpuno novu paradigmu u programiranje web skripti.
Zapravo, od ASP-a je preuzeta tek namjena (stvaranje dinamičnih web stranica) i dio imena,
a uvedene su dvije bitne stvari: mnoga programska poboljšanja na jednoj strani, a na

[6]
Programski jezici visokog nivoa - C# i .NET tehnologija 2009

drugoj potpuna promjena osnovna programiranja, odnosno način na koji pišete kod za .ASP
stranice.5

Najbitnija odlika ovog načina programiranja je u tome da se sam program izvršava na strani
servera, pa se zatim generiše HTML kod koji se prosleđuje klijentu u čijem se browseru
prikazuje ved završena programska sekvenca. Dakle životni vek .NET programa je veoma
kratak iako korisnik stiče utisak da se sve što se događa pred njegovim očima odvija na
njegovom sopstvenom računaru. Ovakav vid obrade programskog koda ima velike prednosti,
jer je potpuno nezavistan od platforme sa koje klijent prosleđuje zahtev.

4. C# (C sharp)

C# je objektno orijentisani programski jezik razvijen od strane Microsoft-a prvenstveno za


pisanje programskih aplikacija za internet okruženje. On je zamišljen kao jednostavan,
moderan, široko rasprostranjen programski jezik. Na čelu tima koji se bavio razvojem ovog
programskog jezika je bio Anders Hejlsberg6. On je sa svojim timom 1999.godine započeo
rad na novom programskom jeziku nazvanom COOL što je bila skradenica od "C-like Object
Oriented Language". Microsoft je prvobitno razmišljao da zadrži ime Cool kao ime finalnog
proizvoda ali je ipak odustao iz marketiških razloga. Sam naziv po nekim autorima je
inspirisan muzičkim simbolom visokog polutona, a postoje i ubeđenja koja govore o tome da
znak šarp # predstavlja kombinaciju 4 znaka +, što dalje implicira da je jezik ustvari naslednik
jezika C++. Sintaksa jezika C# prilično nalikuje jeziku C++, mada ima i neke elemente jezika
Java.

Sintaksa jezika sadrži specijalne znake poput tačke zareza (;), vitičastih zagrada {}, znaka /,
koji se koristi kod komentara i slično.

Slededi primer ilustruje korišdenje osnovnih sintaksi u pisanju programa na C# jeziku :

using System;
class ExampleClass
{
static void Main() // komentar se postavlja pomoću ovih
znaka
{
Console.WriteLine("Zdravo Svete!");
}
}

5
Samra Mujačid, Samir Lemeš (2006) – Programiranje za internet
6
Anders Hejlsberg – stručnjak za softverski inžinjering. Rođen u Kopenhagenu, u Danskoj. Radio je na razvoju
Turbo Pascala i mnogih drugih jezika. Izdao je radove poput : The C# Programming Language

[7]
Programski jezici visokog nivoa - C# i .NET tehnologija 2009

Da bi se napisao jedan ovakav program na računaru nije obavezno imati instalirano razvojno
okruženje poput Visual Studija, ved je dovoljno napisati kod u ma kojem editoru teksta i
prevesti ga pomodu csc kompajlera.
Bitno je napomenuti da pojedini programski jezici ne prave razliku između velikih i malih
slova, međutim to nije slučaj sa C#. Dakle kažemo da je C# case sensitive. Naprimer ako
unesemo naredbu If umesto if, program to nede prepoznati i prijavide grešku.

Slededa tabela ilustruje ključne i rezervisane reči koje se koriste u C# jeziku 7

C# keywords / C# reserved words


abstract as base bool
break by 2 byte case
catch char checked class
const continue decimal default
delegate do double descending 2
explicit event extern else
enum false finally fixed
float for foreach from 2
goto group 2 if implicit
in int interface internal
2
into is lock long
new null namespace object
operator out override orderby 2
params private protected public
readonly ref return switch
struct sbyte sealed short
sizeof stackalloc static string
2
select this throw true
try typeof uint ulong
unchecked unsafe ushort using
var 2 virtual volatile void
while where 2 yield 1
Tabela 1 – Ključne i rezervisane reči u C# 2.0 i 3.0

7
http://en.wikipedia.org/wiki/C_Sharp_Syntax#Basics

[8]
Programski jezici visokog nivoa - C# i .NET tehnologija 2009

5. ZAKLJUČAK

Uvođenjem .NET tehnologija u svet programskih jezika i programiranja kompanija Microsoft


je ponovo napravila jedan revolucionaran korak u ICT tehnologijama. Naime razbijene su
barijere u različitostima širokog spektra programskih jezika koji su upotrebi, programerima
koji su do sada razvijali profesionalne aplikacija pod programskim jezicima tipa Java, Visual
Basic, C++ i slično, omogudeno je da rade u timovima, da razvijaju jedinstvene aplikacije koje
de biti postavljene na udaljenom serveru, i kojima de korisnici pristupati preko svojih radnih
stanica koristedi samo svoj web browser i internet konekciju. Tehnologije poput ASP.NET za
razvoj web aplikacija na bazi objektno orijentisanog razvojnog okruženja su to omogudile.
Pradenjem novina koje Microsoft uvodi u ove postojede tehnologije možemo biti sigurni da
de uloženi trud u savladavanje ovih tehnologija biti uspešna investicija. Tome u prilog
možemo navesti novine koje donosi ASP.NET 3.5, kao što su podrška za asinhronu Javu, i
XML (AJAX) programiranje.

Još jedan od presudnih faktora za široku rasprostranjenost i upotrebu Microsoftovog Visual


Studija i C# , je i oslabljeni oblik instalacija u obliku SQL Express-a, koji Microsoft nudi
potpuno besplatno, te se na taj način promoviše sam jezik i tehnologija vedem broju bududih
profesionalnih korisnika, i softverskih inženjera.

[9]

You might also like