C#

I'm glad Richard has fixed that for you, but would you mind a suggestion?

Your code lacks what we call "validation" - which means that you don't check what the user types at all. As a result, he can enter anything he likes for "Age" and you will accept it - even if it isn't a number.
Instead of "trusting the user to get it right" it's a good idea to validate the input and check that what he entered is legit, or you will get problems later on. (It doesn't really matter for this code, but if you start to expand it then it will cause you grief).
So let's check that his Age is actually a number:

int.TryParse is a standard method which takes two parameters: the input string and a place to put the result (don't worry about the word out in there - you'll come to that later), then returns a boolean value (true or false) which says "It converted OK" (true) or "That wasn't an integer he entered" (false). We put an exclamation mark in front of that to "reverse the decision" so that true becomes false and vice versa, so the loop goes round until we do get an integer.

Now, you can do maths with his input:

Console.WriteLine($"{name}, is {age} years of age and he works as a {occupation}.");
Console.WriteLine($"Next year, {name} will be {age + 1} years old.");

because you have validated his input and are sure it's a "real number".

I'm starting to detect a strong whiff of "homework" here with these two and your QA question: and the idea is that you think about the question and what you have been taught, and post your ideas; not ours. Part of the idea of homework is to get you thinking in a particular way rather than just parroting what you have been told.

Copy'n'paste from someone else doesn't teach you anything - you don't even remember what it was you copied in any detail. So if questions about this material come up in your exams you can't answer them; and future material which assumes you understand this stuff becomes a lot harder for you to work with.

So try it: read the document, review your lectures. And think about what it means then try to answer it yourself. Just getting our thoughts only helps you briefly in the short term - it damages your chances in the longer term, honest!

Can you please explain the bolded part?
When a system needs to scale, very different types of problems need to be solved. Let us first consider scaling with respect to size. If more users or resources need to be supported, we are often confronted with the limitations of centralized services, data, and algorithms (see Fig. 1-3). For example, many services are centralized in the sense that they are implemented by means of only a single server running on a specific machine in the distributed system. The problem with this scheme is obvious: the server can become a bottleneck as the number of users and applications grows. Even if we have virtually unlimited processing and storage capacity, communication with that server will eventually prohibit further growth.

In other words, hardware is always going to be the bottleneck. You can't change a user's connectivity, memory, storage, screen resolution, etc.

All you can do is make your code as efficient as possible, publish minimum acceoptable hardware, and let the user decide if their hardware is capable of runnign your app.

In terms of servers, communication performance is a) how many connections a given server can handle, b) how many hops exist between the server and the user, and finally, c) the user's hardware/software configuration. You have no control over any of that.

".45 ACP - because shooting twice is just silly" - JSOP, 2010-----You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010-----When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

I have this property (in a static class) - the assembly is using ,Net 4.62, and exists ina solution with other assemblies that all use 4.62:

public static MyObject MyObj { get; private set; }

I'm getting a warning saying that the property isn't CLS-compliant. What makes it not CLS-compliant? (I tried removing the private accessor from the set, and it didn't have any affect.)

".45 ACP - because shooting twice is just silly" - JSOP, 2010-----You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010-----When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

MyObject is implemented in another assembly within the same solution (and that class is itself CLS compliant), and that assembly references two other assemblies in the same solution.

I supressed the warning in the project properties, but I don't like doing that.

".45 ACP - because shooting twice is just silly" - JSOP, 2010-----You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010-----When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

I'm refactoring some code I got off GitHub and the assemblyinfo.cs file had the clscompliant setting, like so:

[assembly: CLSCompliant(true)]

".45 ACP - because shooting twice is just silly" - JSOP, 2010-----You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010-----When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

The type 'Globals' in TestLib2\Class1.cs conflicts with the imported type 'Globals' in TestLib1.

I thought it was logical to be able to extend existing namespaces and their partial classes in assemblies that reference the assembly that contains those namespaces/classes.

I seem to remember being able to do this a few years ago, but maybe I'm remembering wrong???

".45 ACP - because shooting twice is just silly" - JSOP, 2010-----You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010-----When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

No, you can't split a class across two assemblies because they can't be compiled together: one assembly will contain a class which the compiler considers complete, and the second will contain a different class with the same name that it also considers complete. Compilation "bakes in" the metadata that the framework uses and the class is no longer partial.

".45 ACP - because shooting twice is just silly" - JSOP, 2010-----You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010-----When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

yeah - an abstract static class would be a huge winner in my book. But hey, at least we get new icons in C#8.

".45 ACP - because shooting twice is just silly" - JSOP, 2010-----You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010-----When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

I ask you very big favor: I would like to create two simple programs in C # (but it's also good in VB.NET) that communicate ASINCRONOUS among themselves.

The first program (client) must have only one button and two textboxes. Once I click on the button it must send the string present in the first textbox to the server and in the second textbox the response of the server must appear.

The second program (server) must have only one textbox, and once it receives the string from the client it must send it back to it.

The important thing is that the communication must take place via an asynchronous socket (tcp), it is also fine using an additional library, but above all clients and servers must be written with as little code as possible, to be able to use them as a starting point or as a starting point for other projects .

Ok
1. Learn the basics of programming in one language
2. Learn the basics of socket programming in that language
3. Learn the basics of UI programming in that language.
4. Put 1-3 together to create application one.
5. Put 1-3 together to create application two.