There has always been a preference amongst companies to use either of these two choices, but which is better?
To clear the air and clarify a little, ASCII and EIA code is from programming punch cards, and later tape eventually pushing into electronic transfer. Older programmers still toss around those words when referring to CNC programs. What was ASCII and EIA? American Standard Code for Information Interchange and the other is Electronic Industries Association, and we will not go further down that rabbit hole.
Let us explain what G-code actually is. G-code is short for geometric code and tells a machine what to do and how to do it using a combination of letters, numbers, and symbols. It encompasses M and T-code but let us just refer to it as G-code for simplicity. As technology has advanced in the trade, ASCII and EIA have become synonymous with G-code.
The benefit with G-code is that the majority of CNC machines can read and function from this language. Amongst the majority of languages I learnt over the years, most were similar enough to quickly adapt between. Being able to write a program for a Mazak and have it able to run on an Okuma with minimal editing is a powerful feature.
The downside is that less and less people are fluent in actual G-code as technology is replacing that skill. Without a competent person in charge of the programs, small differences can cause one machine to function fine, and another to lose its mind.
Conversational programming is the newcomer language. This language was meant to take a person with minimal knowledge of machining and allow them to make a program without any of the formal g-code knowledge. Having a machine which helps write a program without code could be beneficial to a company. Conversational can be very quick to write a simple repeditive program compared to g-code. Sounds great at first, until scalability becomes important. I have not seen a conversational program from one manufacturer compatible with a competitor, and depending on the specifics, sometimes they are not compatible with the same brand across the years. A program would need to be created for each individual machine to run the same part, or a shop filled with the same machines.
Clearly the winner in any shop with multiple machines and brands is G-code hands down. Until conversational stops being machine specific, it can never become a predominant language.
I would like to add in defense of conversational machining. I have recently seen a CNC lathe so complex in movements and capabilities that using conversational language is currently the preferred method. Still bound by limited scaleability, machines so specialized in function and product can benefit from the limited abilities of conversational CNC language.
An update on this topic. There is a 3rd-party software package which can convert Mazatrol to other versions of Mazatrol, and also to G-code. I am unsure if the software can work in reverse, G-code into Mazatrol. Clearly this is a step in the right direction. I have not used this software, and I am unsure of any limitations between converting Mazatrol into Winmax for example. Hopefully one day I will have the pleasure of testing it.