טורבו פסקל

גרסה 1

הגרסה הראשונה של טורבו פסקל יצאה ב-20 בנובמבר 1983, והליבה שלה התבססה על מהדר בשם PolyPascal שנכתב על ידי מהנדס התוכנה הדני אנדרס הלסברג. בורלנד הוסיפה לקומפיילר ממשק משתמש ועורך טקסט. אנדרס הצטרף לחברה כעובד, והיה הארכיטקט של כל גרסאות טורבו פסקל ושלוש הגרסאות הראשונות של דלפי. כאשר הגרסה הראשונה הופיעה בשוק האמריקאי הIDE שלה היה חדשני יחסית, והיא נמכרה במחיר של 49 דולר.

גרסה 3

גרסה זו, שיצאה ב-17 בספטמבר 1986, הייתה הגרסה הראשונה שתמכה ביצירת ישומים שגודלם מעל 64K בתים באמצעות Overlays.

גרסה 4

הוספת הקונספט של שימוש ביחידות (Unit), שהם קטעי קוד מקומפלים בשפת פסקל. עד כה היה צורך להשתמש בקובצי הכללה, שאחד מחסרונם היה שהם היו חייבים להיות בקוד מקור, ולא היו יכולים להיות מקומפלים, ולכן היו צריכים לעבור בכל פעם הידור מחדש.

גרסה 5.5

ב-2 במאי 1989 יצאה גרסה שמכונה גם Object Pascal, שלה הוספה יכולת מלאה של תכנות מונחה עצמים, שכוללת הכמסה, פונקציות בנאי ומפרק, ירושה, פולימורפיזם ושיטות וירטואליות. גרסה זו שמתהדרת בעזרה היפרטקסט עם יכולת גזירה והדבקה ותמיכה במעבד מתמטי של מעבדים שונים, עדיין לא כללה תמיכה בעכבר.

גרסה 6

הוספה ספרייה מונחת עצמים בשם Turbo Vision  לכתיבת ממשק משתמש ושימוש בעצמי מסך כמו תפריטים, שימוש בעכבר, תיבות שיחה והודעות.

גישה למערכת הפעלה

סביבת טורבו פסקל הרחיבה גם את הגישה למערכת ההפעלה ולBIOS של המחשב באמצעות היחידה DOS. ביחידה מספר שגרות. באמצעות  השגרה MsDos אפשר לבצע ישירות פקודות DOS, באמצעות השגרה Intr אפשר לגשת ישירות לשרותי ה-BIOS של המחשב באמצעות פסקי תוכנה, ובאמצעות השגרה Exec אפשר להריץ תוכנית DOS תוך עצירת התוכנית הנוכחית. כמו כן ישנם פקודות דוס מובנות ביחידה לעבודה מהירה כמו למשל חיפוש קבצים, בדיקת גודלם וכדומה.

היחידה - ספרייה חיצונית

גם מושג היחידה היה חידוש של טורבו פסקל. טורבו פסקל עשה שימוש בספריות של קטעי קוד חיצוניים מקומפלים, לצורך שלוש מטרות: מיחזור קטעי קוד, הפשטה פרוצידורלית והכמסתו של הקוד, ושבירת מחסום 64K שהיה קיים בDOS. גישה לפונקציות בספריות חיצוניות קיימות (Unit) נעשית באמצעות המילה השמורה Uses לפני הגדרת המשתנים הגלובליים.
לדוגמה:
USES WINCRT, STRINGS, WINPROCS, WINTYPES, WIN32;
כדי ליצור יחידה יש להשתמש בכותרת שמה במילה השמורה UNIT, היחידה מתחלקת לשני אזורים. אזור המוגדר במילה השמורה INTERFACE (ממשק) שהינו החלק הפומבי של היחידה שחשוף לתוכניות חיצונית, ואזור המוגדר במילה השמורה IMPLEMENTATION (יישום), שהוא אזור פרטי, שנועד לשימוש של היחידה, ואיננו חשוף לבחוץ. לאחר הקומפילציה יווצר קובץ מכונה בעל סיומת TPU, ובעת קריאה לפונקציה או פרוצדורה שקיימת בו, הקומפלייר ידע לגשת אל היחידה ולהשתמש בקוד שקיים בה.

אובייקטים ותכנות מונחה עצמים

אחד ההרחבות המעניינות והחשובות של השפה הייתה תכנות מונחה עצמים. הוספה המילה השמורה Object כדי להגדיר אובייקטים. האובייקטים הוגדרו כמו טיפוס משתמש באמצעות המילה השמורה Type. באזור האובייקט הוגדרו משתני ושיטות האובייקט כאשר לשמם הוקדם שם האובייקט.  
לאחר הכרזה של משתנה כסוג של האובייקט, ניתן לקרוא לשיטות האובייקט באמצעות האופרטור נקודה. כדי לבצע תורשה, יש להדר את האובייקט המוריש ליחידה, שבה ניתן להסתיר חלקים מהאובייקט כלפי חוץ. פולימורפיזם מיושם באמצעות שיטה וירטואלית, (virtual), המשתמשת בקישור מאוחר. 
כדי להשתמש בבנאי, יש ליצור שגרה מיוחדת שכותרת שמה שונתה מ-PROCEDURE למילה השמורה CONTRUCTOR.
בדוגמה פשוטה זו, הוגדר אובייקט בשם MyObject שמכיל שני משתנים מסוג מחרוזת ושתי שיטות. הראשונה SetRecord מבצעת השמה לתוך המשתנים ואילו השנייה WriteRecord מדפיסה את התוכן שלהם למסך.
program MyProgram;
Type
       MyObject=object
       Author,
       BookName: string;
       procedure SetRecord(TheAuthor,TheName:string);
       procedure WriteRecord();
       end;
  procedure MyObject.SetRecord(TheAuthor,TheName:string);
  begin
    Author:= TheAuthor;
    BookName:=  TheName ;
  end;
  procedure MyObject.WriteRecord();
  begin
    Writeln(Author,BookName);
  end;
Var
 MyObject1:MyObject;
begin 
   MyObject1.SetRecord('Eli','Exodus');
   MyObject1.WriteRecord();
end.

התחרות עם מיקרוסופט

סביר להניח כי פיתוח המוצר של מיקרוסופט לשפת פסקל Microsoft Pascal הופסק בשל התחרות הקשה שהציב הטורבו פסקל בשל איכותו ומחירו הנמוך. תאוריה אחרת גורסת שחברת בורלנד עשתה עסקה עם חברת מיקרוסופט להפסקת פיתוח Microsoft Pascal וגרסת הלייט שלו QuickPascal, בתמורה להפסקת פיתוח סביבת הפיתוח Turbo BASIC בידי חברת בורלנד.