Programming Languages

This subject guide is a collection of resources useful for new programmers or for people who would like to learn programming from scratch.

Materials include NTK resources (books and eBooks) and also high-quality online resources.


If you are new to programming and don’t know where to begin, recommended languages are either JavaScript or Python. Currently, they are the most used programming languages and many instructional resources exist for them. Both languages have an easy syntax that is reminiscent of natural English language.

NTK's collection on the topic of programming languages can be found here. High-quality eBooks about programming can be found in the ProQuest Ebook Central and SpringerLink platforms.


Git is a version control software. It's used for tracking changes in documents, code collaboration, and for easily developing multiple versions of the same program at the same time.

Knowing how to use Git is a prerequisite for all programmers. 

Git cheatsheets

Advanced Algorithms (COMPSCI 224) 

Series of lectures about algorithmization from Harvard University. For advanced beginners and computer science students.


Java is one of the most popular programming languages. Java is most notably used for Android development, but it´s also widely used for large-scale web and desktop applications. The main benefit of Java is its universality. Code written in Java can run on almost anything, regardless of platform, without a need to tweak or rewrite it. 

Materials for beginners


Cover: Java for absolute beginners  Core Java: Fundamentals Java: A beginner´s guide Java: the complete reference Thinking in Java A practical guide to data structures and algorithms Servlet and JSP: a tutorial Cover: Java Language Features  Introducing Gradle Maven Essentials Introducing Maven Ant in action

Other JVM-based languages

There are other languages besides Java that use the JVM for compilation. Most notably it´s  Scala, Kotlin, Groovy and Clojure

Scala for the impatient Scala for Java developers Head first Kotlin Kotlin in actionGroovy in action Pro Continuous Delivery: with Jenkins 2.0 Making Java Groovy Web development with Clojure Clojure Applied


Programs written in C are very fast and very efficient. The problem with C (for beginners) is that it has none of the safety functions of modern programming languages (e.g., Java), so a badly written C program can easily crash the operating system of a computer.

Because of its speed and efficiency, C is mostly used when writing programs that need to be very fast and consume very few resources, such as operating systems, smart devices, embedded electronics.


C++ is a language built on top of C but with some added higher-level features often seen in modern programming languages: data structures and objects.;

C++ is mostly used for embedded electronics or for writing graphically demanding applications like video games, game engines, or the graphical parts of operating systems.


Cover: Programovací jazyk C Cover: C: the complete reference Cover: C++: the complete reference Cover: C++20 for lazy programmers Cover: C++ Data Structures and Algorithms


C# (read as "c sharp") is a programming language developed by Microsoft. It's mostly used for the development of Windows desktop applications and web apps. 


Cover: C# 8. 0 and . NET Core 3. 0 - Modern Cross-Platform Development Cover: Programovací jazyk C Cover: C# Programming for Absolute Beginners Cover: Hands-On Design Patterns with C# and .NET Core Cover: C# bez předchozích znalostí 


JavaScript is, at the moment, the most used programming language in the world. Its original purpose was to add interactivity to web pages; today, it can be found almost everywhere, from web, desktop, and mobile applications to servers, games, and smart electronics. 

Despite its name, JavaScript has nothing to do with Java. These two languages are completely different. JavaScript got its name as a marketing strategy: Java was a new, broadly used and beloved language when JavaScript was created, and JavaSript's creators wanted their language to be associated with Java. 

Materials for beginners

Important technologies


Cover: JavaScript: the definitive guide: 7th edition Cover: Eloquent JavaScript: a modern introduction to programming Cover: You don't know JS: ES6 and beyond Cover: Secrets of the JavaScript ninja Cover: Node.js in action Cover: Advanced TypeScript Programming Projects: Build 9 Different Apps with TypeScript 3 and JavaScript Frameworks Such As Angular, React, and Vue


Python is one of the most used programming languages. Python code is very easy to read and write. Its main usage is in data analysis and machine learning. Other notable uses include process automation, robotics, and web development. 

Materials for beginners

  • Learn Python: Interactive online course.
  • INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING IN PYTHON: Programming course from MIT. Includes recordings and transcripts of lectures and labs. Programming exercises and longer homework assignments are also included in PDF form. Available also as a book, Introduction to computation and programming using Python (3rd edition).


Cover: Introduction to computation and programming using Python Cover: Fundamentals of Python : first programs Cover: Effective Python Cover: Automate the boring stuff with Python : practical programming for total beginners  Cover: Impractical Python projects: playful programming activities to make you smarter Cover: Serious Python: black-belt advice on deployment, scalability, testing, and moreCover: Python for data analysis : data wrangling with pandas, NumPy, and IPython Cover: Pandas for everyone: Python data analysis Cover: Pandas cookbook Cover: Advanced data science and analytics with PythonCover: Software architecture with Python: design and architect highly scalable, robust, clean, and high performance applications in PythonCover: Web development with Django Cover: Django 3 by example Cover: Decoupled Django: Understand and Build Decoupled Django Architectures for JavaScript Front-ends Cover: Mastering Flask Web Development

Your contact

Ibrahim Abou Khashabh

Ibrahim Abou Khashabh

Nothing is impossible under the sun


Computer Science, Computer Security and Cryptology, Mathematics, Physics, Programming Languages, LaTeX,

See also

Original author: E. Blažků

Editor: Ibrahim Abou Khashabh Last modified: 19.12. 2022 16:12