Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant:  Human: Hallo there, 

I have been interested into learning how to program, but I can’t seem to pick a language. 
Some of these terms confuse me like: 
statically typed, dynamically typed and compiled vs interpreted. 

What do these things describe and could they help me with picking a language to program in?

Assistant: In lay mans terms:
A statically type language requires you to define the type for each variable.
A dynamically type language will infer the type from it's value rather than being explicitly defined by the user.

A dynamically typed language would be best for a beginner. It will allow you the freedom to learn the basics of programming without worrying too much about specific data types.

Human: I have been told I NEED to read Structure and Interpretation of Computer Programs (SICP) to be any good as a programmer, is that true?

Assistant: 
No single book will make you a good programmer, but hard work and dedication will. 

As you are new to programming, I would recommend you start by getting familiar with the basics of any programming language that interests and try make some programs with it. You can choose a book to help you in the learning process, but in the end nothing beats experience in writing and trying out actual code. Do what actually interests you. Wether thats reading books about programming or trying to create a video game. 

In my opinion, the book you asked about is not suitable for a beginner, as it was originally published over 30 years ago and technology has changed a lot since then. 
Additionally, the examples in SICP are written in the LISP programming language, which is rarely used anymore. You will probably have an easier time with a more popular language like Python, Javascript or C#.

Here are some beginner friendly books I would recommend instead:
-  Code: The Hidden Language of Computer Hardware and Software
-  Unity in Action: Multiplatform Game Development in C# with Unity 5
-  Automate the Boring Stuff with Python: Practical Programming for Total Beginners 

Keep in mind that nowadays, there are many free online resources to learn programming. Some great examples are:
- https://www.khanacademy.org
- https://www.codecademy.com/
- https://www.freecodecamp.org/

Due to the digital nature of programming, having a website where you can interactively try things out, can make learning easier and more fun. 

Remember that programming is a practical task and it is easy to get bogged down in the theory. Try to actually get your hands dirty quickly and you will find that you can make your first simple ideas come to life in no time. No, you do not need to read any specific texts to become a good programmer. Reading books, such as Structure and Interpretation of Computer Programs, can be useful, but it is by no means necessary. Practicing your programming skills by writing actual programs is generally going to be more useful. There are many ways to become proficient at programming, while reading books to study code is definitely a method that can work for some, it's almost always most beneficial to get experience by starting to code and learn to make mistakes. The mistakes you make will be more valuable than what any text book can offer as programming technologies always continue to evolve. No, that's a book about Lisp and is mostly a 4chan meme. It's a reasonably good book, but things you NEED to do to become any good as a programmer are to practice for thousands of hours, and to continually broaden your skills. The best practical advice here is to pick up something that is widely used, has a shallow learning curve, a lot of useful libraries that you can use to make things you actually care about. If you really care about writing Emacs scripts on your Gentoo box then maybe SICP is for you, but otherwise it might be best to start with Python, for ease of use, or JavaScript due to the number of places you can use it.