Sistemi i tipit

Në programimin kompjuterik, një sistem tipi është një sistem logjik që përfshin një grup rregullash që cakton një veti të quajtur tip (për shembull, numër i plotë, presje notuese, stringë ) për çdo term (një fjalë, frazë ose grup tjetër simbolesh). Zakonisht termat janë konstruksione të ndryshme gjuhësore të një programi kompjuterik, të tilla si variabla, shprehje, funksione ose module .  Një sistem i tipit dikton veprimet që mund të kryhen në një term. Për ndryshoret, sistemi i tipit përcakton vlerat e lejuara të atij termi.

Sistemet e tipit formalizojnë dhe zbatojnë kategoritë e tjera të nënkuptuara që programuesi përdor për llojet algjebrike të të dhënave, strukturat e të dhënave ose lloje të tjera të dhënash, të tilla si "string", "array of float", "function returning boolean".

Sistemet e tipit shpesh specifikohen si pjesë e gjuhëve të programimit dhe ndërtohen në interpretues dhe përpilues, megjithëse sistemi i tipit të një gjuhe mund të zgjerohet me mjete opsionale që kryejnë kontrolle të shtuara duke përdorur sintaksën dhe gramatikën e tipit origjinal të gjuhës.

Qëllimi kryesor i një sistemi tipi në një gjuhë programimi është të zvogëlojë mundësitë për gabime në programet kompjuterike për shkak të gabimeve të tipit .  Sistemi i tipit të caktuar në fjalë përcakton se çfarë përbën një gabim tipi, por në përgjithësi, qëllimi është të parandalojë përdorimin e operacioneve që presin një lloj të caktuar vlere me vlera për të cilat ai operacion nuk ka kuptim (gabimet e vlefshmërisë).

Sistemet e tipit lejojnë përcaktimin e ndërfaqeve midis pjesëve të ndryshme të një programi kompjuterik dhe më pas kontrollimin nëse pjesët janë lidhur në një mënyrë të qëndrueshme. Ky kontroll mund të ndodhë në mënyrë statike (në kohën e përpilimit ), në mënyrë dinamike (në kohën e ekzekutimit ), ose si një kombinim i të dyjave.