Programming languages allow users to instruct computers to perform tasks. There are two main types: procedural and object-oriented. Procedural languages organize code into procedures that manipulate shared data, while object-oriented languages bundle data and functions into objects to improve security and reuse. Java is an object-oriented language that is portable, platform-independent, and secure. It uses a virtual machine (JVM) to execute programs on any system. JDBC provides an API for Java programs to connect to databases and submit SQL queries.