[Discussion] What programming concepts will disappear in the future?

Source: Internet
Author: User

Today, I re-read the concept of Delegate and anonymous method in C #, And suddenly came up with the idea: What Will advanced language programming look like in the future, and what we don't need to worry about, now let's discuss it for you.

 

The advanced language I mentioned here refers to the earliest object-oriented language C ++, Pascal, later smalltalk, and modern languages C # and Java, until today's latest C #4.0. Note: There are two C # files. I have not written any mistakes, so I will discuss them later.

 

As you know, C ++ is extended from C, so it supports both process-oriented and object-oriented. As the first advanced object-oriented language, it is still very important today. However, any programmer will have a headache for C ++ and previous languages.

 

Then there were pure object-oriented languages such as Smalltalk, which were never understood.

 

In 1990s, Java emerged. The emergence of Java can be said to be brilliant, so that it will be ranked first in the rankings in the next N years. I think the most important reason for such a result is that there is no pointer in JavaProgramMembers are completely freed from the intricate pointer, greatly improving the development efficiency. At this time, the first concept related to today's theme emerged --Pointer disappears.

 

C # was available shortly after Java #. The earliest C # contains both the fine lineage of Delphi and the shadow of Java everywhere. However, the initial C # is too immature and mature until 2.0. I personally think C # Is a very good modernProgramming LanguageBut it is still within the range of traditional object-oriented.

 

In recent years, compared with the old Java, C # has been booming and has gone through 3.0 and 3.5 until the latest version 4.0. At this time, we are surprised to find that C # contains non-traditional object-oriented such as lambda expressions, LINQ, dynamic programming, and no type, and even destroys object-oriented elements. These elements increase the development efficiency more or less, and make C #4.0 and 2.0 significantly different.

 

ConsiderVarious programming technologies and ideas that have emerged in recent yearsSuch as SOA, AOP, CMS, etc. Gradually we find that weIt is getting farther and farther away from the concept of traditional programming, and you don't even need to consider it..

 

Now, these traditional concepts include pointers,Basic data types, operators, and Multithreading.The pointer has disappeared in Java and C #.Which of the following will disappear? I think it may be a basic data type, an operator, or multiple threads.

 

Basic Data Type: The reason why basic data types disappear is not to use pointers as frequently as they are currently. For example, one day, we do not need to declare a person class, which contains an int field indicating age.

 

Operator: Modern programming languages have many operators, such as unary operators, binary operators, ternary operators, numeric operators, and logic classes. Although these operators improve the computing performance, they also bring about the complexity of the program, allowing programmers to focus more on unnecessary content. In the future, these possibilities will disappear, so we don't have to worry about bitwise AND numerical operations at all. In this way, programmers only use the business logic they need to implement.

 

Multithreading: From the appearance of multithreading, to today, the cost of learning and using it has been reduced a lot, and I think these advances are not enough, because we are still struggling with synchronization, Asynchronization, locks and other messy concepts, and even parallel computing. These are not directly related to the business logic we want to solve. Without this, we believe that our development efficiency can be improved by N times, and the software performance can be improved by N times. This is a widely known issue, so one day, multithreading may actually disappear.

 

To sum up, the Disappearance mentioned in this article is not a true disappearance, but a conjecture that one day in the future, the basic data types and operators, in particular, multithreading/parallel computing may have an automatic management implementation like GC like today's pointer. The above is purely personal yy. You are also welcome to take a picture.

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.