Talk about software development (technology)

Source: Internet
Author: User

Original article: http://www.cnblogs.com/salomon/archive/2012/07/26/2609590.html

As a common programmer, consider implementation details. In practice, the so-called "technology" has nothing to do with the language to a large extent. It is a second question not to worry about the language. Programmers will consider a lot of things, such:

1. process Communication: Interprocess Communication IPC, large commercial software, viruses, anti-virus software, and so on all involve inter-process communication issues, which cannot be avoided during development, it is also the biggest impact on efficiency and security. Accidental handling will seriously affect the software quality. In summary, inter-process communication is huge.

2. asynchronous programming: this is a big part of content that avoids the "false dead" ui or software execution efficiency and considers multithreading or asynchronous programming, different Languages have different implementation mechanisms. Taking C # as an example, Microsoft has defined a series of multi-threaded operation modes and Synchronization Methods to help programmers. This section is a separate introduction.

3. memory Management: memory management, delayed start, cold start, and hot start should be considered for hardware restrictions and efficiency security issues. Memory Management is also a large part, which involves memory leakage, C # garbage collection and so on. The problem of delayed start and cold start and hot start is always ignored, but this item can affect user experience most, speaking of this, I would like to mention that I was a loyal user of thunder, but I cannot stand the start time of thunder. I doubt that I did not consider these things during software development, so I uninstalled it and used the simple version of thunder.

4. interaction between languages: As mentioned above, many software are not written in the same language. This involves multi-language interaction. Different Languages have different syntax semantics and different technical details, to create a common protocol for interaction, there are many issues to consider, such as boudary security, interface efficiency, and memory management.

5. remote method call: In fact, I just want to talk about Windows Service and Web Service. In actual applications, services are everywhere, and services are not as good as common applications, it seems inappropriate to put this article here. It is mainly because the programmers around me are not very familiar with the service.

The above technology is a cross-cutting part, and only some of the content is displayed, there are still a lot of content that have not been taken into account for future completion, all of this is for the security, robustness, efficiency, scalability of the applications developed by yourself, this is the second stage of the so-called advanced programmer. At this stage, you have been freed from the constraint of language and can begin to soar in the sky of real technology.

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.