ABAP vs Java, breaststroke vs Freestyle

Source: Internet
Author: User
Tags git client sap gui

The goal of learning to freestyle in a year set in July last year has finally come true, and it is a special wish.

ABAP and Java,? breaststroke and freestyle . The previous combination was Jerry's technique for earning a family, which Jerry spent a lot of spare time and money practicing. Perhaps some friends think these two sets of concepts are irrelevant, but in Jerry's eyes, ABAP is to Java, the equivalent of breaststroke to freestyle.

Article Directory

    • The same point in ABAP and Java

      1. Language Features

      2. Development frameworks, tools and ecosystems

    • The same point in breaststroke and freestyle

    • Different points of ABAP (breaststroke) and Java (freestyle)

      1.? "Java (Freestyle) environment build (swim in) than ABAP (breaststroke) Trouble"

      ** 2.? "ABAP (breaststroke) debugging (ventilation) is simpler than Java (freestyle)"* *

      ** 3.? "Which of the ABAP (breaststroke) and Java (Freestyle) is easier to get started with?" **

      • *

The same point in ABAP and Java

1. Language Features

This public number has a lot of followers who are student friends, so it is still necessary to introduce the ABAP. ABAP (Advanced? ) BusinessApplication? Programming) is a high-level programming language that is designed, implemented, and maintained by SAP, and its keywords and virtual machines (ABAP Runtime) are implemented based on C + +. Like Java, ABAP is a static language that supports object-oriented, strongly typed languages. It can be said that SAP has been able to achieve brilliant achievements in the field of enterprise management software in the past 40 years, because most of SAP's successful traditional products, such as SAP ERP, SAP Business Suite, and the S/4hana of 2015 years, are based on ABAP.

ABAP and Java are not sleeping on the laurels of the past, and each is evolving.

ABAP starts with the 7.40 release, adding a lot of new keywords and grammars, making the code written in ABAP more compact and concise. Table Expression, the inline declaration of variables, type auto-inference, more powerful chaining calls, and other new language features, make the same requirement, with the ABAP encoding after 7.40, the code volume is usually 50% or less before 7.40.

ABAP is also constantly absorbing the features of some other programming languages. For example, the reduce operations in JavaScript and Clojure, which support functional programming ideas, are supported as a keyword after ABAP 7.40. Specific examples can be seen in my blog:

Functional Programming–try Reduce in JavaScript and in ABAP

https://blogs.sap.com/2017/02/27/functional-programming-try-reduce-in-javascript-and-in-abap/

On the other hand, many of my colleagues joked that many of the features of Java 9 were not clear, but only a few months after the release of Java 9, Java 10 came again. This itself means that Java is evolving very quickly. Compared to ABAP, there are many more articles on the web about the latest features of Java, and Jerry doesn't repeat it here.

2. Development frameworks, tools and ecosystems

Both languages have their own number of development frameworks and thriving ecosystems. Just from the scale of the ecosystem, the absolute number of developers in the ABAP ecosystem is not as good as Java developers.

SAP has many ABAP-based development frameworks, platform-level frameworks such as the ABAP-based MVC development Framework ABAP Webdynpro and WebClient ui,odata Service development Framework, WEB Service development Framework, business The development framework of object Bopf and so on. At the application level, the number of frames is more. Even if there is a simple need in the eyes of developers in other companies, SAP is likely to adopt a mini-framework to implement it. This large number of ideas to introduce the framework to achieve the application needs, on the one hand embodies the Germans to consider the need to pursue rigorous and complete habits, on the other hand, through the implementation of the complexity of the requirements and the amount of work transferred to the SAP Standard application development approach, reduce or avoid the partner and customers two development of the workload, Makes many non-standard functions possible only by configuring them on these micro-frameworks.

In any ABAP-based SAP legacy product, there are a number of useful tools, such as reports or transaction codes, that provide accessibility to the product, such as problem analysis, log viewing, performance detection, and so on. I think even if most SAP consultants who have been in a product for 10 years, I'm afraid I can't be 100% sure that I'm familiar with all the tools in the product.

In addition to these standard tools provided by SAP, there are open source projects that ABAP open source enthusiasts contribute to, such as the ABAP git client, SAP Link for offline transmission of ABAP resources between different systems, and the ABAP operation of Excel's Abap2xls project, among others.

Java so many years along the way, its endless development framework has long been deeply rooted. From the early Classic troika ssh, to spring boot and Spring cloud, which have been popular in recent years with the advent of microservices, it can be seen that no matter how many Java technology communities are open.

Thanks to a huge number of Java developers around the world, Java Ecosystem Development tools, library files are also countless. In MAVEN's remote repository Http://repo1.maven.org/maven2, we can find lots of library files published by companies.

This is the root directory of the SAP library files on the remote repository:

Similarly, if you are interested in a Java library file published by another company, such as Microsoft, Oracle,salesforce, go to the corresponding directory to see it:

The same point in breaststroke and freestyle

Jerry, as an experienced, told me a little bit about the similarities between the two types of strokes.

1. It is a beginner's introductory swimming posture. slightly different, in the country, breaststroke is the most recommended introductory strokes, while foreign friends learn to swim, usually choose Freestyle as an introductory swimming posture.

2. Beginners will encounter two of the biggest bottlenecks, namely leg movements and ventilation.

leg Action: a lot of adult beginner breaststroke, in the water to carry out the breaststroke leg action "turn" This step, due to a variety of reasons, can not be the foot of the wrist movements to make, this can not ensure that the foot of the maximum area to push water, causing swimmers in the water feel a great effort to kick, But the pace of progress is slow.

Similarly, freestyle beginners encounter the first hurdle is to beat the legs do not go forward . Many adults to learn to hit the leg, do not realize the freestyle hit the legs of the hip (the area shown in the yellow circle), thigh drive calf, whip-shaped punch leg form, into the hit leg when the splash splash, but is not the dilemma of progress.

ventilation: This is another hurdle that many beginners will encounter almost. Anyway, Jerry learned to drink enough water to learn how to breathe and swim in freestyle. A lot of friends in the Swimming forum say that learning to breathe is a process that will practice the volume of water to be converted into an experience value when you breathe, and automatically unlock the ventilation skills when the experience is full. Jerry thought about the process of learning these two strokes, as if it were true.

3. There are various variants of the two strokes.

Like the previously introduced ABAP and Java have a variety of tools, breaststroke and freestyle also have a lot of variation.

Different types of breaststroke: Flat Frog and Wave frog

The frog and the frog are the two main postures of breaststroke (the head frog is not discussed in this paper).

Breaststroke Beginners Learn all the flat frog, because it is relatively simple, the upper limb strength of swimmers is not high. When the hands are stretched, the pressure water will be able to breathe, and the action of lifting the breath can be done very slowly. Swimming pool is a lot of breaststroke are flat frogs, this swimming posture easy to swim, labor-saving, suitable for long travel. My own feeling is that the flat frog half of the time in the water is completely relaxed, even if a breath of travel 1 km, do not feel tired.

Wave Frog is the breaststroke athlete's competitive swimming posture, the frequency is much faster than the leisure-type flat frog. Compare:

Flat frog:

Wave frog:

Wave frog in order to reduce the speed of the breaststroke in the process of doubling the resistance, the entire upper body is raised water, from the air forward. In contrast to the frog ventilation, a notable difference is the degree to which the double-shoulder arch is almost touching the ear to reduce resistance, and looks very ornamental, very domineering!

Unfortunately, the core strength of the body requirements are very high, not studious ah ...

Breaststroke early breathing and late breathing

early breathing: as the name implies, when the hand is just beginning to draw on the head to breathe. The use of early breathing can provide swimmers with adequate ventilation time, suitable for beginners. Take a look at the early breath teaching demonstration of the Great God easy dream of swimming:

Late breathing: the head is still staring at the bottom of the pool while the outer stroke ends and the arm begins to rise quickly, with both hands quickly stretched. Late breathing requires swimmers to have a certain amount of force on the upper limbs, in return for the benefits of swimming faster than early breathing.

Look at the action of the Night breath:

Breaststroke wide kick with narrow kick

Beginners and amateur breaststroke are generally a wide kick, and athletes compete with a narrow kick. Wide kick knee open distance than narrow kick wide, pedal clip when the circumference of the arc is larger than the narrow kick.

Wide kick with obvious push-clip action, if on the shore to observe a lot of breaststroke beginner's movements, can clearly see the first push water after the order of water. And the narrow kick, the pedal is almost one go and merged into one, it is difficult to strictly distinguish. Watch out for the athlete's narrow kick:

Wide kick due to cross-section too large, so the water resistance is also greater than the narrow kick, so the competition in the breaststroke is a narrow kick. However, the relatively wide leg of the narrow kick to the knee pressure is larger, if your knees are not flexible enough, it is still honest to practice wide kick bar, so as not to damage the knee.

Freestyle paddling front cross, middle cross and rear cross

Right hand dew on the surface of the water is about to begin the stroke of the freestyle, at this time if the left hand and the horizontal plane angle to maintain within 30 degrees, known as the front cross. 30 degrees to 60 degrees in the middle of the crossover, greater than 60 degrees become the back cross.

Using the front cross, then the right arm into the water, the left arm is in the beginning of the next stage, at this time the whole body very stretch, with a certain speed, easy to the main body muscle mass force. At the same time, the movement rhythm is relatively slow, suitable for business enthusiasts and athletes long distance competitions. The back cross is another extreme, when the right hand enters the water, the left hand has entered the second half of the stroke. After the cross-stroke frequency is very high, need swimmers have a strong explosive force, usually only a short distance swimmer can hold.

Look at this front crossover action, isn't it very stretch?

various types of freestyle: * * two legs and six legs * *

Two legs: one stroke at a time, water and leg once. When the arm has just entered the water, play the different side leg. Many triathlon long-distance freestyle friends use two legs, because labor-saving, easy to travel long.

Six legs: The driving force produced by the kick is greater than two legs.

Different points of ABAP (breaststroke) and Java (freestyle)

Two different programming languages, of course, there are a lot of differences. Only the most notable chats are here.

1.? "Java (Freestyle) environment build (swim in) than ABAP (breaststroke) Trouble"

Jerry often talked about this topic when chatting with friends of SAP development Consultants. An ABAP novice, as long as the computer installed an SAP GUI, connected to the server can be started. And a novice Java developer, if you want to do enterprise application development, developers will usually get a long list, indicating the development environment to build the long steps required: Install the JRE and JDK, download maven, installation code version control tools, configure environment variables, configure the local database and so on. Generally use a variety of Java-based frameworks such as spring family bucket, so to improve development efficiency, but also to download these frameworks based on some kind of IDE plug-in and install. If your work includes microservices development, you'll need to install some command-line-based microservices deployment tools.

For a Java novice, it usually takes a lot of time to prepare for these environments before running through a Hello World application in a requirement-based development environment. What is more likely to happen is that in the construction process encountered a variety of errors, resulting in the construction process can not continue. Either turn to an experienced colleague in the group or find a solution based on the error message to StackOverflow.

In fact, from the whole process of ABAP development, we still need the environment to build this step, that is, the installation and operation of NetWeaver server. Just because the two differences between ABAP and Java make it easier for ABAP developers to build this topic on the environment than Java developers.

(1) In most enterprises, ABAP NetWeaver is built by full-time staff, that is, SAP basis to be responsible, do not need ABAP application developers to intervene. The ABAP developer logs on to the NetWeaver server for development on the server. The NetWeaver server is both the ABAP development environment and the ABAP application's final operating environment , so it means that once the ABAP code is developed, it can be run immediately on the server, eliminating the step of applying deployment.

Java application development work in most cases will not be done on the server side, but in the local development of various developers in the environment, to be developed after the unit test through the tools of git to push the source code to the remote code warehouse, while using tools such as continuous integration to deploy the built application to the server.

(2) One of the features of the NetWeaver server is that it provides global and unified support for ABAP development and ABAP runtime. NetWeaver comes with a code versioning tool, so ABAP development does not require git;netweaver to provide a function similar to the MAVEN repository, called Repository information System in NetWeaver, When the ABAP developer plans to write a new piece of code, it usually goes to RIS to check if there are already existing classes/functions that implement similar functions. One ABAP class is going to use the API provided by another ABAP class, which can be called directly because all classes exist in central RIS, and ABAP does not have the concept of package access in Java--a class that is accessible to any class on the server, And only provide a unique version for external access (ABAP is called the active version). Therefore, ABAP does not need to use MAVEN to manage project dependencies like Java. ABAP provides open SQL, which is automatically converted to the native SQL statement of the database provider to which the NetWeaver server is connected through the database interface provided by NetWeaver, so ABAP development does not need to install the server itself.

This shows that a lot of Java developers need to do local things, in the ABAP development has been through the NetWeaver server unified, so from the results, it appears that the Java Developer's environment is more troublesome than ABAP.

Of course, there are some solutions to the pain of this kind of environment construction in Java. For example, many internal SAP training, need to train staff to do exercises, then the instructor will be in advance to set up the environment, then a virtual machine image, distributed to the students. By loading these images with virtual machine software, students can perform on-the-go exercises directly based on the instructor-prepared environment, eliminating the time for each student to take the environment. Jerry also learned that some teams at the SAP Chengdu Institute are also trying to use Docker to solve similar problems.

From the discussion above, it is true that the environment of Java is more troublesome than ABAP, so does freestyle swim better than breaststroke? Jerry's personal opinion: Yes! There are four reasons.

(1) Breaststroke when the whole person prone to water, both hands and feet at any time are left and right symmetrical movement. And the freestyle of the hands and feet for non-symmetrical movement, in the beginning of the first scholar has not formed a body instinct, beginning to draw the hand should also consider which side of the leg to play.

(2) When the breaststroke swim in, the kick water after the end can glide in the water for two seconds, the body to get full rest. While freestyle travel, hands and feet are constantly moving, for beginners it is difficult to find like the breaststroke can glide to rest the feeling.

(3) Freestyle compared to breaststroke, the body in the process of moving more than a swivel action.

When Jerry first learned to freestyle, he thought it was like the breaststroke, and the body was always prone to the water. Later from the instructor and online video learned that the process must have a swivel action, as shown.

(4) The ventilation of freestyle is more troublesome than breaststroke.

This is so unforgettable, I need to say it alone.

2. "ABAP (breaststroke) debugging (ventilation) is simpler than Java (freestyle)

It's almost impossible to do software development (swimming) without debugging (breathing).

As already mentioned, for ABAP, because the NetWeaver server is both an ABAP development environment and an ABAP application execution environment. So at any time, you need to debug, directly on the source code to set a breakpoint, launch the application, the breakpoint is triggered.

Java server-side debugging is not so easy. You first need to add the debug parameter to the remote server's JVM to start the server:

-xdebug-xnoagent-djava.compiler=none-xrunjdwp:transport=dt_socket,server=y,suspend=n,address=<debug port>

Then configure the local IDE, such as Eclipse, via JDWP (Java debug Wire Protocol) to connect to the remote server open listening port, the local debugging process and the remote server process through the socket to achieve data transmission.

Breaststroke ventilation, because the whole body is always prone to the posture, so the movement is very natural, and people on the land of the move almost no difference, from the water lifted up the head can be ventilated. Refer to the early breathing and the late breathing section of the previous article.

The freestyle, Jerry in order to learn that it is full of water. As an animal on land, when people breathe in water, it is an instinct to raise their heads to keep their mouths away from the water. However, to learn the ventilation of freestyle, it is necessary to overcome this instinct, the correct way is to move on the head of the advance, the body's turnover in the head formed in the air-filled small groove ventilation. Foreign teaching video is called Breathe into the air pocket. Beginners to practice this action, either because the fear can not change the air head raised too high into the breaststroke ventilation, or turn a mouth, a big mouth drink in.

Did you see the air pocket in the clear?

Standard posture for ventilation from air bags:

3.? "Which of the ABAP (breaststroke) and Java (Freestyle) is easier to get started with?"

ABAP and Java, breaststroke and freestyle, who is easier to learn than who?

Say swimming first. Domestic swimming amateur training courses are mostly 10 or 12 classes in the crash class, in this class limit, but also only breaststroke this is the most easy to use the swimming posture to choose from. The other three have higher physical and water requirements than breaststroke. and breaststroke learning, tread water will naturally, tread water skills more practical.

Why do you use freestyle as an introductory stroke abroad? Because the foreign swimming teaching mostly with long training. See the answers to the great God of Dreams:

So, Jerry argues, the exact answer to this topic should be: take the 10 class crash course for example, for most people, breaststroke is easier to learn than freestyle.

Which language is more easy to get started with ABAP and Java? If you do not consider the difficulty of building a NetWeaver server locally, then the basic grammatical difficulty of learning the two languages is similar. However, learning the ABAP standard tutorial BC401 and so on does not mean that you have the ability to develop SAP applications with ABAP. For example, to develop CRM application, but also to learn CR100 standard course, master the use of SAP CRM development framework. If you want to develop an OData service with ABAP, you have to learn the standard course GW100 to learn how to do ABAP development on SAP Gateway, and so on.

Similarly, printing out Hello World in Eclipse is just the first step in XXX's March. As mentioned earlier, depending on your specific job content, you will also need to learn about the various Java frameworks and the use of library files.

From this perspective, ABAP is almost as difficult as getting started with Java. The ability to write simple gadgets in these two languages is like being able to swim twenty or thirty of meters in a breaststroke and freestyle posture. After the ABAP and Java developers get started, the next long journey is how to hone in on what you're learning to achieve the customer's needs in real-world scenarios. And every true swimmer must have the following wish in mind: my legs are like Sun Yang.

Programming and swimming, the road long its repair far, let us up and down and quest.

Read more

    • Jerry's ABAP, Java and JavaScript stew

    • Jerry's 2017, programming and swimming

    • What ABAP developers should learn in the future

    • Jerry's ABAP original technical article Collection

To get more original Jerry's technical articles, please follow the public number "Wang Zixi" or scan the QR code below:

ABAP vs Java, breaststroke vs Freestyle

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.