The real value of programmers

Source: Internet
Author: User

Transferred from: http://weibo.com/p/1001603776207387757094

Q: Pool teacher, I am a non-interactive person, but all of your articles I have read, thank you for your guidance, I started the life of the first MBP. Now the problem has come, but can not find the more suitable person answer, only to you, if you have time. The problem is this: I have a 32bit UNIX file (which starts a service process), and the error when executing on MAC is: Exec format error, but it can be executed on Linux servers, why? Are there any scenarios on your MAC that you can run? We look forward to your reply and appreciate it.
A: Linux and OS X are different operating systems and can attempt to recompile this file in OS X.
Q: Thank you very much! If there is no file source is not the only fate?
A: You can install Docker on your Mac and then port-map the service.
answer: Enlightened. Sheich teacher.

The above is a conversation I had with a reader who, after getting the answer, vanished like a wisp of dust, and never appeared again.

After adding a lot of mactalk readers, you often get weird questions about the workplace, about choices, about friends, about Macs, about technology, and so on. But I can answer very little. Problems can not be answered, the problem is too complex to answer, the problem areas beyond my knowledge can not answer, time-consuming problems I have no time to answer, it is really ashamed of the tight. Fortunately occasionally can help some small partners to solve some practical problems, psychological slightly comfort, such as the above problem.

Translate the dialogue between the programmers, which is a story:

A reader has a 32-bit Unix executable that can run on some version of a Linux server, running the file as a process, opening a port, and interacting with other programs. But this file has no way to run on Mac. Just as he was lying on his Mac, Chouchangbaijie in despair, suddenly thought of "pool teacher." Isn't this the old guy who boasted a Mac like a rose and let every programmer pick it up? Now prickly, you don't care who cares? So he sent me a message, meaning that the tube also has to control, regardless of the tube, you look at the office.

It's not hard for me to get a question. Linux and OS x although the division, all from the old-timer Unix graduate, but after all, after all, the Linux compiled program is not possible on OS X, but on OS X recompile may be OK. I told this idea to the programmer, get feedback is: Sorry brother, no source code!

I was shocked by this grim response and immediately realized that the idea was not the optimal solution because the dependencies and compilation errors of the various packages were enough to make you burn in the process of recompiling, and I then offered plan B: Install Docker on OS X, lightweight container Docker You can run various versions of Linux, throw files into Docker, and then easily solve this problem with port mapping between the host and Docker.

Although this involves a lot of technical details, but the direction is no problem, so the programmer immediately said "enlightened", and then "biu" in the face of the screen disappeared, did not leave me to say "welcome" opportunity.

This problem can be solved with a Linux virtual machine, but the virtual machine is too resource-intensive and not as flexible as Docker, so it is not the best solution. Docker is.

As a programmer, we are in addition to mastering the multi-lingual programming language and a variety of databases, understand the front-end technology, back-end technology, proficient in the network seven-tier architecture, know the TCP/IP three handshake and four waves, write beautiful code, design beautiful architecture ... , we also have to solve the problems of research and development, program operation and product launch, and are required to solve the problem at the lowest cost ... Is it easy for us?

In addition to programming skills and program design capabilities, to solve the problem of stability is one of the important factors to measure whether a programmer is excellent, but also the real value of senior technical personnel. In the wave of technology, technical information is rushing around today, a newly graduated college student if diligent enough, he can master a programming language within two or three months, and write smarty pants software, they learn faster than our old programmers, but the ability to solve problems can not be accelerated, only rely on time , experience and bitter lessons. Sometimes it takes inspiration and luck.

Many Army fans read a lot of military works and historical novels, often envy those famous people, and laments their "untimely". But the name is not so easy to refine. History of the Hoot astonished the name of the rare, they personally hold the sword to pursue the enemy, see the fierce battlefield, witnessed the enemy's corpse, saw his comrades killed, know that the sword will bleed to death, they are ruthless, rock solid, in the army will collapse when the enemy's weaknesses and attack, in the rapidly changing battlefield to make decisions , after many failures, stand up from the corpses of countless soldiers and start again to challenge the opponent who conquers you, and when everyone tells you, "instructors, let's go", say those three words firmly: wait!

If you can't do that, then you should be a soldier who will eventually be picked up by Zhang Fei's gun.

Excellent programmers are the same, rookie often envy Master in the laughter between the problem to let go, but they are hard to think about and not to get the method of entry, but these masters also experienced the name of those reign. They write code in the twilight of the morning, in the roar of the computer room debugging procedures, they sleep all night to solve a bug, they have to withstand the pain of data loss or online failure, silently swallow tears, ready for the next battle. Continuous learning, practice and thinking, thousands of hours later, master history.

The same problem, the master of the idea of the solution and the ball is very different. In general, as long as the world is not a problem, give enough time, space and manpower, can solve. If you encounter problems to tell superiors, this issue to me, in two years to get the proper, then do not blame the project group to send you out Xiang, because we want to be divided into minutes to solve, not two years. In this only fast-breaking era, we do not have so much time, so we have to through the reverse thinking, experience, maneuvers, by dint of force and so on to the minimum cost to solve the problem quickly. This is the value of old programmers.

For example, a well-run online application after you modify the bug increases the functionality of a number of puzzling problems, such as the use of resources to increase or run a period of downtime and so on, how to solve?

The general practice is to locate errors by reading the logs, simulating the on-line environment, and debugging the program. Easy bugs can be done in these ways, but more subtle bugs can be time-consuming and labor-intensive. What's the better way?

First, the troubleshooting is a program or environmental issues, the online program to restore the old version of the normal, if the same problem, it is the production environment has changed. If it works, either you introduce a new bug when you modify the old bug, or there is a problem with the newly added code.

Second, read the product changelog, according to the code submitted by the timeline to build the system, through the dichotomy to troubleshoot, locate what part of the code caused by the problem.

Third, the exclusion of all the impossible, the rest of whatever seems impossible, it is dry.

The above is just a simple example, the actual situation may be more complex than this example 100 times times, we need to use a combination of various ways of cross-alignment and error troubleshooting to solve. This is just a matter of solving problems, more often you need to ask questions, and solve problems, it is a higher realm.

Many people have learned so many programming languages, written more than 10 years of program, and ultimately still can not do at the lowest cost to solve problems, can't help people bemoaned sigh.

What is the real value of programmers? Solve the problem at the lowest cost! Knowing and doing is a unity, can be invincible in the world.

The real value of programmers

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.