Learning a programming language is stretching your skills, as a developer.

Its a new tool in your toolbox, too.

With it, you’re able to create something out of thin air.

3 concrete steps to learning a programming language

If youre lucky, others will find your creation useful, and youll feel the warmth ofbeing helpful.

Beyond that, I love programming by itself: its a game to me.

Logic is really fun to mess with.

Article image

Learning is fun too: the excitement of discovery, the joy to finally understand a hard concept.

It brings more colors to the world.

In this article, I will describe the process I used to learn the programming languages I know.

Questions are a good way to learn

It’s free, every week, in your inbox.

It doesnt matter if youre a complete beginner or if you already know a programming language.

The process remains roughly the same.

learning programming language and talents

Come with me, dear reader!

Lets go to Programming Land where every variable, functions, and classes live in peace and harmony.

Nothing is impossible, but dont expect programming to beeasy.

learning a new programming language first step: effective Go

In general, learning something new means you’re gonna wanna focus on thequalityof your learning.

If you have a go at push yourself too much, you wont learn anything.

If you watch some funny YouTube videos while learning, you wont learn much either.

learning a new programming language second step: testomatic

Dont be afraid by the fundamentals if youre a beginner.

Youll get them along the way.

It sounds dumb but its the most effective to me.

Time spent on learning Clojure

Reading a book is not enough.

If you want to learn something new, you gotta learnactively.

Reading is too passive.

Time spent on building Clojure games

Copy these examples in your code editor and execute them.

Dont give a shot to understand everything in detail while reading the book, especially if youre a beginner.

you’re able to go back to it later.

For now, the goal is to have a good idea about how the language works.

There are a lot of books out there which provide code with explanation.

I personally really like the wholelearn code the hard waycollection.

This is what we want.

For the folks who already have some experience, these books can be a bit boring .

However, it can still teach you some fundamentals you didnt know beforehand, or refresh some forgotten memories.

You might ask yourself: why a book?

Why not follow some articles on internet?

Or watch some Youtube video?

The quality of the content on the internet can be very random.

You dont want to learn bad habits; its easy to learn inaccurate concepts, increasing your confusion.

Learning is easier than unlearning.

Positive book reviews on a website likegoodreadscan be a good indicator as well.

You want to avoid misconceptions, knowing something which is only partially true or absolutely wrong.

Now, I have a little quiz for you.

Whats the best way to learn from these very objective propositions?

I have no partnership with RedBull and human attention is very short.

Learning two hours straight is already challenging.

Thats why the first path will make you wise, rich, and glorious.

Youll learn tremendously faster that way.

Take your time, be patient, and youll get there.

Dont forget: the most difficult part is the beginning.

Close it if after these 10 minutes you still dont want to learn.

You might be surprised how far this simple technique can lead you.

Ask yourself:

This is meant for you torememberthe fundamentals and the syntax of your new programming language.

Trying to remember what you learned the last time will reinforce your memory.

If you have no idea what youve written, thats perfectly fine.

Even if Yoda himself said the contrary, trying is the most important.

thoughts of victory blossom in your wonderful soul.

it’s possible for you to test yourself every week or every two days, it doesnt matter.

Find a balance to keep your interest in your new programming language.

Thats the most important!

Just try and adjust: if its too hard to build something, you might not be ready yet.

Hence the side project!

What the benefit of a side project, you might ask?

Learning the syntax and the fundamentals of a programming language is essential, but definitely not enough.

What side projects can you build?

You dont want to build the best program of the year and become rich, famous and unhappy.

You want to learn a new language.

Your side project could be anything from a todo list app, a pomodoro app or a calculator.

Even better: if you have somepersonal ideaswhich could be a fun small project, c’mon proceed.

Its even better than picking random ideas on The Internet.

If you want to build something bigger afterward, feel free to do so.

I will never say it enough: as few as possible, for the beginning, is the best.

you could still add more on top later.

Then, take these actions:

This is called an iterative process.

Consider the first iteration as an imperfect draft.

Analysis paralysiscan be your biggest enemy as a developer: dont over think.

Dont give a shot to find the perfection in these wonderful lines of code.

Perfection dont exist, and its ugly anyway.

Dont spend an awful amount of time searching the best tools either.

I would suggest not using any framework for your first side project.

Even better: code it yourself if its not too long (or too boring).

If you feel comfortable, you should make a run at write some automated tests as well.

Its important to know how the language handle testing.

Consider it as a bonus.

Its basically a system which allow you to version and push all your code on an external server.

The how and the why of git are beyond the scope of this article.

If you want me to speak about that, you might contact me.

I would love to hear from you!

Install git on your system and create an account onGithub.

Then,push your project.

When its done, congratulation!

it’s possible for you to now show your code to the whole world.

This is especially useful if youre planning to find your firstjob as a developer.

you’re free to show your fantastic side project to anybody who wants to see your new skills.

Its even better than building a portfolio filled with emptiness!

Yes,I hate them.

How nice is that?

Even if you follow a serious and praised book, you might still misunderstand some concepts.

Not really useful in my opinion.

Thats why I would advise you to show your code to a maximum of people.

Go to Reddit, forums, Facebook groups, and ask for feedback.

If you know some experienced developers, ask them some feedback too.

Heck, you might ask me some feedback!

Having a mentor you know well and who can provide personalized advice would be the best of the best.

Having feedback is great when its constructive.

Dont take into account pure criticism without any arguments or explanations.

What you want is constructive feedback.

They explain your mistakes and give you solutions to fix them.

Does your method really work to learn a programming language?

I loved playing them, and I had already these weird desires to create stuff on a screen.

I spent months on this book.

I was already applying the three steps technique I just explained you, instinctively.

I read everything and copied most of the code while reading.

The book taught me as well all the fundamentals of programming I needed, at a low level.

Then, I went into a wall: be damned, you pointers!

How did I learn Goland in 2018

Lets go back to a fresher past.

I choose Golang for many reasons.

I found a job in may 2018 as a full time Golang developer.

I wanted to be ready for my new job, and I was enjoying myself.

Then, my motivation went through the roof in March and April.

Only 25 minutes a day can bring you unexpected results, when its doneconsistently.

You might notice that I never finished the book.

you’re able to always come back to unfinished books later.

How did I learn Clojure in 2020

Ah!

You were full or promises.

Humanity as a whole saw your potential.

Somehow, I still managed to do something Im pretty proud of: I learnedClojure.

In this special context, I thought creating funny little games could be nice.

Plus, video game development is crippled with states, and functional programming has some interesting ideas about that.

Icopied all the code as well.

The red curve was my goal, the blue curve how much time I really spent on it.

In total, 38.75 hours.

Again, the hardest is to begin.

Then, time flies by!

This is the time I spent to build my two games.

In total, 100 hours.

Gosh, I didnt do game development since I was 18.

Many new skills guaranteed.

A language that doesnt affect the way you think about programming, is not worth knowing.

Alan Perlis

There is nothing exceptional here.

By the way: youre never really done learning a language, and thats great.

you’re free to read the piecehere.

Also tagged with