Some gossip about "design patterns" and "design programming languages"

Source: Internet
Author: User

Introduction:

Python Conference China Zhuhai in 2013, I made a sharing on Python and design patterns. Today, ZoomQuiet, a well-known community big mom, shared an article with me about it. Later, I thought this discussion was very interesting for me. So I sorted out the chat records and published them here with the consent of ZQ. It was saved as an imprints of my thoughts rather than shared them, if you think it is helpful and helpful, you can leave a message and thank you. If you want to persuade me and educate me, you can save some effort to spend more time with your family and friends.

======================================

ZQ @ zh # daddy 10:02:26
On object-oriented programming # yes # ZoomQuiet. io
Http://blog.zoomquiet.io/imho/131224-yw-on-oop.html-
Sharing of PyCon2013China,
Comparing this article, there are countless shots ,,,
Many of the Titans are promoting the OOP image,
Write code at ordinary times and try not to make any effort ,,,

Gz Rayong Hao 10:09:31
Well, it's not a conflict.
In my last talk, I used python to implement the pythonic design mode. That is to say, let the god of design patterns spread in python code, instead of copying the form from the C ++/Java example ". For example, the decorator model I shared is based on the first-class function technology. It mainly utilizes the feature that closures are "stateful functions.

ZQ @ zh # daddy 10:11:27
The right Guido is also based on the pressure of market promotion, declaring the OO feature in Python,
In fact, after analyzing the source code, we all know that OO is not dominant in Python.

Gz Rayong Hao 10:11:36
In programming language design, Wang is much better than me. But when talking about writing Common Business Code, he is not necessarily better than me.

ZQ @ zh # daddy 10:12:25
What business code does it look like,
The Business Code he wrote to Google is running every day ,,,

ZQ @ zh # daddy 10:13:05
Of course, we usually access ARUD-type businesses,
It's not really a real business ,,,

ZQ @ zh # daddy 10:13:20
It's just data migration,

Gz Rayong Hao 10:14:53
Aunt, this is self-defeating. Designing a waist is a business, and burning electric welding on the waist is also a business. A welder won't feel inferior in front of an architect.

ZQ @ zh # daddy 10:15:49
Of course, work is not high or low,
I just said that the intellectual resources involved are completely different levels ,,,

ZQ @ zh # daddy 10:16:14
We fight for the hand speed,
High-end businesses can really fight for thinking ,,,

Gz Rayong Hao 10:17:02
I mean, I don't agree with the saying that "the consumption of intelligence is totally different levels. The Learning and cultivation required for electric welding is not necessarily less than learning architectural design.

Gz Rayong Hao 10:18:18
When larry & page wrote google in java, did they face much lower challenges than when designing java programming languages?

Gz Rayong Hao 10:18:54
Writing the linux kernel in C language is much less challenging than designing C language?

Gz Rayong Hao 10:19:30
Writing WPS with C ++ is really much harder than developing C ++?

ZQ @ zh # daddy 10:20:01
This is only known to the client ,,,
Because the outbreak of Google didn't start with only two people,
At that time, Google had thousands of employees,
Engineering Management is more difficult than purely technical breakthroughs,
However, the level of thinking involved is hard to say ,,,,

Gz Rayong Hao 10:20:22
When java broke out, it was also released to version 1.4.

ZQ @ zh # daddy 10:21:07
"Burning electric welding" is a kind of muscle memory training, and the best practice is to fight equipment ,,,
Therefore, currently, top-level welding relies on programming and automatic processing ,,,

Gz Rayong Hao 10:22:02
Wang has an unverified "expertise" in his field of expertise. Even if he releases a product that can withstand the test in the future, he is still an ordinary person. There is no need to treat him as a god.

ZQ @ zh # daddy 10:22:07
I may be confused about the intellectual consumption,
Strictly speaking, it should be said that the level of anti-daily thinking is different?

Gz Rayong Hao 10:23:01
Designing a programming language is not very difficult. In Kingsoft, at least 50 people can be picked out and each person creates a special programming language within one month.

ZQ @ zh # daddy 10:23:02
He gave me his own words: the story of me and authority
Http://www.yinwang.org/blog-cn/2014/01/04/authority/
"... I am deeply aware of the dangers of accepting incorrect ideas, so I also hope that everyone will have a critical thinking and do not blindly accept what I said. I don't like the title "Great God" or "Ox man.
"""

Gz Rayong Hao 10:23:57
I believe that in this second, at least three specific languages (DSL) in the self-developed field are being used in production in Kingsoft.

ZQ @ zh # daddy 10:23:59
I admire him for sticking to his own pursuit and never blindly following him,
It just stinks ,,,,

ZQ @ zh # daddy 10:24:50
Designing a programming language is really not difficult,
In Wang Yu's article, 35 lines of source code of a DSL compiler are provided,
However, designing a really easy-to-use programming language can be totally different fields ,,,

ZQ @ zh # daddy 10:25:59
In fact, I did not develop various local DSL independently in the past,
Including template languages invented by UliWeb,
However, the whole world is Mao, and everyone is using their own DSL to complete their own project?

Gz Rayong Hao 10:27:17
Design a really useful Programming Language
==========
This Wang did not do it himself. Why do you think he is a god in this part?

ZQ @ zh # daddy 10:27:21
Of course, among them, marketing, Master flickering, training market, etc,
All in the game,
However, the design philosophy of the language itself is a decisive factor.

ZQ @ zh # daddy 10:28:01
"Why do you think he is a god in this part "...
This asserted is not suitable for me ,,,
I have never yelled at him,

ZQ @ zh # daddy 10:30:06
However, for programming languages, this specialized research field,
Wang Yu is a professional researcher in this cutting-edge field,
Members of the language design team of different companies,
He does not have any utilitarian factors in the market, but only conducts scientific research,
Therefore, I am willing to trust some of his arguments and arguments,
However, it is far from the level that can serve as an endorsement for preaching ,,,

Gz Rayong Hao 10:31:01
Wang Yu is a professional researcher in this cutting-edge field,
==========
No, he has been away from the research field for a long time. He is now "An application of technology in this field and is developing related products ".

ZQ @ zh # daddy 10:31:02
He also came to the conclusion that a really useful programming language:
Why is a programming language not enough?
Http://www.yinwang.org/blog-cn/2013/06/23/one-lang-not-enough/
He admitted that he was also a pattern of Tucson.

Gz Rayong Hao 10:32:15
He does not have any utilitarian factors in the market, but only conducts scientific research,
==========
Yes. Many of his recent articles are actually the soft texts of his entrepreneurial products.

ZQ @ zh # daddy 10:32:21
It's not long, just two years,
From his experience, the PL field is also the home site of various religious wars,
When he leaves and practices his own skills, it does not mean that he will not continue his research ,,,

ZQ @ zh # daddy 10:32:47
There is no problem with the study experience at school.

ZQ @ zh # daddy 10:33:45
Well, actually, a Chinese blog is only a small part of his thoughts,
I think that tianchao people should accept it,
His E-blog is richer ,,,

Gz Rayong Hao 10:40:32
Let's close the question:
1. I don't think his views on the design pattern are quite different from mine. If I understand that there is no mistake, it means "do not copy the example code of the Design Pattern of C ++/Java textbooks, instead, we need to combine the idea of the design pattern with the uniqueness of the programming language itself, do Within a few hours I found a mapping from all the weird names it introduced to the programming techniques I had been using all the time. ", probably it is to be" what it looks like (the example code of the textbook )".
2. I think designing and implementing programming languages is not "rocket technology". Most Senior programmers can easily "design and implement specific language in the field ", however, I believe that Wang Yu is more powerful than me in this "skill Tree", but not necessarily me (or other programmers who write business logic code) the code written is worse than him (or worse ).

ZQ @ zh # daddy 10:41:55
Lai's conclusions cannot be agreed to more...
The CC link is also used to add confidence to Lai Zong,
What Wang Yu thinks is no different from that of you.

Gz Rayong Hao 10:42:23
Thank you, Aunt.
 
Gz Rayong Hao 10:42:31
Thank you! I have gone to work.

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.