I spent two weeks familiarizing myself with Delphi, Object Pascal, and RAD Studio in preparation for a potential job interview. While my experience was limited, I learned a few things that I'd like to share. I started by reading some basic guides and following along with a few tutorials. Using what I learned from the tutorials, I created two mini-projects: a number-guessing game and a library management system.
Here are some of the things I learned:
Delphi is one of the first 'low-code platforms', with many built-in components like labels, input fields, buttons, and select fields.
The GUI has an 80s-style look, and while I could change basic things like colors and borders for buttons, I couldn't create an intricate design. I suspect that there are design principles or templates for Delphi that I haven't discovered yet.
Writing code in Delphi, particularly functions and logic, was easy and readable. I appreciated that I could easily see where a function began and ended or where a new logic within an if statement began and ended.
Connecting to databases, specifically SQL Server or Access Database, was ok easy. I experimented with Access Database for some database "play" and found it nice, although it took me some time to figure out how to write SQL queries correctly. For example, I didn't realize that SQL queries needed to be written differently for Access Database.
The first project I created was a number-guessing game to familiarize myself with the components and basic functions.
The second project, a library management system, was more complex. I exported my database from MySQL and used in Access DB. Delphi has an built-in database navigator for simple CRUD (create, read, update, delete) procedures. For custom CRUD actions like lending a book, I created custom buttons for adding, returning, and paying fines, which proved challenging as they required different queries and updates to the database table. Updating the shown tables was also tricky, as sometimes it required using DataSet.refresh, and other times it required closing and reopening the dataset using DataSet.Active. Not sure why or is this even a good approach, though.
In conclusion, I enjoyed working with Delphi, but I know there is a lot more to learn for complex projects. It felt like learning a new language from scratch, and I would need to start from the beginning to develop a more in-depth understanding.
I'm hopeful that my experience will help me with my job interview, and I'm excited to see what the future holds.
Wish me luck!