What are the Benefits of Learning .NET / C# and Where to Start Learning it


 What are the Benefits of Learning .NET / C# and Where to Start Learning it

In the today's world of internet, there is nothing impossible. Tens of websites offer online courses, mentoring and video tutorials that will help you to learn to program. The one the most strong and ever complete is probably Microsoft course, also available online.

What if you are the complete beginner, afraid of complicated theory, which may easily make you give up fast? We would like to make a small review of the recently launched online tutorial to learn programming in an easy and fun way.

If you are just starting to study C# programming language which is a basis to master .NET technology, one question doubtless will interest you. Why one should choose C# (.Net) and what is it capable of? What opportunities does it open for you? And actually where to start?

Here we will briefly describe what you can do using .NET. For sure, we are not aware of all the possibilities, so you are welcome to add in comments.

Microsoft has invested tremendous efforts in the development of .NET, considering it is a flagship technology. So, let's review which solutions can you create using it.

Windows Applications and Software 
 .NET has become the number one technology for Windows software development and for many years has no analogs in terms of speed and usability of development. Using .NET, you can write WinForm (GUI) applications, console applications, create reusable libraries, Windows services, graphics applications (WPF), and much more.

Web Apps
The technology that allows you to develop web solutions in .NET is called ASP.NET. ASP.NET is tailored to create web applications with rich functionality.

Games

.NET appeared to be very effective to write applications with heavy graphics. It allows you to develop games using intensive 3D graphics, not only for Windows but also for the Xbox 360 game console. The main technology that you are going to use for creating games will be Unity game engine. This is a very promising field of software development.
Mobile Applications

The version of the .NET Framework for mobile devices running on Windows Mobile is called .NET Compact Framework. Here, you won't see many of the features of the usual framework but there are special sets of libraries for mobile devices.

You can also consider using Xamarin framework and write cross-platform mobile applications using C#.

Corporate Applications

Here belong large software system platforms designed to operate in a corporate environment, such as web services, enterprise services, etc.

Programming of microcontrollers
The number of microcontrollers is tens of times larger than conventional processors. They are everywhere: in cellular and ordinary phones, televisions, monitors, microwave ovens, air conditioners, washing machines, refrigerators, MP3-players, cars, cameras ... And all of them need to be programmed. For a long time, the programming of microcontrollers was the prerogative of C and Assembler. Later it became possible to program it using some high-level languages. C# is one of them.

Programming at the system level
We have already written that using C# you can program microcontrollers. Moreover, it is possible to write an entire operating system on it! There is an operating system on managed code, it is experimental and called Microsoft Singularity.

Another question is where to start learning C# if you are a complete beginner?
In the today's world of internet, there is nothing impossible. Tens of websites offer online courses, mentoring and video tutorials that will help you to learn to program. The one the most strong and ever complete is probably Microsoft course, also available online.

What if you are the complete beginner, afraid of complicated theory, which may easily make you give up fast? We would like to make a small review of the recently launched online tutorial to learn programming in an easy and fun way.

Codeasy.net - is the interactive course for learning to program online. It is designed for absolute beginners and does not require any prior knowledge to start. It is really fun to learn from it just by reading an adventure story about fighting machines in the future. While reading you gonna will meet challenges that require real coding to solve. The final goal is to become a programmer to save the world!

Codeasy is not about immediately getting a job, it is not about going into complex details of every subject, it is all about helping people to get into coding in the easiest possible way.

You are probably wondering about the details. Let's see some features of Codeasy.
  • Basic C# course in form of adventure story mixed with the explanation of programming  principles – complete 12 chapters. 
  • Each chapter covers some topic and includes tasks to solve by coding.
  • Solving tasks (writing C# code and running it) is available after registrationdirectly in the online compiler at Codeasy. The progress is shown in each chapter.Without signup the user can still ready whole story.
  • Codeasy checks the code written by the user immediately and outputs the result. 
  • If the user can't solve the task he can use the hint for each task.
  • In case of difficulty, the user can ask Mentors in the Slack chat.
  • When the task is solved, the user can compare and see how the senior developer solved it.
  • Leaderboard – solving the tasks the user gets points and gets to the chart of leaders.
While solving the tasks user earn "viruses" – internal currency at Codeasy to spend on various features like open the next chapter, etc. The most import thing is the basic course is free!

It's rather a good way to start learning, taste programming and decide if it is for you ;-) if you still hesitate.

Perhaps, that's all. If there is anything else to add or correct, please, leave comments.

Prepared by Codeasy.net team.

How to Send SMS in C# Using GSM Modem/Dongle


How to Send SMS in C# Using GSM Modem/Dongle
This is a very simple method to send SMS via GSM Modem so without much explanations let's get into it.

Thing's you'll need :
  • GSM Modem with a SIM
  • Libraries :
    GSMCommServer.dll
    GSMCommShared.dll
    GSMCommunication.dll
    PDUConverter.dll
If you've installed the Modem software you'll be able find all the libraries needed. Just go to add Reference and add the mentioned libraries (without them this program won't work).

How to Send SMS in C# Using GSM Modem/Dongle

Now go to your form and add control as given below
  • 4 Labels :
    Label1 - Message Body :
    Label2 - Phone Number :
    Label3 - Port :
    Label4 - Modem Not Connected
  • 2 Textboxes :
    Textbox1 - To Phone Number
    Textbox2 - To Message Body
  • 1 ComboBox :
    Combobox1 - To Port :
  • 2 Buttons
    Button1 - Send
    Button2 - Connect
 Arrange your form like this :

How to Send SMS in C# Using GSM Modem/Dongle

 Now let's go to the coding

Namespaces :
 using GsmComm.GsmCommunication;  
 using GsmComm.PduConverter;  
 using GsmComm.Server;  

Add this above Public Form1 :

 private GsmCommMain comm;  

Form1_Load :
 Combobox1.Items.Add("COM1");  
 Combobox1.Items.Add("COM2");  
 Combobox1.Items.Add("COM3");  
 Combobox1.Items.Add("COM4");  
 Combobox1.Items.Add("COM5");  

Button2_Click :
 if (Combobox1.Text == "")  
       {  
         MessageBox.Show("Invalid Port Name");  
         return;  
       }  
       comm = new GsmCommMain(Combobox1.Text, 9600, 150);  
       Cursor.Current = Cursors.Default;  
       bool retry;  
       do  
       {  
         retry = false;  
         try  
         {  
           Cursor.Current = Cursors.WaitCursor;  
           comm.Open();  
           MessageBox.Show("Modem Connected Sucessfully");  
           Button2.Enabled = false;  
           label4.Text = "Modem is connected";  
         }  
         catch (Exception)  
         {  
           Cursor.Current = Cursors.Default;  
           if (MessageBox.Show(this, "GSM Modem is not available", "Check",  
             MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning) == DialogResult.Retry)  
             retry = true;  
           else  
           { return; }  
         }  
       }  
       while (retry);  

Button1_Click :
 try  
       {  
         Cursor.Current = Cursors.WaitCursor;  
         SmsSubmitPdu pdu;  
           Cursor.Current = Cursors.Default;  
           byte dcs = (byte)DataCodingScheme.GeneralCoding.Alpha7BitDefault;  
           pdu = new SmsSubmitPdu(Textbox2.Text, Textbox1.Text);  
           int times = 1;  
           for (int i = 0; i < times; i++)  
           {  
             comm.SendMessage(pdu);  
           }  
         MessageBox.Show("Message Sent Succesfully","Success",MessageBoxButtons.OK,MessageBoxIcon.Information);  
       }  
       catch(Exception ex)  
       {  
         MessageBox.Show(ex.Message.ToString());  
       }  

That's all, Do share your comments.


Credits : Rotich