Seven Languages In Seven Weeks
Tags: discuss, beginners, programming, c
Published: 2022-01-17 17:30:10


## Seven Languages in Seven Weeks
#### A Pragmatic Guide to Learning
#### Programming Languages

###### --Bruce A. Tate

---

Hi, all. I am a Computer Science Engineer, graduated from a Tier-3 college in India. In our curriculum, we have **C** in 1st semester as introductory programming language to make us familiar with basic programming concepts.Later **C++** and **Java** for object oriented concepts. In 5th Semester, we have to develop a web application using **JavaScript, HTML, CSS** as front-end and **PHP** as backend. And the final semester machine learning project _credit card fraud detection using Auto-encoders_ with **Python**.  
So, total programming languages I think I know are
![coding-cat](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q14omw151lskl5h5qkyt.gif)
- C
- C++
- Java 
- JavaScript
- PHP
- Python

But in sad reality, I only know **C** language and remaining is just a **C** code with some ctrl+C ,ctrl+V from Google.It is very easy to transform from one language to another as they all have common **C** type syntax.

So, I have decided to try different paradigms of programming languages. As a result I ended with the book Seven Languages in Seven Weeks by Bruce A. Tate. My plan is to have fun with new language and blog my progress and also to build at-least one production level project (code) in that language.

---
![7l7w](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8awvlgwgvj0bs8vxthu4.png)

---

##### <u>Forward</u>
The forward for this book was given by [Joe Armstrong](https://en.wikipedia.org/wiki/Joe_Armstrong_(programmer)), creator of Erlang.
![joe armstrong](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ncdb55f3pccztvjuu52p.jpg)

Learning a new programming language is like learning to swim for the first time.

> The first step in acquiring any new skill is not being able to do your own thing but being able to reproduce what other people have done before you. This is the quickest way to mastering a skill.

To grow confidence, he wants the learners to reproduce the examples in the book (point noted).

![point](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1wr1bst68rryf5bq17uk.gif)

> programming is about understanding, and understanding is about ideas.

---

##### <u>1.1Method to the Madness</u>

we need to deep dive into the language if we want to get the true flavour of the language which cannot be attained with short tutorial video.
The author promises to give us deep, fast dive experiences for seven different times.

we can find the answers for 
- _What is the typing model?_ &emsp;(strong or weak, static or dynamic)
- _What is the programming model?_ &emsp;(object-oriented (OO), func-
tional, procedural, or some type of hybrid)
- _How will you interact with it?_  &emsp; (compiled or inter-
preted, require Virtual Machines or not)
- _What are the decision constructs and core data structures?_
- _What are the core features that make the language unique?_

---

##### <u>1.2 The Languages</u>

The Seven languages we are going to learn in seven weeks are 
![7l7w](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zd9snkr19b2gy71msa5z.png)
- Ruby
- Io
- Prolog
- Scala
- Erlang
- Clojure
- Haskell


check out the video from code report
{% youtube m70agL3TuVQ %}