GuestPost: Newbie to Newbie Learning M-Language as your first Programming Language

Foreword from Imke: “Happy to publish my 2nd guest post here: I met Rafael Knuth in the Technet-forum where it was a joy to see how quickly he was set on fire by the M-language. When he vented the idea about starting a newbie-to-newbie-series where he would share his learning experiences and perspectives as an “Excel-guy”, I was quick enough to engage him for an intro on my site. As it turns out, he is a VERY talented communicator as well, but just see for yourself”:

I’m just a regular corporate marketing guy in his late forties with no formal programming education. However, one day I woke up and decided to teach myself to code. I had no plan whatsoever, and my learning journey was anything but a carefully planned venue. It was rather accidental fumbling & stumbling, accompanied by loads of frustrations, with frequent, prolonged breaks to recover from my failed attempts to teach myself to code.

What makes learning to code so hard?

These are the main obstacles in my views:

1) Lack of time
As a professional in a corporate environment, it’s nearly impossible to put 20 hours a week aside to teach yourself a new skill from scratch, without major sacrifices in other areas of your life.

2) Your brain’s “wrong” wiring
What makes learning so hard is the amount of knowledge you have to unlearn: “Why is my program not doing what I expect?” Because you set the wrong expectations. Rewire your brain.

3) Complexity of the subject
Coding is a hard piece of candy, bluntly speaking. There is good reason why there’s such a dramatic undersupply with good developers.

4) Lack of applicability of your knowledge
So, you did that course on Python at Codecademy. How do you put your newly acquired skills at work? Unless you prove me wrong, my answer is: Not at all.

5) Unrealistic expectations
Become a Data Scientist in a 6 month bootcamp. You will find tons of offerings like that. So, basically what it says, is: “You can be smarter than all those guys who put years and years into studying programming, mathematics, acquiring PHDs – just join our course and you’ll get there in no time.” Good luck with that.

Microsoft M-Language comes to your rescue

As always in life, there is a solution to virtually any problem. If I could swing the magic wand and turn back time, M-Language would be certainly my first programming language to learn, even though it’s “just” a query language:

1) Learn in no time
M-Language is easy to learn, even for those with close to zero knowledge of Excel formula language. It’s a great entry level drug, as you move from endorphins rush to endorphins rush.

2) Rewire your brain gently
You are not overcharging your brain with M-Language. Give yourself a chance to gradually adapt to an entirely new subject. M-Language will do that service for you.

3) Your first line of code is just one click away
Hit the Advanced Editor and start writing. No exotic IDEs, packages that need to be downloaded with help of weirdly looking scripts. None of the stuff that can potentially kill your beginner’s enthusiasm. Just hit the ground and run.

4) Immediately put your knowledge at work
You can start mashing up data after just a few hours of learning M-Language. Even concepts that sound esoteric to a regular business user’s ears are within reach. Fetching data through REST APIs? And then prepping it up for analytics? No problem.

5) It’s an unsexy, but very useful skill
Start using M-Language to clean up your data, do meaningful and feasible work, or die trying to become a fully fledged Data Scientist in 6 months.

The best way to learn is by teaching others

When I first discovered M-Language, I only found one truly great book dedicated to the subject of M-Language: “M is for (DATA) MONKEY” by Ken Plus and Miguel Escobar.

M-Language allows you to mash up data without actually writing more than one or two lines of code here and there. You don’t need to learn writing code in M-Language, most of the work can be done through the UI. However, if you are keen on gaining a better understanding of how thigs work under the hood – it’s wort putting the time and effort in learning the fundamentals of this query language. It will “rewire” your brain, and you will eventually feel comfortable learning further programming languages.

Unfortunately, I haven’t found any learning materials that teach newbies from scratch to write code in M-Language. Or should I better say: “Fortunately”? After some fumbling and stumbling, I asked myself: “Why don’t I share my learnings with likeminded people?” That said, I started putting together a series of blog posts. Here’s the result:

· Foreword | Crunching Data for Absolute Beginners: Learn to Code with
Microsoft M-Language for Excel

· #1 Lesson | Learn to Code with Microsoft M-Language: Select your Environment

· #2 Lesson | Learn to Code with Microsoft M-Language: Write your first
“Hello World!” Program

· #3 Lesson | Learn to Code with Microsoft M-Language: Working with
Primitive Values

· #4 Lesson | Learn to Code with Microsoft M-Language: Working with
Structured Values

· #5 Lesson — Part 1 | Learn to Code with Microsoft M-Language: Real
World Project — Mashing up Data

· #5 Lesson — Part 2 | Learn to Code with Microsoft M-Language: Real
World Project — Mashing up Data

· #6 Lesson — Part 1 | Learn to Code with Microsoft M-Language: Real
World Project — Pull & Clean up Data from Meetup.com via API

· #6 Lesson — Part 2 | Learn to Code with Microsoft M-Language: Real
World Project — Pull & Clean up Data from Meetup.com via API

· #6 Lesson — Part 3 | Learn to Code with Microsoft M-Language: Real
World Project — Pull & Clean up Data from Meetup.com via API

· Final Chapter | Crunching Data for Absolute Beginners: Learn to Code
with Microsoft M-Language for Excel

I was a bit scared when I wrote this series. By all means, I am not an expert and I am sure that my course is far from perfect. However, I believe the way we learn is changing: We can’t solely rely on experts (they will always be needed), but the importance of peer to peer learning is increasing.

Peer to Peer Learning: Sharing knowledge newbie to newbie

So, what’s the take away from my write-up? First, whenever you stumble upon a subject you are sincerely interested in and you suffer from a lack of usable learning resources around it – just go ahead and share what you learn along the way, even if you are just one step ahead of your audience. Don’t be shy to be that lonely nut who stands out of the crowd. Others will follow. You will feel richly rewarded by those first followers: “Yeah, I did it, and it’s of importance for others – even if it’s just a small handful of people.”

Source: YouTube

Second, just go ahead and read my series. I am very excited to hear back from you and get your honest feedback on my work. Thanks in advance!

Comments (2) Write a comment

  1. Excellent article. I have already shared with others. Thank you for sharing.

    I have been using Power Query (and ‘M’) for past two years. So powerful. It has changed how I handle data. Once you understand Power Query, move on to Power Pivot and the Data Model. They work together to enable complete financial solutions.

    doug
    dougburkedata.com

    Reply

Leave a Reply