Programski Jezici

Fokus ove teme je na programskim jezicima i njihovim značajkama. Ova usporedba će se, naravno, fokusirati i na područja u kojima se ovi jezici razlikuju. To nas može dovesti do zaključka da su ova dva jezika i njihove platforme zapravo više slične nego različite.
Prvo ćemo vidjeti kako su se oba programska jezika razvijala kroz povijest, nakon čega ćemo se osvrnuti na izvršna okruženja C#-a i Jave. Nakon toga prelazimo na primjere početnog progama „Hello World“ , uz pomoć kojega ćemo, objašnjavajući dijelove koda, vidjeti na koji način se pišu komentari u programima, te kako se vrši unos s tipkovnice i ispis. Tu će nam se pojaviti i neki pojmovi koje nećemo moći odmah razumijeti, dok neke cjeline ne objasnimo, tako da ćemo se naravno vratiti na te dijelove programa i objasniti ih. Prva nepoznanica s kojom ćemo se sustresti je pojam Main metode, koju ćemo objasniti i usporediti u zasebnoj cjelini, dok ćemo sami pojam metode, uz pojašnjenje objekta i klasa, objasniti kroz poglavlje Tipovi, koji nam čine bit objektnog progamiranja. Vidjet ćemo i koje sve tipove podataka imamo u programiranju, pa ćemo usporediti da li se oni razlikuju kad govorimo o Javi ili o C#-u, te da li se jedan tip podatka može „pretvoriti“ u neki drugi i na koji način. Također ćemo vidjeti i koji operatori se koriste u oba programska jezika, navesti ćemo tablicu s njihovim simbolima radi lakše usporedbe, te objasniti značenje svakoga od njih. U poglavlju Petlje ćemo vidjeti koje petlje se koriste u programskim jezicima, te ćemo navesti primjere za usporedbu, nakon čega ćemo na isti način usporediti i grananja. Kroz poglavlje Jezik ćemo objasniti pojam reference (soft i weak), te funkciju Garbage collector-a, te ćemo vidjeti da li oba programska jezika sadrže sve od navedenoga. Na kraju ćemo se osvrnuti na pogreške u programu i vidjeti kako ih možemo spriječiti da ne bi došlo do prekida izvođenja programa.

POVIJEST JEZIKA I RAZVOJ
Programski jezik Java je stariji od C #-a i „razvio“ je veliku i vrlo aktivnu bazu korisnika, posebice u područjima koja uključuju umrežavanje (eng. networking). Trenutno postoji više Java nego C # knjiga. Najčešće kritike vezane uz Javu su da se razvija polako i da joj nedostaju neki gotovi obrasci modernog programiranja. Neki kritičari sugeriraju da se dizajneri C#-a povode prebrzo trenutnim trendovima u programiranju te time dovode do nedostatka jednostavnosti i fokusa. Činilo se da Java dizajneri imaju više konzervativna stajališta u dodavanju novih osnovnih komponenti u sintaksu njihovog jezika od dizajnera drugih trenutno korištenih programskih jezika. Neka su mišljenja da je bilo tako zbog toga što nisu željeli u sintaksu svog jezika uvoditi „trendovske“ komponente koje će ih možda uvesti u „slijepu ulicu“ nakon nekog vremena. Međutim, ta mišljenja su prekinuta s pojavom Jave 5.0, koja je uvela nekoliko novih velikih značajki jezika Java, ali koje je C# „imao“ od početka u svome jeziku, samo možda pod drugim nazivom. Prijedlozi i specifikacije za nove značajke su se razmatrali u Java zajednici dosta vremena prije nego su predstavljeni javnosti. Štoviše, neke od njih su bile u procesu nastajanja prije nego je C# realiziran, a kasnije su se pojavile na tržištu. To nam govori u kolikoj mjeri je Java zajednica bila konzervativna. Nasuprot tome, C # je relativno nov jezik. Microsoft je proučavao postojeće jezike kao što su Java i objektno orijentirani Pascal, i promijenio neke apekte jezika (kao što je runtime okruženje) kao odgvor na uočene propuste i teškoće sa svojim prethodnicima. C# sadrži konstrukcije koje su zajedničke sa jezicima kao što su C++ i Pascal u Delphi okruženju, a u novije vrijeme sa skriptnim jezicima kao što su Ruby and Python.

IZVRŠNA OKRUŽENJA (RUNTIME ENVIROMENTS )
Java (programski jezik) je osmišljen da bi se izvršavao na Java platformi putem Java Runtime Environment -a(JRE). Java platforma sadrži Java Virtual Machine (JVM), kao i zajednički set knjižnica. Java Runtime Environment (JRE), također poznat kao Java Runtime, je skup programskih alata za razvoj Java aplikacija. On osigurava minimalne uvjete za izvođenje Java aplikacija, a sastoji se od Java Virtual Machine (JVM), jezgri klasa (core classes), i datoteka za podršku.

„HELLO WORLD“
Skoro svaka knjiga i tutorijal o nekom programskom jeziku započinje sa najjednostavnijim primjerom koji samo ispisuje neki tekst na ekran. Mi ćemo navesti primjere poznatog početnog programa „Hello World“ za C# i za Javu, te ćemo preko toga usporediti na koji način se pišu komentari i koje naredbe se koriste za unos i ispis. U navedenim primjerima, vidjet ćemo da se pojavljuje pojam Main metode, koju ćemo zasebno objasniti u sljedećoj cjelini. Pogledajmo sada kako izdgledaju primjeri „Hello World“ programa za oba programska jezika.

C# „Hello World“
Sljedeći programski odsječak prikazuje C# verziju Hello World programa:
using System;
// “Hello World!” program u C#-u
public class HelloWorld
{ // početak 1
public static void Main(string[] args)
{ // ” početak 2
System.Console.WriteLine(“Hello World!”);
} // kraj 2
} // ” kraj 1
Svaka linija koda završava znakom točka zarez (;) ili vitičastim zagradama koje označavaju početak i kraj bloka naredbi. Pogledajmo sada dijelove od kojih se sastoji ovaj program.

Više o ovoj temi na ovom linku