The scripting language of chatter

Source: Internet
Author: User

Scripting language differs from system language

Http://it.taocms.org/08/4736.htm

"The latter runs on an additional abstract machine layer, shielding the direct control of the computer system, and is thus causing relatively inefficient execution"

Scripting languages are closer to people, shielding the direct control of computer systems, and explaining inefficiencies. Basically is based on Turing or its equivalent model, so the scripting language can do things, system language can certainly do, on the contrary, the system language can do things, scripting language even if it can barely complete, its implementation efficiency is very far. such as the operating system, compile the system and other software, basically only choose the system language as a development tool.

System language and scripting language each have advantages, weaknesses, differences is the attitude we should be. Game programming is a perfect blend of literature, painting and music in a variety of artistic forms, and the technical aspects of the application are just right. From game programming, you can learn at least one thing: differentiate between the main application (game engine) and the module application (game content). In other words, the system language is used to develop the core logic module with little change, while the scripting language is used to develop some chaotic modules which are often changed, and eventually integrate the two, or embed the script into the application main program.

But this is not a novelty, because we can use the Dynamic Link library link module, random installation of large and medium-sized software, see a bunch of DLLs is normal. They are some system language programs that are compiled with the cost of machine code that is loaded when the main program is linked. Its execution efficiency is the same as the main program, and can achieve the above modular purpose, this is not our dream of silver bomb it?

So why is it hard to embed scripts in system language programming?

For the development of software companies, software execution efficiency is far less important than development efficiency , without the complexity of nature can be more easily programmed, even the people who have never learned programming can quickly deploy development, to increase staff at any time, not to disrupt the entire project. So the more you use scripting language, the more you can make money rolling in, why not?

The functionality and requirements of many applications will change as the project progresses, which can be said to be the norm for project development (for example, I want to see the inode in all of the specific file systems today, and I'll probably have to look at all the inode in the current system tomorrow. The day after tomorrow I may have any need for this is probably the thing). Although the development will be carefully discussed, many times asked, to make clear the demand. However, the plan does not catch up with changes, and the actual software development process often has to modify many of the modules that have been completed.

If the direct hard-coded, in the main program to write dead these things, instant is insignificant a modification also had to completely recompile the entire project. This is acceptable in the project very hour, if the source file has dozens of hundred trillion, it is troublesome, if the performance of the machine is limited, it may crash, together. Even if you use a link library, you still need to recompile that module and then re-link the load, which is also cumbersome.

Reduce the coupling with the main program: Err, the use of system language development mistakes are common, often these errors are very vague, if a module is often changed, the probability of making mistakes is greater. With the dynamic link library, the coupling degree is not significantly reduced at run time, but is linked to a whole, but the scripting language in the interpreter or virtual machine, the isolation of the real machine, and often have an exception handling mechanism, it is easier to capture the script execution of the exception, and to do the appropriate processing, Is that the software does not crash immediately because of some minor bugs.

prevent users from doing reverse engineering : The system language directly compiled links into executable files on the local run, you will be able to know its running logic, there is no software can not be cracked, but the scripting language is often compiled into their own code, but also by special coding, at least no existing disassembly tool can be used

The Chatter script language

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.