Who are you?
Hello and welcome to my blog! I am a designer of fine programming languages. I am at present on the C# standardization committee. My prior work includes Bean Machine, Getafix and Hack at Meta, C# static analyzers at Coverity, and I was a Principal Developer at Microsoft on the C# compiler team and a member of the C# language design team. In my sixteen years at Microsoft I also worked on the design and implementation of VBScript, JScript, Windows Script Host and Visual Studio Tools for Office.
I’m the author of several books on programming, and I edit programming books as a hobby.
What is this blog about?
I’ll occasionally digress into other subjects that interest me: mathematics, physics, music, sailing, writing, and so on. But mostly it’ll be about programming.
I wrote this blog for nine years at Microsoft; after leaving Microsoft I’ve picked it up here, at ericlippert.com. I will gradually migrate the content as I have time to do so.
If you have a question, consider posting it on stackoverflow.com. If you want to contact me directly, try emailing firstname.lastname@example.org. I’m also available on Mastodon at @email@example.com and Twitter at @ericlippert.
Enough chit chat!
Indeed; let’s go have some fabulous adventures!
This page was last updated in December of 2022.
I wish you much luck with your new journey. I’ve always valued your presence in programming forums, how when you have a question, all of a sudden the guy who created the technology answers you directly. It’s like when you read a book, stumble on something and then the author of the book walks directly into your room and takes you through. I’ve always felt it was something mind-blowing, at least for me, to see your insightful explanations around.
Hoping to see more of you with us.
Damn… In Holland there’s a saying about “being close to the fire”. Seems you’re taking a bit of distance of the MS ‘fire’.
Having a few of your (new) Coverity colleagues ‘spam’ in my inbox … What about convincing your new marketing and sales dpt collegeagues of effing publishing their ‘silver bullet’ pricing upfront? 🙂
I’m not sure that Mr. Lippert reads Chinese ..
“大牛” would be an equivalence of the neologism “牛人” in China, which means people who are ace in some field.
“你好” is “hello”
“粉丝” is also a neologism, it’s a transliteration of “fans”.
A translation of the entire sentence of “大牛，你好，我是你的粉丝！！！” would be:
“Hello, Great Eric, I’m your fan!!!”
I’m his fan too. 🙂
Me too 🙂
More than reading a very good technical book on C# internals, I always looked forward for your blog.
Keep posting, Keep the adventure going on.
All the best for your future journey 🙂
You’ve enraptured me over many years with your seemingly limitless knowledge of not just compilers and programming, but with many things in life. You’ll always be my role model and I look forward to reading your new blog. I wish you the best of luck for your new journey!
If I remember right you had joined as an intern in 1995 at Microsoft and you used to juggle. I was around at the same time and for next ten years at MS.
Good luck with your new gig.
Indeed, I remember you. Where are you now?
You got my interested in compilers and brought to me a love of .NET and C# in particular, when I began interviewing for Microsoft a few months ago, I was excited at the prospect of working at the same company as you (if not with you directly) Seems sad that I’d get an offer a mere two weeks after you left. I hope our paths cross some day.
That’s kind of you to say. I am not going far and will hopefully be dropping by Microsoft every now and then, so perhaps our paths will cross!
Let’s hope so. Keep on being awesome in your new adventures!
Hey Mr.Lippert. It was a complete shock hearing and reading you were leaving Microsoft but I was glad to have seen you for a few minutes in August when I was there. I wish you all the best on this new journey and will be constantly on this website seeing your thoughts and usual ponderings about programming 🙂
Also was glad to see you, as I said before, at the MVP summit a few years ago. What was the reason you decided to move on if I may ask? Just a shock to us all but whatever the reason, you made it all happen in this world of MS technology and got us all here today 🙂
Happy Holidays to you and your family!
It was nice to meet you too.
I described my reasons in my final blog post on the MSDN blog: I’ve been at Microsoft for 40% of my entire life, I am turning 40, and I am ready for a change. The opportunity to apply my C# knowledge to a new codebase and take a leading role in an interesting product, and the opportunity to work downtown, I did not feel I could pass up. Opportunities like that don’t come along every day.
Sir, can you give me technique how to learn fast in programming, cause i want to be a programmer that’s my dream. I know its only a big dream and dreams never be true if you won’t work for it. And i limit my self for job purposes only, i have this thinking all topics related to programming i won’t understanding all. I always browsing sites, now i come to think that blog really good share information, C/C++/C# and Java programming languages im focusing.. Is there anything i need to do, cause planning apply for job, any job related to computer job, then its better im learning with my own, the same time from school.. i think school alone limited compared studying outside with your pc, hoping will you help me to achieved my goal, and actually appreciate your kindness sir, thank in advance..
Let me turn the question around: is there a way to get good at chess fast? You can learn how the pieces move fast, and you can memorize openings fast, but I don’t know of any way to get good at chess that does not involve playing chess for thousands of hours (against stronger players, of course.)
I don’t know any way to learn programming fast. It’s a complicated topic with a lot of theoretical knowledge and a lot of practical knowledge necessary to be successful. Read about the theory, practice by writing a lot of programs, and have someone who is a stronger programmer than you review your work.
ok, thx a lot. im in my own now,so, its all my will if what to learn programming.
Hi, I couldn’t figure out the right place to write this, but it appears your RSS feed doesn’t work in Windows Live Mail 2011, which reports it as “not a valid RSS feed”.
I’m not sure if this is a mime type issue or some other compatibility issue, but it’d be nice to be able to follow you in WLM.
I got really upset when I found out that you left Microsoft. To be honest, one of the main reasons which led me to join Microsoft was to know that there are still some outstanding developers like you at Microsoft.
Anyway, wish you the best at your new journey.
I stumbled upon your blog a while back and wish you the best in your new endeavors. Its a breath of fresh air to see someone so eager to share your expert knowledge.
Congratulations! the graduation from Microsoft 🙂
Taking the jump is not easy and takes lots of courage. Working in a startup-mode is amazing. I’m sure you’ll learn so much.
Best of luck,
Hola Eric, spu nuevo en tu blog y ya estoy aprendiendo mucho con él. Tengo 25 años y al ver a personas como usted, que ya con 40 años han logrado grandes proezas en el mundo de la programación, estoy muy impresionado y a la vez triste. Siento que he perdido mucho tiempo y no he conseguido ser el programador que he deseado ser. He decidido seguir su blog porque quiero aprender, quiero tener éxito y lograr grandes cosas. No importa el tiempo o el esfuerzo que lleve. La programación es un arte que sale del corazón, así como la música o la pintura. Muchas gracias por compartir esta pasión con los demás.
Saludos desde España.
¡Mucho gusto! Saludos desde Seattle.
I only know how to say four things in Spanish: nice to meet you (¡Mucho gusto!) and Mi esposa está enferma. Creo que necesito un médico y dos cervezas. ¿Dónde está el baño? I figured those would be the four most useful sentences to learn.
Okay, that made me laugh 🙂
Hi Eric, it looks like your main site feed (https://ericlippert.com/feed) has an error in it.
It looks like something to do with one of the last two posts.
Thanks for the note; I’ve fixed it.
I am coming to software development from a heavy hardware design background (analog and RF circuit design). I am doing C# and getting training from one of your former colleagues at Microsoft. What do you suggest me to do to become a great software engineer?
I want to ask you, did you finish that blog post of yours in which you were going to describe “how to use tries to find all the matching words for a filter(with wildcards)”?
If it is somewhere, please redirect me!
I wish you all the best in your new endeavors.
Too bad for Microsoft; another Jedi master has left.
I’m just glad that we can still count on your Ninja-level knowledge and expertise in C# and programming in general.
Thank yout and best of luck!
After read your post… I think you’re the man to answer me for an issue I’ve been trying to solve in C#
Pull your C# ninja skills and tell me how I can create a library of free function in C# to use in programs
What I want is to statically define a function (like in a VB module or in a C++ namespace) in a library…
then import that library to a program and just do:
Print( “Hello”, “n”, “World…” )
?got it… free as bird… no class attached…
of course… the ideal would be
var Print = (x, y, z) => System.Console.Write( x, y, z);
for clarity I’m not fiddling here with multi-params…
Post your question to Stackoverflow.
Hi Sir Eric.
I am just barely new here but I have a great will to learn programming.
More Power to your new journey!
I am just a mere mortal to praise this blog. But let that be, this blog is a treasure trove, and I refer a lot of posts for various things from pass time to convincing colleagues. Thanks a lot for sharing your thoughts and knowledge.
At first I was reading your blog at MSDN (or Microsoft hosted), later it moved a couple of hosts I guess. I am not sure but I think the RSS feed earlier was giving all the posts (or far back in time at least). But the current one is giving out only for a month I guess). Is there a way to request more posts, if not all?
P.S: This above request is for configuring with RSS reader. I understand I could come to your site and read older posts any time.
Is it possible for you to disable the comment indenting/nesting?
It’s impossible to read a comment the words are broken into chunks of 3, 2 or even 1 character.
Yeah, it renders poorly. My changes to the comment formatting got lost when I switched hosting services. I’ll see what I can do about that.
When browsing on a phone …
Perhaps you can add something like:
@media (max-width: 650px)
To remove the 100px padding-left of the comment list when the screen width is less then 650px
I hope you are doing well, I am just little concerned as I have not seen any blog from you lately. I hope everything is ok.
Any chance this book will be updated to something recent? Otherwise, can you recommend something comparable?
“Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath”
Love your beginner and intermediate C# videos. Will you be working on an advanced C# video?
Merry Christmas, Mr. Lippert!
I hope you’ll be contributing to W3C tc39 WebAssembly. https://github.com/WebAssembly/spec/tree/master/ml-proto Building needs OCaml 4.02
I’d like #fsharp version too … 😉
(Live in FB-ville … Menlo Park)
I have implemented shadow casting on a grid using your approach here: https://blogs.msdn.microsoft.com/ericlippert/2011/12/12/shadowcasting-in-c-part-one/
My implementation: https://gist.github.com/zloedi/9551625
I just finished watching your beginner and intermediate C# videos that I borrowed from a friend. I thought you did an awesome job on them. I have an issue with the last video in the intermediate videos. It just stops right in the middle. My question is, and I am going to assume this is a long shot, but do you still have the source code to the WPF Hangman app from that set of videos? I just can’t figure out the rest of the changes you made to the Hangman class without it. Thanks
Just now I’ve used your solution for Cartesian product. My task is transliterate Cyrillic into Latin using as many variants as possible, so I’ve made a Dictionary of Cyrillic alphabet as key, and array of Latin letters as value. After matching, I have a List of Lists of variable length and I was looking for a solution, to combine them into strings iterating all possible combinations. So I’ve been happy, when found your solution, it’s very easy, efficient, and beautiful. That saved my time, helps me to feel good, and I came here to say thank you!
I have been following your C# instructions on O’ Reilly. Thank you very much for articulate, comprehensive lessons! I tried other products but they did not work for me.
I guess your smiley face also helps me to think everything is going to be easy with C#
I wish you a happy, healthy and wealthy 2020.
The email address listed above is no longer valid. Is that on purpose?
I tried to send a note about this web site, but it was rejected. I will include the full text of the email message here, in the hopes that you’ll get a chance to read this soon:
I was under the impression that the transition to your new web site included successfully copying all the old articles. But I’ve discovered at least some are missing.
For example, https://docs.microsoft.com/en-us/archive/blogs/ericlippert/the-stack-is-an-implementation-detail-part-one presumably would be found in the April 2009 page (https://ericlippert.com/2009/04/), along with the other seven articles listed on the Microsoft site, but there’s just the article Restating the problem (https://ericlippert.com/2009/04/15/restating-the-problem/).
Are you aware that these articles are missing? Any chance of them eventually being consolidated to the new site as well?
After over 20 years of me renting the email address firstname.lastname@example.org, the company that owned that email server decided to get out of the business of renting email addresses. I’ve updated the text to point to my gmail address.
The vast majority of my old MSDN blog articles are still missing. I’m in the process of moving them over, but that is nine years of frequently-updated content so it is taking some time.
Great…thanks for updating! And thanks for clarifying that the switch to the new site is on on-going project; I had misunderstood earlier articles on the topic.
I am anxious about waking up one day and seeing this blog not being available anymore, like many other great blogs about coding. Have you considered the idea of making a book of all these awesome blog posts? I have never seen a book containing such fundamental and detailed knowledge.
Thanks for the kind words. I’m not sure there would be a market for such a book!
I don’t know if you’re still into programming, but maybe you’d be interested in this question of mine, about what looks like a .NET bug…
I have just finished your two courses “Beginner C# Programming” and “Intermediate C# Programming” and I want to thank you very much sir, for the excellent work you have done, the courses were well prepared added to a perfect explanation, I salute your accomplishment and wish you good luck on your journey.