Can I write desktop software in UNIX?

Source: Internet
Author: User
Programming prodigal son: What programs do you most want to compile under UNIX? Tourist A: I 'd like to compile a radio software in Linux. Visitor B: I 'd like to compile a viewing software for Linux. Visitor C: I want to compile and learn QT. Traveler Ding: I want to compile a 3D game ....... I believe that everyone has the dream of writing all kinds of interesting programs. Many people even chose the Computer Science Department without hesitation with this dream. It is a pity that the university campus once and again disappointed us, "Time passes like a white horse, but I have not compiled a system." Today, I joined Zhu zhuhu studio. I believe everyone has come with this dream. But you are disappointed again! We will not teach you how to write radio software, How to Write DVD software, or even how to program graphical interfaces in Unix/Linux. Learning here will be irrelevant to KDE and gnome. The reason is as follows: 1.6.1 most programs do not need a graphical interface. Currently, Unix or Linux often exist as servers. Therefore, in most cases, only service programs are required, or they only work behind the scenes for professional professionals, without a fancy interface. For example, for a star concert, a star is a front-end program, while a lighting artist, makeup artist, sound engineer, and other staff are background processes, when you see stars dressed in beautiful, sexy, and exposed fashion on the stage, who should pay attention to what other people silently serve. Therefore, in UNIX, most of the utilities run on the Character interface. We only need to know the program design on the Character interface. Unknown visitors: But the graphic interface is much more convenient than the character interface, and many software now provides graphic operation interfaces. How can we say that a graphic interface is not required? Yes, people need to perform operations at a glance, especially some non-programmers who do not have access to the character interface, so they must provide graphics programs. However, please note that most of these graphic interfaces are not running on servers, but on a remote Windows machine. That is to say, these graphic programs are all clients rather than servers, just like online games, the most beautiful is the user's PC, not the background server. Unknown visitors: Why can't I use Linux as a desktop? For example, the Ubuntu Desktop is very beautiful and easy to operate. It is suitable for non-programmers. I have seen on the Internet that Ubuntu is about to replace windows. I have also seen that Linux is about to compete with windows in the desktop application market. For such articles, I usually give a smile and I am too reluctant to click. No reason for this. I always think that it is just a joke that Linux will compete with the Windows chamber on the desktop, just as if Saddam unilaterally declared the death penalty of President Bush of the United States, maybe there will be a day when Windows/Linux desktop applications will work together. But before this day, we suggest you design programs on server applications, changing the world to protect the universe and protect the dignity of the Earth is still done by the Spider-Man, the Superman, the huluwa, the Rainbow cat, the blue rabbit, and the girl soldiers. We will do it as we go.

1.6.2 most servers that do not require graphical interfaces are usually placed in professional equipment rooms. This equipment room may only be a few steps away from your office location. It may be hosted somewhere in the city or at the ends of the earth, in short, you are not at your fingertips. However, server maintenance is a common task. Maintenance includes operating system maintenance, database application and maintenance, and application software maintenance. Some administrators, it is his job to log on to the server from time to time. If you are not in trouble, you can log on to the server in person every time. For example, if the machine is hosted in Beijing, the company is located in Changsha, so every time you use a machine, you will make T2/z18 to Beijing, update it, And then t1/z17 will be back. Here, the train is just getting out of front foot, and you suddenly remember that there is another place you forgot to change, as a result, after just over a month, I did not dare to say how the maintenance work was doing, but at least responded to the national call and greatly expanded domestic demand. Well, consumption is a manifestation of patriotism, I believe there is no problem in rating n outstanding young people. Unfortunately, our current network age limits the emergence of so many outstanding young people. We can log on to the server through remote management, such as remote desktop under Windows and VNC under Linux, it is very convenient to operate distant computers in the graphic mode. However, if you do not know the price of firewood, let's calculate an account: assuming that the desktop resolution is 1024 × 768, and the color is 24-bit real color, you need to store a desktop in the following places: 1024 × 768 × 24 = 18 m suppose your desktop changes every second (this speed is already quite slow, and many people may not be able to stand it ), therefore, your network speed must be at least 18 m/s. If your Administrator logs on to the server, it means that the server is dead. Unknown visitors (whispering): can reduce the resolution. The following shows how to reduce the resolution and color. If the desktop resolution is reduced to 640 × 480 and the color is 256 colors (8 bits), the number of digits required for storing a desktop is: 640x480X8 = 2.3 m per second, m/s. Well, if you want to stop the server from being active, simply kill the server. Programming prodigal son: The above algorithms are not optimized graphics Remote Desktop analysis, in fact, "good" graphics remote software will use a lot of remedial measures, for example, simple color, compressed transmission, and local transmission (instead of transmitting all the desktops at a time, it only transmits the changed content) to avoid excessive network consumption, however, this will inevitably increase the burden on the server, and the images are not continuous. In addition, this kind of governance will not cure the problem. Therefore, it can be seen that, in terms of the current network speed and other server resources, the use of graphical remote terminals is still a relatively noble practice, in addition, the waste of valuable network resources is not in line with the call to create an intensive society, so it is not worth promoting in UNIX! It's a promising career to use the character interface honestly. Programming prodigal son: Windows users are used to the graphic interface, and many programs can only run in the graphic environment, so do not talk about windows. In fact, remote terminals with Unix characters are quite mature, such as telnet and SSH. Of course, FTP (SFTP) is also one. 1.6.3 is too difficult. The complexity here is not the difficulty of the graphics program itself. There is not much knowledge and skills in Kde, gnome and basic X-Windows programming, the key is that it is too difficult to mention the interest of students in software. For example, to compile a 3D game, this cannot be included in the field of Graphic programming, but is the territory of 3D programs. For example, when looking at the software, his design focuses not on how to display images, but on how to decode them. The mathematical knowledge of this decoding algorithm is not just a few words. I am afraid that even if it is clear, the interest of the students in learning will be lost. Then, Zhu's studio will have no fans, and I will not do anything about self-destruction of the Great Wall! Programming prodigal: I understand the psychology of programming game programs or beautiful programs, but this UNIX study will not teach, next time I start class C or C ++, I will talk about how to use AI games as an example. I hope you will continue to join us.

1.7 What should I learn about C Programming in UNIX? In general, it includes the following aspects: 1.7.1 basic C language application programming is a common C language that everyone learns at ordinary times, for example, the standard file programming library, memory library, string library, pointer, and so on, do not think that these things appear in Professor Tan haoqiang's book to despise them, you need to know: They are the foundation of programming and are everywhere in coding.Even though it is boring to play the foundation, you should not miss it. The deeper understanding of this part of content, the farther you can go on the programmer's journey, on the contrary, although you have made a short progress for the moment, it limits the possibility of further steps. For example, pointers use function pointers or structure pointers for parameters in many UNIX system function calls. If you do not know the pointer, it will be hard to implement C Programming in UNIX! For example, string functions are closely related to pointers, and many people do not pay enough attention to them, therefore, it is impossible to achieve a higher level of achievements in string message processing, text file processing, and communication data processing. Programming prodigal son: You should be able to guess the origin of my name. Although I am a programmer, a programmer, and a programmer, it also shows that I like the characters in the waves. In the ancient novels, I like Fu Hongxue and a Fei for no reason. It is similar to me. First of all, we are all persistent in practicing the sword (knife) for more than ten years. Second, drawing the sword (knife) millions of times without worrying about it. We are all lonely. Because what we hold in our hearts is our inherent hobbies and instincts. Because of this, we have all developed a solid foundation, which is precisely because of this solid foundation, this makes it possible to create an enemy. The same is true for programming. Only by drawing the sword from multiple exercises, that is, multi-programming, can you firmly master the foundation and be able to freely enjoy programming in the future. However, note that the encoding program here refers to the self-compiled by you, and the automatic code generators that generate are not counted as points. Tourist A: I used Delphi to create a video playback software, but it was completed with a third-party software. Isn't it just a matter of practicing programming? Visitor B: I used CMS to build multiple websites and made a little money. Isn't it programming? Programming prodigal son: Count, of course! All playing monsters have points! But most of the tasks are done by others, so you have very few points. Tourist A: does the teacher mean that no tools can be used to compile programs in the future. Programming prodigal son: I don't have to say this. tools are required, or everyone else will compile machine languages. It is only for beginners of computers, especially college students. It is strongly not recommended that they be limited to a variety of sophisticated code generator tools from the very beginning. It is not enough to understand Automatic Generation, it's your own choice! Therefore, all assignments for this season must be input in one word. Remember, the more code you compile, the more likely you are to master programming. Visitor B: How many lines does our college students have to make up? Programming prodigal: this is related to everyone's understanding and your programming content, but in general, the more the better. However, there is no end to learning. Do not feel like you have no rivals in the world. Even if you lay the foundation, there will never be an end. That is exactly what I asked: There is no period of time at the end of the period, and the traffic will not stop. The day is coded with millions of lines. You said that you have been writing code and want to build a solid foundation. You asked me when the basic exercises will end. I said that it will never end, just as the rivers flow to the sea, when you program a certain amount of code, you will find that although you have achieved a low level of foundation, you still need to exercise more to keep it from regressing.

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.