UVOD U PROGRAMSKI JEZIK C#

C# (C-Sharp) je programski jezik koji je razvila kompanija Microsoft kao deo .NET platforme. Prvi put je predstavljen 2000. godine, a njegov glavni dizajner je Anders Hejlsberg, koji je prethodno radio na jezicima kao što su Turbo Pascal i Delphi.
C# je stvoren u vreme kada je Microsoft želeo da razvije robustan, jednostavan i moderan jezik koji bi mogao da parira Javi. Počevši od verzije 1.0, C# je brzo evoluirao, sa svaka nova verzija donoseći napredne funkcionalnosti poput generika, LINQ (Language Integrated Query), async/await i drugih savremenih mogućnosti.
​

Upotreba

C# je danas široko korišćen za razvoj raznih vrsta aplikacija:

Poređenje sa JAVOM

C# i Java su vrlo slični jezici, s obzirom na to da su oba inspirisana C++ jezikom i dizajnirana kao robustna rešenja za razvoj različitih vrsta softvera.

​Poređenje sa drugim programskim jezicima

​C# je moćan, fleksibilan jezik koji omogućava razvoj širokog spektra softverskih rešenja i zbog svoje bogate standardne biblioteke i integracije sa .NET platformom, ostaje jedan od najvažnijih jezika u modernom softverskom razvoju.

Šta je specifično baš za C#, ono sto ga izdvaja u odnosu na ostale programske jezike

C# ima nekoliko specifičnih karakteristika koje ga izdvajaju u odnosu na druge programske jezike:

1. Integracija s .NET ekosistemom:
C# je usko povezan s .NET platformom, što omogućava jednostavan razvoj aplikacija za Windows, kao i za web, mobilne uređaje i cloud. .NET pruža bogat skup biblioteka i alata koji olakšavaju razvoj aplikacija, uključujući ASP.NET za web aplikacije i Xamarin za mobilne aplikacije.

2. Jednostavna sintaksa i čitljivost:
C# je dizajniran da bude jednostavan za učenje i upotrebu, s fokusom na čitljivost koda. Ima sličnosti s C++ i Javom, ali je sintaksa često pojednostavljena i manje sklona greškama.

3. Snažna tipizacija i sigurnost tipova:
C# koristi strogu tipizaciju, što znači da tipovi podataka moraju biti jasno definisani. Ovo smanjuje mogućnost grešaka u kodu i omogućava bolje optimizacije u vremenu kompajliranja.

4. Garbage Collection:
C# automatski upravlja memorijom putem garbage collection mehanizma, koji automatski oslobađa memoriju koja više nije u upotrebi, što smanjuje mogućnost memory leak-ova i drugih problema povezanih s upravljanjem memorijom.

5. Language Integrated Query (LINQ):
LINQ omogućava pisanje upita za kolekcije podataka direktno u C# kodu, što olakšava rad s bazama podataka, XML dokumentima i drugim strukturama podataka.

6. Asinhrono programiranje:
C# podržava jednostavne mehanizme za asinhrono programiranje pomoću `async` i `await` ključnih reči, što omogućava lakše rukovanje operacijama koje zahtevaju duže vreme izvršenja, poput I/O operacija, bez blokiranja glavnog niti.

7. Podrška za moderne paradigme:
C# kontinuirano evoluira i uključuje moderne paradigme kao što su funkcionalno programiranje, kroz podršku za lambda izraze, anonimne metode, i druge funkcionalne koncepte.

8. Cross-platform razvoj:
S razvojem .NET Core, sada poznatog kao .NET 5/6/7, C# je postao cross-platform jezik, što znači da aplikacije napisane u C# mogu raditi na Windowsu, macOS-u i Linuxu.

9. Velika zajednica i podrška:
C# ima veliku zajednicu programera i podršku od strane Microsofta, što znači obilje resursa, dokumentacije, tutorijala i gotovih rešenja dostupnih na internetu.

Ove karakteristike čine C# fleksibilnim i moćnim alatom za razvoj širokog spektra aplikacija, od poslovnih softverskih rešenja do igara, web aplikacija, i mobilnih aplikacija.

Šta je potrebno za pisanje C# programa u današnje vreme?

Da bi pisali i pokretali C# programe, evo šta je potrebno:

1. .NET SDK: Ovo je osnovni razvojni paket za C#. Možete se preuzeti sa Microsoftovog sajta(https://dotnet.microsoft.com/download). SDK uključuje .NET runtime, kompilator, i druge alate neophodne za razvoj aplikacija u C#.

2. IDE (Integrated Development Environment):
   - Visual Studio: Najpopularniji IDE za C# razvoj, koji nudi sveobuhvatan alatni set za razvoj, testiranje i implementaciju C# aplikacija. Microsoft Visual Studio dolazi u nekoliko verzija, uključujući besplatnu verziju Community koja je dovoljna za većinu potreba.
   - Visual Studio Code: Laganiji editor koji se može koristiti za C# razvoj uz dodatak C# ekstenzije. Ovaj editor je idealan za manje projekte ili one koji preferiraju minimalistički alat.

3. Kompajler: Ako se ne koristi IDE, može se ručno kompajlirati C# kod koristeći komandu `dotnet build` ili `csc` (C# Compiler), koja je deo .NET SDK.

4. Git: Koristan alat za kontrolu verzija koda. Visual Studio i Visual Studio Code se integriraju sa Git-om, omogućujući da se vrši upravljanje sa svojim kodom direktno iz IDE-a.

5. Dodatne biblioteke i paketi: Preko .NET-ovog paket menadžera NuGet mogu se  preuzeti dodatne biblioteke koje olakšavaju razvoj određenih funkcionalnosti.


Kako početi sa programiranjem u C#

Najbolje je početi sa alatima otvorenog koda koji su pogodni za učenje:
  1. Visual Studio Community Edition
  2. Visual Studio Code (VS Code)

Visual Studio Community Edition

Visual Studio Code (VS Code)