Gjuhët C/C++: Zanafilla

Denis Riçi, krijuesi i gjuhës C

Gjuhët e programimit C dhe C++ kanë shënuar ndër vite historinë e informatikës dhe teknologjisë së informacionit dhe komunikimit, në ngjashmëri të plotë me sistemin operativ Unix (dhe variantet e tij) për të cilin u krijuan pikë së pari. Mund të thuhet pa frikë se lindja e sistemit Unix dhe gjuhës C shënoi dhe lindjen e informatikës moderne. Si shumë arritje të tjera të rëndësishme, gjuha C ka pësuar përmirësime të ndryshme cilësore përgjatë viteve. Një nga arritjet më të mëdha të kësaj gjuhe është fakti që ka qëndruar e rëndësishme (madje për disa zbatime e domosdoshme) dhe nuk ka dalë nga moda edhe sot pas thuajse 50 vitesh nga dalja e versionit të parë të saj. Ky sukses i dedikohet gjenialitetit të autorëve dhe filozofisë së projektimit të saj, në ngjashmëri me filozofinë e sistemeve Unix. Nuk mund të lihet pa përmendur dhe ndikimi i jashtëzakonshëm i gjuhës C te gjuhët e tjera të programimit që lindën më vonë. Gjuha C++ është praktikisht gjuha C e pajisur me mekanizmat e orientimit nga objektet. Ndikimi i gjuhës C ka qenë thelbësor edhe tek C#, Objective-C, Java, Perl, PHP, JavaScript, Swift, Piton, etj. Të gjitha këto gjuhë e bazojnë sintaksën dhe strukturat e kontrollit te ato të gjuhës C. Përveç gjuhëve të programimit, janë ndikuar thellësisht nga gjuha C edhe mjete të ndryshme si interpretuesi i komandave CSH, gjuhët e përpunimit të tekstit AWK dhe SED, si dhe shumë komanda apo programe kompjuterike gjerësisht të përdorur edhe sot. Zbatimet më të rëndësishme të gjuhës C janë:

  • Shkrimi i sistemeve operative kryesore (fillimisht Unix)
  • Shkrimi i kodit komandues të pjesëve kompjuterike apo elektronike
  • Shkrimi i kodit për aplikimet në pajisjet e ndërfutura dhe ato të rrjetit
  • Shkrimi i kompilatorëve, bazave të të dhënave, shfletuesve Ueb, etj.
  • Zhvillimi i softuerit testues apo verifikues si dhe i simulatorëve

Zanafilla e gjuhës C është pra ngushtësisht e lidhur me punën e hulumtuesve në laboratorët Bell për krijimin e sistemit Unix dhe përpjekjeve për ta bërë atë lehtësisht të lëvizshëm midis kompjuterave të ndryshëm. Ky sistem u projektua dhe shkrua fillimisht në gjuhët e nivelit të ulët për kompjuterat PDP-7 dhe pak më vonë PDP-11. Ato gjuhë ishin të vështira dhe të papërshtatshme për shkrimin e veglave të ndryshme softuer që nevojiteshin. Për këtë arsye, Ken Tomson zhvilloi gjuhën B e cila ishte një thjeshtim i gjuhës BCPL. Kjo e fundit ishte një gjuhë e nivelit të lartë e krijuar disa vite më parë (në vitin 1967) nga Martin Riçards. Gjuha B ishte më e thjeshtë dhe e lehtë në përdorim, por paraqiste disa mangësi të rëndësishme. Mungonte koncepti themelor i tipit të të dhënave dhe gjithçka duhej të paraqitej si fjalë në kujtesë. Mungonin gjithashtu strukturat që janë shumë të rëndësishme për projektimin e sistemeve operative (në atë kohë sistemi Unix). Kodet e shkruara në gjuhën B ekzekutoheshin ngadalë. Për të tejkaluar këto probleme, Denis Riçi (Dennis Ritchie, 1941 – 2011) punoi në vitet 1971 – 1973 për krijimin e gjuhës C. Bazat sintaksore të gjuhës C ishin të njëjta me ato të gjuhës B (emërtimi C si pasuese e B lidhet pikërisht me këtë fakt), por u shtua tipi i të dhënave, strukturat dhe koncepte të tjera të rëndësishme. U krijua kështu një kombinim i fuqishëm i funksionaliteteve të nivelit të lartë me detajet e nevojshme për programimin e sistemeve operative. Kjo bëri që modulet e sistemit Unix të asaj kohe të rishkruheshin gradualisht në gjuhën C. Varianti i gjuhës C i përdorur në këto vite njihet si “C-ja tradicionale” (traditional C). U krijua pikë së pari kompilatori i gjuhës C që u përfshi te sistemi Unix 2. Sistemi Unix 4 i publikuar në nëntor të vitit 1973 përfshinte një kernel me pjesën më të madhe të tij të rishkruar në C.

Ecuria e gjuhës C në vitet 70 vazhdoi të ishte e lidhur ngushtësisht me zhvillimin e sistemit Unix. Nevojitej që kodi i këtij sistemi të lëvizej lehtësisht në modele të ndryshme mikroprocesorësh dhe kompjuterash. Për këtë qëllim, në vitin 1977 Denis Riçi dhe Stiven Xhonson zbatuan disa ndryshime të mëtejshme. Kompilatori i lëvizshëm i C-së i zhvilluar nga Xhonson shërbeu si baza e zbatimeve të ndryshme të gjuhës C në shumë platforma kompjuterike. Një hap tjetër i rëndësishëm i kësaj kohe ishte publikimi i botimit të parë të librit “Gjuha e Programimit C” (origjinali: “The C Programmin Language”) nga Brajan Kërnigen dhe Denis Riçi. Ky libër pati një popullaritet të jashtëzakonshëm dhe shërbeu për shumë e shumë vite si një specifikim informal i gjuhës C për programuesit dhe burimi kryesor i mësimit të saj. Për këtë arsye, varianti i gjuhës C i paraqitur te ai libër u bë i njohur si K&R C. Lidhur me meritat kryesore për zhvillimin e gjuhës C, Kërnigen është shprehur se ai nuk ka patur rol në projektimin e saj. “Është plotësisht punë e Denis Riçit”, ka qenë një nga thëniet e tij. Pavarësisht këtij fakti, Brajan Kërnigen është autori i shumë programeve të Unix (të shkruara në C) si dhe i programit të famshëm “Hello World”. Ky i fundit u kthye që nga ajo kohë në simbolin e kodit fillestar ilustrues që paraqitet nëpër librat e gjuhëve të ndryshme të programimit.

Referenca

  1. https://en.wikipedia.org/wiki/C_(programming_language)
  2. https://www.w3schools.in/c-tutorial/history-of-c/
  3. https://www.javatpoint.com/history-of-c-language