Programming languages and what each of them does

Programming languages are artificially created expressions that programmers use to instruct a machine how to accomplish the goal originally set in the specification. There are many classifications of languages, but broadly according to their purpose we can divide them into specialized languages and general purpose languages.

Briefly about specialized languages

There are probably thousands of them, each created for some specific purpose. But there are also specialized programming languages that are more widely used and better known. These are, for example, the languages in which databases are written. 75% of the database management system (DBMS) market is held by Oracle DBMS, Microsoft SQL Server and MySQL, but there are others. SQL is a specialized language for DBMS connection. PL/SQL (introduced by Oracle in the late 1980s) is a procedural extension of the declarative language SQL.

The programming languages in which databases are written work only in the database environment and are used for procedures that run in the database itself. It represents records located in files on disk arrays. In addition, there is a server that runs a database management system (DBMS) – one or many processes running on the servers that write to and read from these records on the disk arrays. The server part of the database is a group of processes that write to and read from the disk arrays. In these processes, you can program the procedure that runs on the database server with the PL SQL database language. Database programming takes place in the database environment. The program runs there.

Another interesting example of a general purpose programming language is JavaScript. It was originally created as a language to automate web pages, but it gradually evolved from a specialized language to a general-purpose language. We’ll talk more about it and its transformation in the following lines.

General purpose programming languages

They are also called general-purpose languages, general-purpose languages or interactive languages. These programming languages are used to describe a particular algorithm that starts from one state of the data and after a certain number of steps takes the data to another state, namely the final result.

90% of the programmers in the world work in them. Commercial software is written in these languages.

Java

This language is similar to C++. When it was created, it was advertised as a language that would be Internet-based and modern. Programs written in it are updated (upgraded) when they are run. For example, as happens when Android apps are launched. Java is a multi-purpose language, except that web-based applications are written in it, not operating systems. In a three-layer architecture, Java runs at the business level – the second level.

There is Garbage Collection. This makes the programmer’s job easier because he doesn’t have to think about what to do with the memory he has allocated but no longer needs. This ease, however, comes at the price of lower performance – the language is large and doesn’t always run fast enough. The program runs a few tens of percent slower than if it were written in C. It has been owned by Oracle since 2009.

Software written in Java: Android, embedded Android apps, games and web-based content.

Python

Very simple and tidy language, easy to write, easy to remember the syntax. It is a very expressive language and also has a Garbage Collection. On par with Java, it has one of the largest library arrays. But some of its libraries are at the student project level – they are not maintained, bugs are not cleaned up and programmers are unhappy. Python is now at the level of Java before Oracle bought it. However, we can say that there is a bright future for this language and there is more to see from it. It is facing great competition in the form of Java Script

Software written in Python: software related to the Internet of Things and artificial intelligence. Giants Google and Facebook use it extensively in their developments.

JavaScript

This is the language that most programmers in the world are currently writing in. A huge amount of software is written in it. At the beginning, it was a specialized language created to automate web pages. It has evolved over the years and is now a separate language with a general purpose. A large number of libraries have been created for JavaScript. Every Internet Explorer or Google Chrome implementation has some extensions to JavaScript, and one JavaScript may not work equally well on different browsers. Right now, this language is something huge.

In recent years JavaScript has been standardized, here is a link to the standard https://www.ecma-international.org/publications/standards/Ecma-262.htm

Software written in JavaScript: this is a scripting language, you don’t write separate software in it, but rather parts of it – for example user interfaces of web-based applications.

C++

It builds on the C language. Over the years it has become an overly large programming language. But it can be used to program literally anything. A lot of software has been written and continues to be written in it.

C++ has all the disadvantages of C and all the extras of other languages. For example, you can run the Garbage Collection on it. C++ has several standards named after the years they came out – 1998, 2003, 2011 is a huge step forward as if it were another C++, 2014 and 2017 with more new stuff. Next year the 2020 standard comes out – another very big step forward. It’s like the first language has multiplied by 3 and there are now three C++ languages.

C++ is getting very big as the years go by. It gets that way because the language is constantly incorporating techniques and programming features from other languages – support for traces and new ways to communicate. Some companies have given up on using it as a complete concept, and only use parts and standards of it. C++ violates the axiom of keeping software simple.

Software written in C++: can be used to write ANYTHING you can think of.

C

The language was invented in labs and in production (in programming). C is the simplest language but the hardest to write in, with the least things to use to help the programmer. C is the oldest of the general-purpose, object-oriented languages. It is a language for system programming – programs that make peripherals (drivers), operating systems work.

Programs written in C work very close to the processor and to memory, very fast systems, use everything to the maximum extent. The language is EASY to learn, but it is hard and slow to write in, hard to find errors, and the inexperienced programmer can make big mistakes with it. It contains only 32 keywords. The problem is that the language itself gives you many degrees of freedom, but unfortunately with this much freedom most of the things you do are against you.

C e a sharp knife with which you can “hurt” yourself if you don’t know how to use it. C is faster than C#, however C# is faster and easier to write in. Those who master it will eventually have a foundation for most general-purpose programming languages that descend from C.

Software written in C: operating systems, drivers.

C#

One of a family of #(sharp)-languages: C#, F#, M#, Q#, etc. It is Microsoft’s answer to Java. And it has the Garbage Collection. The huge advantage, maybe they’ll pass Java with this, is that they offer a huge framework with everything you can think of for this language. Ready-made components for everything, well-downloaded, and easy to link together. Medium sized programs are quickly made in this language. The language has well developed parsing systems that help you clean up your mistakes quickly.

It offers more features than Java. Many people write in this language. A lot of people switched from Java to this language because it’s easier, faster, and has a lot of ready-made stuff. They get everything right when they start. They have one of the best development environments – Visual Studio for C, C++ and C#.

Software written in C#: programs for and parts of Windows itself, PlayStation Suite, Xbox, Windows Phone, Kaspersky Internet Security

Want to learn more about programming and its expressive tools? Sign up for our training courses and we’ll teach you everything you need to practice the profession.

1000 916 Code Academy

Daniela has over 6 years of experience as a programmer with various technologies in diverse projects, including installers, replication servers, and cloud services. In recent years, she has been developing Cloud Services using Java and Spring. Daniela loves to teach because it gives her the opportunity, by sharing her knowledge and experience, to help her students start a successful IT career.

Dimitar is a programmer with many years of practice and experience in developing communication systems, software, and databases. He started his career at the Institute of Computer and Communication Systems at the Bulgarian Academy of Sciences. He has participated in international and Bulgarian projects and has conducted exercises at the Technical University of Sofia. He has been involved in the development of billing systems, fiscal devices, VoIP, digital television, pharmacy and warehouse software, games, and many others. Dimitar uses C, C++, Python, Perl, JavaScript, HTML, PHP, PL/SQL, PostgreSQL, MySQL, MS SQL, Delphi. Dimitar is a fountain of technical knowledge. He will support you during the time allocated for self-study, whenever you have a question or a situation you’re not sure how to approach.

Katya has extensive experience in organizing and conducting business training for skills and training trainers. She is a specialist in communication, teamwork, management, and sales. Katya will provide you with valuable guidance on how best to present your work, how to organize and prioritize your tasks, and how to communicate with colleagues effortlessly. These skills are just as key to your successful career as mastering programming technologies.

Stela is a coach with over fifteen years of experience in training and developing personnel at various hierarchical levels. She specializes in training for the formation and improvement of communication skills and team development. With her assistance, you will master the ability to communicate effectively with management and colleagues and ask the right questions. These skills will be extremely beneficial when you embark on your journey as a programmer. Stela is certified as a coach for group psychodynamic training.
Alexander has over 20 years of experience in information technology. He has successfully completed more than 25 projects based on Java, JavaScript, SQL, Pl/SQL, and Python technologies. Currently, he works as a consultant in Quality Assurance and Information Security for leading financial institutions in Europe. He is certified in ISTQB Advanced Level, SCRUM Master, PRINCE2, and ISO27001 ISMS Information Security Lead Auditor.

Anastas is a programmer with over thirty years of practice. He has participated in the development of many projects for telecoms, financial institutions, games, and other business systems. He spent two years of his career as a university lecturer. Today, he prefers to program in C++, but he has extensive experience with Java, Python, C, Pro*C, PL, and PL SQL. For him, every programming language is just another expressive tool that helps him get the job done. Anastas has the ability to convey even the most complex material in an understandable language. For him, there are no secrets in programming, and he will gladly guide you through your first steps in the training.

Valentin is a Java programmer with over 20 years of experience, specializing in Java & SPRING. He has contributed to numerous diverse projects throughout his career. Teaching is one of his greatest passions, and he has successfully guided the course for the profession of Back-end Junior Developer with a Java profile in the first season of CODE ACADEMY. Valentin has earned the affection of students with his genuine style and clear teaching approach.

Elena is a programmer with almost seven years of professional experience. She completed her higher education at Sofia University “St. Kliment Ohridski,” specializing in “Information Systems” and earning a Bachelor’s degree. During her studies, Elena served as an assistant lecturer for over a year in Programming Fundamentals & OOP in C++. Presently, she is a member of the teaching team for the elective course “Development of Front-End Web” at the Faculty of Mathematics and Informatics at Sofia University “St. Kliment Ohridski.” In addition to teaching and programming, design is a passion she enjoys during her free time.

Having worked on numerous projects over the years, Elena is eager to share her knowledge with those who are just embarking on a similar path.

Ivo is a software engineer with over eight years of professional experience. He completed his higher education at the Technical University of Sofia, specializing in “Computer and Software Engineering” and earning a Bachelor’s degree. He has been leading and training teams of programmers for more than 5 years. Ivo has worked on numerous large projects in the fields of Blockchain, Fintech, and Real Estate. Currently, he manages a company that focuses on software development and provides software consulting services. He has a passion for high speeds, and you can often find him at the track, whether racing go-karts or driving his personal car.

Peter is a programmer with over 9 years of experience. He describes himself as an unconventional software engineer. His experience is entirely centered around Python, going through various software projects along his journey. He started working in the sector as a joke during his preparation for a state exam in Finance. Since then, he believes that the most beautiful thing about the programmer’s profession is that you can learn every day and the more you learn, the more you realize that there is still much to learn. Solving business problems through software solutions is what makes him smile every day. He shares that when he received an offer to lead a course at Code Academy, he did not even think about it; he agreed to take on the challenge immediately. “It’s extremely important to accumulate knowledge, but it’s even more important to share it with people who are interested in it.”
Svetlana is a Java and Spring specialist, with additional proficiency in C, C++, VB, JS, HTML, CSS, and SQL languages. She possesses over 5 years of professional experience in developing various projects. “I love teaching because, by assisting young colleagues in enhancing their software development skills, I can better organize and systematize my own knowledge. This way, we grow together!” she says. With over 10 years of experience as a lecturer, she currently leads the Spring Boot module and teaches at TU Sofia, the university where she earned her bachelor’s degree in “Computer Systems and Technologies.”

Stefan is a software architect with over nine years of practical experience as a programmer. He has excellent knowledge of a wide range of technologies, including Java and Spring. Stefan is inspiring and loves teaching, which he has also engaged in as an honored assistant at TU Sofia. In his free time, he reads, swims, and plays computer games. From him, you can draw the entire wellspring of knowledge needed for your career realization.

Yo has over 12 years of experience in project management and team leadership. Among her projects, the Code Academy initiative is undoubtedly her favorite. She considers her encounter with programming and the people who are or want to become programmers as a pivotal moment in her career. Due to the lack of a more suitable comparison, she describes this moment as love at first sight 😊 For her, there is nothing more satisfying than seeing the students in the academy achieve their goals of professional realization after completing their training. And she devotes herself wholeheartedly to this cause.

Ani is an enthusiastic and highly motivated individual. She has an economic background, but her passion lies in dynamic work in the field of human resources. She enjoys communicating with awake and educated people, and her goal is to facilitate their entry into the IT sector by encouraging their progress and success. She is the person who will walk alongside you during your training and lend a helping hand when needed. Your success is her mission.

Galia has a background in finance and has had a long-standing friendship with numbers, but she has always been drawn to working with people, and communication is her forte. She has been working with the academy team on various projects for 12 years and sees the Code Academy project as a personal cause. She is inspired by the opportunity to support anyone who wishes to change their life and become a programmer. She is always ready to help with motivation for those who have lost confidence and need a friendly shoulder and support.

Vanya is a mentor in our program. She has been working as a programmer for three years with Java + Spring, Golang, TypeScript + Angular. Passing on her knowledge to newcomers in the field is her calling. In her free time, she reads books and helps homeless animals. She has three adopted dogs. Vanya will always be there for you to help you successfully deal with the bugs in the code you write.

Nadezhda is one of the babies of Code Academy. She is a graduate of one of our first groups and now she is already a mid-level developer with 4 years of experience as a programmer. Her technologies are Java and Spring. She loves folk dances and is generally a very artistic person. Nadezhda will guide you through the Jumpstart module and will be your mentor in the advanced modules. She will make sure that you learn to write quality code, adhere to conventions, and you will always see her by your side – with a wide smile.
Start Typing