I have read the first powershell book i.e. Learn Powershell in a month of lunches. Now I want to dig more in powershell related to programming part. I am not from development or programming background. But would love to learn about advanced scripting that uses programming concepts. Would anyone please guide me which basic programming language should I learn so that I can understand powershell’s concept easily like functions, array, structure, advanced functions etc. I know there is a book learn powershell scripting in a month of lunches but I am not sure if it provides information what is function, array, structure etc and how it works. Any response would be appreciated.
I believe the PowerShell books should generally cover the basic tenets of programming. Some of the concepts you mention are PowerShell specific, and there’s only so much you can learn from another language about PS itself – though it’s based in similar precepts, there are a good many PS-unique things kicking about.
That said, if you want to supplement your learning by learning another language, I would turn first to C#. It is closely related to PowerShell and functions in similar ways. Heck, you can even directly execute custom C# code in a powershell script, should you ever feel the need to.
Functions in PowerShell are a bit more interesting imo than some other languages. Check out Get-Help about_Advanced_Functions – and the other about_* help topics (use Get-Help about_* to see the list!) They are a fantastic place to start learning about some of the more interesting PS concepts and methodologies.
For basic programmatic structures, a more direct language like C# might be of a good deal of use, but in terms of implementation in PS, you may or may not really need all of what you can learn in C#. However, due to how easily accessible it is from PS, you may well want to have a decent amount of C# under your sleeve, even if you never go far with C# itself. Make no mistake, C# can reach a lot of places, including many not covered by PS itself, if you want to venture there.