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
- 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.
Forward
The forward for this book was given by Joe Armstrong), creator of Erlang.
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).
programming is about understanding, and understanding is about ideas.
1.1Method to the Madness
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? (strong or weak, static or dynamic)
- What is the programming model? (object-oriented (OO), func- tional, procedural, or some type of hybrid)
- How will you interact with it? (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?
1.2 The Languages Text
The Seven languages we are going to learn in seven weeks are
- Ruby
- Io
- Prolog
- Scala
- Erlang
- Clojure
- Haskell
check out the video from code report