How to remotely install software on Mac by scripts? I am a windows guy new to Mac, I need to deploy software to lots of Mac. 

I do centrally install software by scripts on Windows platform, but I still have no clue how to do it on Mac after having done some research.

Can someone tell me 


What are some key components I need for centrally pushing out the software on the Mac?
What language do I need to use for the scripts?
Is there a Mac image create/deploy service available, like WDS on windows?
What you ask is basically the trade of being a Mac administrator and there are three major ways to get this done and one where you let everyone do the work:


Train your end users to install things
Use Apple's legacy tools to manage installs (ARD and AppleScript)
Use ssh and tools like homebrew https://brew.sh and shell scripts to install software and entire applications. 
Use a modern MDM - the popular open source choice is Munki and the popular vendor supported choice is JAMFpro (which is the new name for the Casper Suite/JSS for the upcoming version 10 release)




You probably have asked this question since you have ruled out options 1 and 2 - but they are realistic and scalable options for organizations in the 10 to 100 client range. Past 100, you're probably going to want some sort of Apple push / MDM / automation framework and using one that's already in service is better than making your own for almost all cases.

Also, be sure to evaluate your end user "self-service" options. Munki has the managed software installer and I'm using JAMF's name for their end user portal for app installs, scripts and management. Even once you have a push framework set up to script things, letting users fix things themselves is the winning move if you want to scale up your support without hiring help desk staff to do everything for your clients.