Do you want to use new technology

Source: Internet
Author: User

At that time, the accent and words of the world were the same. As they moved eastward, they met a plain in the land of Shiloh, and they lived there. They talked to each other and said, "Come on!" We'll make bricks and shaotou the bricks. They took bricks as stones, and they took stone paint as plaster. They said, "Come on!" We will build a city and a tower, the Tower of Heaven, to proclaim our name, lest we be scattered all over the earth. The Lord came to see the city and the tower which the world had built.

And the Lord said, Behold! They become the same people, they are the same words, and now they do it, and what they have to do will not be accomplished. We went down there and messed up their accents, making their words go out of place. So the Lord scattered them from there, and they ceased to build the city. For the word of the Lord was there, and the words of the people were scattered all over the earth, and so the city was called Babel (the meaning of "chaos").

This is the story of the 11th chapter of the Bible, the Old Testament, Genesis-Babel and the troubled accent. I quote this story to say: " speech and communication are a major obstacle to the achievement of things ." Instead of building the Tower of Babel, the same is true for software development.

I took the metaphor. Software development, looks a little irrelevant, in fact, it is a also, ancient and modern.

Come on, let's talk about what might happen when you have a new development in your technology.

C++11 is a brand-new language?

My blog friends know that my most familiar language is C + +, which I in the "programmer to optimize the resume, a win" article also mentioned. However, 10 years, I have been using c++98 ... Think of really ashamed, c++03 I do not know ... Not to mention the c++11 ... The day my daughter heard about this, I used the sticks and sticks in the ice bar to give me a fan to cover my face, this matter will not be mentioned.

I decided to study c++11 or because my first book, "QT on Android core Programming ", a very serious and very rigorous reader (thanks to thank you), he wrote to me, said that my book has more than half the QT Foundation, speak very well, than the market QT books are good , but there is a drawback: is not the application of c++11 in Qt.

I read the letter is very embarrassed, it is 2014 years, I actually just heard and never to know c++11 in the end is a few meaning. At that time I also embarrassed to say I do not understand, only said the revision will add in. However, there is no revision now ... I also seldom use QT, also did not have the power of revision ...

However, I was determined to understand the c++11, determined to introduce into the product. Then, also ready to record a "c++11 in Qt" Video course, to give yourself a reason to learn new technology, but also to use the new technology, otherwise know, understand is tantamount to nonsense-although I now nonsense, still will be embarrassed.

I this article is actually to pull the light, c++11 is only a primer, so will not c++11 relative c++98 or c++03 change to detail, want to know Google Bar (degree Niang also line--of course, as a program ape you may be a rejection of Niang).

C++11 introduces new features such as initialization lists, unified initialization patterns, range-based for loops, threads, automatic type inference (auto and decltype), lambda expressions, and so on, combining them to make your code ghost unreadable, and you might think it's C + + Standard Committee and Bjarne Stroustrup deliberately made the bar, deliberately to mess up the language of programmers. My God, finally and the article began the "Babel and the confusion of the accent", don't say I am irrelevant, now I want to dry tears to show code:

auto it = m_msgHandlers.find(strCommand);if (it != m_msgHandlers.end()){    for_each(it->second->begin(), it->second->end(),             [&message](MessageHandler*&handler){                    handler->handleMessage(message);            });}

Do you think this piece of code is good to read? I don't think it's a good idea to read, and some of my colleagues read the code, and the first reaction was not to understand--what the heck! But if you use Scala's functional programming, you'll feel very gracious.

There is also a section of code:

class XXX{public:    struct UIViewZCompare    {        bool operator()(UIView* a, UIView* b) const        {            return a->zOrder() < b->zOrder();        }    };    ...protected:    std::multiset<UIView *, UIViewZCompare> m_views;};...void XXX::doPaint(){    ...    for (auto v : m_views){ v->paint(m_canvas); }    ...}

It's kinda hard to read, right?

That's what I'm going to say today: when you want to use a new feature of a technology, you'll be faced with the issue of " to is or not."

Use it or not?

Ok, it's the right place to go.

When I was in high school, the physics teacher was particularly interesting, and everyone loved to listen to his class. The reason is that a class of 45 minutes, he spent 30 minutes to talk about politics or storytelling, and then 10 minutes to the end of the course, and 5 minutes ahead of Class!

Unfortunately, such an interesting teacher is not many, but also often by the unknown parents complaints ... This is my favorite teacher because the parents complained to the headmaster there for a period of time to change the style of lectures, and strive to 10 minutes to finish the content to stretch to 60 minutes.

Alas, it's a long way off, but it's quick to say a few words. My advice is: Let's get out of the way and use the same language .

As a programmer, the technical evolution must follow, follow too slowly you are embarrassed to talk to others, others use auto instead of such as std::map<std::string, std::list<int>>::iterator long and difficult to remember the type of knock, you do not know what auto is doing, will blush it ...

Some people say I use others do not understand how to do? Don't worry, they don't understand that they will learn because they are embarrassed. This is also to help others progress, helping people ah. As long as you manage yourself, change yourself, you may affect others.

Gandhi once said: "In this world, you have to be the change you want to see." "If we do not practice the changes we want in our daily lives, we end up being transformed and alienated by the organization and the environment, unable to change the organization and the environment."

In addition, you can further, by preaching in the team, take the initiative to bring others to play, such as a meal chat, such as organizing sharing meetings, such as the use of new technology for your superiors ... As long as you decide to do it, there are always various ways to achieve your goal. People who want to do things find ways, do not want to do things to find excuses, it is such a truth.

Related reading:
FAQ | Am I suitable for software development?
How programmers plan a monthly salary of 30,000
For Mao you're in deep trouble-driven development

Focus on the program horizon and achieve Better program life:

Do you want to use new 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.