Thursday, April 5, 2018

Koja je razlika medju programskim jezicima ?

Osnovna podela programskih jezika je na interpretirane i kompajlirane programske jezike.

A preciznija podela je na ovih 6 kategorija:

1) Niži programski jezici koji se kompajliraju na mašinski jezik (izvršni EXE ne koristi runtime biblioteke ni frameworke): FASM, MASM,...

2) Viši programski jezici koji se kompajliraju na mašinski jezik (izvršni EXE ne koristi runtime biblioteke ni frameworke): Delphi, FPC, Lazarus, Borland C++, Intel C++ Compiler, C,...

3) Programski jezici koji se kompajliraju na mašinski jezik (izvršni EXE koristi runtime biblioteke): Microsoft Visual C++, ...

Ovde morate instalirati recimo VC++ runtime jedno pola sata, NEXT, NEXT, NEXT,... :)

Obično Setup Compiler (npr. Inno Setup Compiler) spoji instalaciju EXE fajla i njegovih DLL-ova sa instalacijom cele Runtime biblioteke, pa korisnik jedno pola sata instalira Runtime biblioteku, a drugih pola sata aplikaciju.

Ovde treba napraviti razliku izmedju recimo Borland C++ i Microsoft Visual C++, prvi ne koristi runtime biblioteke, a drugi koristi. Naravno da je bolje kada Vam ne treba runtime instalacija da bi EXE radio, zar ne ? A i brže radi.

4) Programski jezici koji se kompajliraju na jezik koji razume framework (izvršni EXE koristi  frameworke): Java (JRE), Microsoft Visual C# .NET (.net framework), Microsoft Visual Basic .NET (.net framework),...
Mehanizam ovde je da najpre kompajlirate svoj izvorni kod (tekst programa) u jedan fajl koji razume framework (npr. .NET framework ili JRE) i onda kada pokrenete takav EXE, u pozadini framework preuzima njegovo izvršavanje i prevodjenje na mašinski jezik. Ali takvi EXE programi ne rade direktno u mašinskom jeziku, nego se izvršavaju preko posrednika ili frameworka, pa su zato sporiji od Delphi-ja na primer.

I ovde morate instalirati recimo JavaRuntime ili .NET framework jedno pola sata, NEXT, NEXT, NEXT,... :)

Definicija JRE ?
Definition - What does Java Runtime Environment (JRE) mean?
The Java Runtime Environment (JRE) is a set of software tools for development of Java applications. It combines the Java Virtual Machine (JVM), platform core classes and supporting libraries.
JRE is part of the Java Development Kit (JDK), but can be downloaded separately. JRE was originally developed by Sun Microsystems Inc., a wholly-owned subsidiary of Oracle Corporation. 
Also known as Java runtime.

Obično Setup Compiler (npr. Inno Setup Compiler) spoji instalaciju EXE fajla i njegovih DLL-ova sa instalacijom celog Frameworka, pa korisnik jedno pola sata instalira framework, a drugih pola sata aplikaciju.

5) Programski jezici koji se interpretiraju (interpreteri) komandu po komandu:
JavaScript, VBScript, PHP, ASP, Python, Perl, Ruby,...

Zato ne možete porediti "babe" i "žabe", nije isto Delphi i C#, ali postoji sličnost izmedju C# i Jave.
Ne funkcioniše isto program pisan u Delphi-ju i program pisan u Assembleru (FASM, MASM,...).
Ne funkcionišu isto programi koji se direktno izvršavaju na mašini, jer su kompajlirani recimo Delphi kompajlerom i programi u C# koji se kompajliraju u neku medjuformu (koju ja zovem komina) koja se kasnije izvršava od strane frameworka.

6) Internet nam je doneo i novu podelu na jezike koji se izvršavaju na klijentskom računaru i one koji se izvršavaju na serveru (recimo web serveru).

JavaScript se izvršava na klijentskom kompjuteru u web browseru, dok se ASP i PHP izvršavaju na serveru. (Ovde izvršavanje obavlja za ASP IIS server, a za PHP Apache server).

Podaci se takodje nalaze na serveru, ali o njima brine druga vrsta servera, na primer MySQL server ili MSSQL server ili Oracle, na primer.

Tako na Linux serverima obično imamo LAMP koji se sastoji od Apache web servera koji izvršava PHP i MySQL servera za podatke.

S druge strane imamo Windows server IIS koji izvršava ASP kod na web serveru, a za podatke je zadužen MSSQL server.



Jeste da Delphi i Lazarus ne može da konkuriše C#.net i ASP upotrebi na serverima web aplikacija, ali kod desktop aplikacija nisu za potcenjivanje. Delphi i Lazarus su suvereni vladaoci windows desktop portable aplikacija koje se ne instaliraju, ne trebaju dll-ove i ne trebaju glomazne RunTime i Framework instalacije da bi uopšte radile.


Ako pravite C# aplikaciju koja treba da se koristi iz windows share foldera, da se šeruje u lokalnoj mreži, to je mnogo lakše odraditi sa Delphi i Lazarusom nego sa C# aplikacijama, čak kod C# aplikacije morate na svakom kompjuteru koji koristi deljeni folder i deljenu aplikaciju da pokrenete batch skriptu koja omogućuje šering .net aplikacija.


Ipak postoje uspešni pokušaji da Lazarus konkuriše i na polju razvoja web aplikacija, pa tu imamo veoma obećavajući: FREESPIDER














No comments:

Post a Comment

Коментар: