Top 10 Reasons to Learn C# 2020 - 2024

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hi and welcome in this video I'm going to break down my top 10 reasons to learn c c is a programming language that was developed by Microsoft within its NET Framework initiative and was later approved as a standard by ecma C is a general purpose multiparadigm programming language encompassing strong typing lexically scoped imperative declarative functional generic object oriented and component oriented programming disciplines the C development team was led by Anders hburg and C was released in 2002 Anders hburg is a prominent Danish software engineer who co-designed several popular and commercially successful programming languages and development tools he was the original author of Turbo Pascal and the Chief Architect of delphy at the time of creating this video Anders halsberg works for m Microsoft as the lead architect of c and core developer on typescript the code name for C was originally cool which stood for C style objectoriented language C is an evolution of the C style languages other languages like Java are also part of the evolution from [Music] C so here are my reasons to learn C and they are no particular order so at number one C is easy to learn C is a high level programming language with many complex tasks abstracted away it is time safe which means strict rules are enforced through compile time checks this mitigates the risk of runtime errors you're able to be up and running and coding fairly quickly you can download sophisticated code editors like Visual Studio 2019 Community Edition and visual studio code free of charge you can also download and install the Net Framework runtime or the net core runtime for free and have access to all the powerful features of these runtimes which include an extensive and evolving library of Base classes for Clarity on the differences between the Net Framework runtime and the net core runtime I've included a link below in the description to a video provided by this channel that contains content on this topic I've also included a link below in the description to a video guide provided by this channel that will guide you through the installation of Visual Studio 2019 Community Edition an advantage of learning c as a first language is that it can enable you to understand low-level programming without the complexity of for example C or C++ when you are ready you can explore more complex lower level features that are included in the C language there are many great free tutorials online that can teach you the basics of C as well as the more complex aspects of the language this channel provides a free course on the basics of C please see a link to this course Below in the description a c Advance course will be provided and released by this channel in 2020 so at number two c is part of the net ecosystem and is the most popular language within the net ecosystem the net core and Net Framework run times both provide access to a rich library of functional in its Base Class libraries or bcls the common language runtime abstracts away a lot of repetitive tasks like memory management and exception handling allowing the developer to focus on application logic The NET Framework runtime allows the net developer to create feature Rich applications for Windows devices with the introduction of the net core runtime in 2016 C can be compiled to run on multiple operating systems including Windows Lin and Mac OS the C runtime is open-source software which facilitates rapid evolution of the runtime and greater efficiency and bug fix releases C is adaptable and can run within complex distributed systems doet core can run within a darker container meaning C code can be compiled to run as a micr service darker containers provide a lightweight way to isolate your application from the rest of the host system sharing just the kernel and using resources given to your application microservice architecture is a software architecture design pattern in which complex applications are composed of small independent processors communicating with each other using language agnostic apis this is a highly scalable architecture and can increase the scalability and flexibility of a system for more information on net core and darker please view the web page at the following URL so C code can be compiled to run as a Standalone application for multiple types of platforms or as part of complex distributed systems that utilize the microservice architecture design pattern and at number three C is a diverse programming language C is a very versatile language the developer has a wide array of project templates from which code for a particular type of application is autogenerated giving the developer a code infrastructure that can be extended with custom code for a particular type of application for example web applications choosing to Leverage The MVC framework can hugely simplify the process of creating web applications for C developers C developers can also create restful web apis that do not contain a user interface Blazer Blazer is a new framework that will allow cop developers to implement Dynamic client side interaction code that runs within the users browser this means C developers will no longer have to solely depend on writing JavaScript code for this purpose the name Blazer is derived from browser and Razer the Razer technology will be familiar to web developers who frequently used the net MVC framework for more information on Razer please view the Microsoft web page at this location laser is a free and open source web framework that enables developers to create web apps using just C and H HTML it is being developed by Microsoft at the time of creating this video a server side version of Blazer has been released with net core 3 however only a preview version of the client side framework has been made available mono and web assembly enable C code to run within the user's browser mono is an implementation of the net runtime and is similar to net core and that it is based on The NET Framework and can be ported to certain other non Windows platforms web assembly was released in March 2017 and is not primarily intended to be written by hand it is designed as a portable Target for compilation of high level languages enabling deployment on the web for client and server applications so Blazer framework is good news for C developers where C can be used to create for example single page web applications that contain Dynamic client interaction functionality rather than depend on JavaScript based Frameworks like angular or react for this purpose for more information on Blazer please check out the Microsoft web page at this [Music] location desktop applications win forms win forms can be used to create strictly Windows desktop applications Windows forms is a smart client technology that runs on The NET Framework which graphical user interfaces can be created using this technology uwp or universal windows platform can be used to create Rich user interfaces whereby the developer can write one set of code for multiple windows devices that can run on the Windows 10 operating system note that WP apps do not run on earlier versions of Windows distributed applications C code can be compiled to run with an ad DOA container as a micro service this means code written in C can easily be integrated into highly scalable distributed systems database applications your C code can leverage powerful object relational mapping Technologies like Entity framework core to simplify working with relational databases using strongly typed net objects mobile applications zamarin the advantage of using zamarin is that the C developer can stay within the net e EOS system and use C to create applications that can run on both Android and iOS platforms the developer does not need to learn Java to create applications for Android and does not need to learn Objective C or Swift to create applications for iOS platforms zamarin is built on top of mono mono is a portable crossplatform implementation of the net runtime for detailed information about Mono please view the website at this URL although mono does not contain all the Base Class libraries available in The NET Framework the net standard is available the net standard is a formal specification of net apis that are intended to be available across all net implementations for more details on theet standard please view the following Microsoft web page games Unity is a cross-platform game engine developed by unity Technologies C is used as the scripting language for creating games in unity a c developer can create both 2D and 3D crossplatform games using C through unity's platform an individual indd games developer is able to create and monetize games cloud-based Services the benefits of Cloud Computing Services include the ability to scale elastically in Cloud that means delivering the right amount of it resources for example more or less computing power storage bandwidth right when you need it and for the right geographic location C can be leveraged to write many diverse cloud-based services like web apis mobile services iot application services and many more Azure is a cloud computing service created by Microsoft for building testing deploying and managing applications and services through Microsoft managed data centers for more information on Microsoft Azure please navigate to the website at this URL net machine learning and AI I build intelligent. net apps in C with features like emotion and sentiment detection vision and speech recognition language understanding knowledge and search C developers can leverage ml.net which is a free crossplatform open- source machine learning framework made specifically for net developers the C developer can leverage this technology to integrate custom machine learning models into the Developers applications for more information on ml.net please check out content at this URL iot applications The Internet of Things or iot is a system of interrelated Computing devices mechanical and digital machines objects animals or people that are provided with unique identifiers uids and the ability to transfer data over a network without requiring humano human or human to computer interaction you can embed code written in C within real world devices for example security cameras lights thermostats and even your toaster uwp or universal windows platform extends the net platform to enable development for any Windows device including iot devices running Windows 10 iot core Windows 10 iot core is a strip down version of the Windows 10 operating system that is available free of charge it is tailored to run on device with less powerful computational Hardware than say for example a typical modern desktop or laptop a bank might use this OS for an ATM a retailer might use it for a point of sale system and a manufacturer might use it for a simple prototype device for more information on Windows 10 iot core check out the content at this URL a huge Advantage provided by the Windows 10 iot core operating system is it provides strong security features that can be leveraged on smaller resource constrained classes of iot devices Azure iot Hub enables highly secure two-way communication between your iot application and the devices it manages aszure iot Hub is used to connect manage and monitor billions of iot devices it securely connects the devices to develop iot applications stream Telemetry to Azure iot hub for real time updates on the health of your iot devices for more detailed information on Azure iot Hub please navigate to the following URL number four C is a modern language with advanced modern features while also maintaining traditional features for example a c developer can use a typical array with a fixed length to store values of a specified data type in a traditional way more modern features like link and Lambda Expressions provide an elegant Syntax for developers to perform data queries against the array link or language integrated query provides a suite of extension methods whereby Lambda Expressions can be passed as arguments to certain extension methods in order to perform data querying functionality a c developer can Implement a traditional for Loop do Loop or while loop to Traverse the data in an array but the developer is also able to use the more modern for reach Syntax for this purpose so the developer has the option of using traditional code syntax as well as modern language enhancements and at number five C is an evolving language C version 2 included support for generics very basically generics solves the problem of having to use Loosely typed objects when creating reusable code generics enables reusable code to retain type safety some examp examples of new features included in C version 3 are as follows Anonymous types allows data types to encapsulate a set of properties into a single object without having to First explicitly Define a type the use of Lambda Expressions gives the developer shorthand way of writing a method in the same place that the method will be consumed link or language integrated query is a uniform query syntax in C and vb.net to retrieve data from different sources and formats link queries return results as objects it enables you to use the objectoriented approach on the result set and not worry about transforming different formats of results into objects extension methods enable the developer to add methods to existing types without creating a new derived type recompiling or otherwise modifying the original type the most common extension methods are the link standard query operators that add query functionality to the existing system. collections. inumerable and system. collections. generic. inumerable types for example the array data type implements the I inumerable interface which means the extension methods provided by link can be leveraged in C code on arrays the generic list dat type implements the generic counterpart to the I numerable interface and the extension methods provided in the link name space can be leveraged on generic list in C Vision 3 auto implemented properties were introduced which makes code relating to properties more concise and readable in C version 4 the dynamic keyword was introduced the dynamic keyword gives the developer the ability to override the compiler on compile time typing by using the dynamic keyword the developer can create constructs similar to dynamically typed languages like JavaScript in C version 5 the await a sync code pattern was introduced which simplified asynchronous programming in c this made writing code to run potentially time consuming tasks on background threads easier for the developer to implement before that the developer was stuck with using the asynchronous programming model APM pattern which was not as easy to use in C version 6 string interpolation was included which could be used to simplify string formatting the name method was also introduced which could be applied for example to string references to parameter names and code that could potentially change during the development of an application the inclusion of topples in C version 7 meant that multiple variables could be grouped into a single value for example this can be applied to return values of methods these are just a few examples to illustrate some of the incremental language innovations that have been done to the C language over time and we as developers can look forward to more of these types of Innovations in the future and at number six C is a fully object-oriented programming language C enables the development of flexible and extensible code traditional object-oriented techniques based on the principles of encapsulation inheritance polymorphism and abstraction can be used to create reusable extensible code that is designed to be easy to maintain for for further Clarity on the object-oriented principles of encapsulation inheritance polymorphism and abstraction I've included a link below in the description to a playlist of videos provided by this channel on these topics using object-oriented programming as the foundational methodology the C developer is able to use design patterns that adhere to solid principles when designing and implementing code a design pattern can solve many problems by providing a framework for building an [Music] application solid design is one of the core principles in object-oriented design solid is an acronym s stands for single responsibility principle a class should have one and only one responsibility o stands for open close principle open for extension closed for modification L stands for list covs substitution principle functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it I stands for interface segregation principle a client should not be forced to use an interface if it does not need it d stands for dependency inversion principle which states that highlevel modules should not depend on low-level modules both should depend on abstractions and at number seven C is syntactically similar to C and why is this significant a good knowledge of C on its own means you will be empowered to create a large number of diverse types of applications mobile web desktop Games Etc but it can make other powerful languages that are syntactically similar to C like for example C++ Java JavaScript or objective c a lot easier to learn a common example is in web development it is hugely advantageous to have a good knowledge of JavaScript so the C developer may wish to implement C code on the server side and leverage JavaScript to implement Dynamic user interactions on the client side great JavaScript based Frameworks like angular react and view can be leveraged on the client side for this purpose jQuery is also a powerful JavaScript based technology for the creation of client side functionality next item was mentioned earlier but honor on its own stands as a great reason to learn C my number eight reason for learning C is game development using C and the Unity gaming engine you can download the Unity gaming engine free of charge and with your knowledge of c and the unity engine itself create sophisticated 2D and 3D games that can be distributed and monetized this should give those with a creative spark a good incentive to learn C there are many excellent free tutorials online that can guide you on how to create games using C and unity my number nine reason to learn C is excellent support from both Microsoft and the net Community Microsoft makes available a huge library of documents that are easy to access and provide detailed information about the C language as well as the net ecosystem check out the Microsoft docs at this location the stack Overflow website is frequently visited by members of the c community who will readily address your C related issues incidentally the stack Overflow website itself was written in C check out the stack Overflow website at this location the future looks bright for C having the full support of Microsoft and a large and growing c community and lastly at number 10 C is an in demand skill C is consistently considered one of the most in demand programming languages having a good knowledge of C can lead to a career with high paying prospects C can also give you the ability to start a business without requiring much startup Capital so my top 10 reasons for learning C are at number one C is easy to learn at number two c is part of the net ecosystem and is the most popular language within the net ecosystem at number number three C is a diverse programming language at number four C is a modern language with advanced modern features while also maintaining traditional features at number five C is an evolving language at number six C is a fully objectoriented programming language at number 7 C is syntactically similar to C at number eight gaming development using C and the Unity gaming engine at number nine excellent support from both Microsoft and theet community at number 10 C is an in demand skill please let me know what your favorite programming languages are below in the comments section if you have enjoyed this video please consider subscribing and clicking the thumbs up icon it will be greatly appreciated all links mentioned in this video can be be found Below in the description thank you and take [Music] [Music] care [Music] hi and welcome in this video I'll break down my top 10 reasons to learn C in 2021 if you haven't yet subscribed please consider subscribing and please ring the bell so that you'll be notified of future releases from this Channel at the beginning of 2020 I created a video where I broke down my top 10 reasons to learn C in 2020 a link to this video is available Below in the description many of my reasons to learn C in 2021 will intersect with my reasons to learn C in 2020 but in this video I'll present different justifications for my reasons as well as present some additional reasons that stand out to me to learn C in 2021 I've made all urls mentioned in this video available Below in the description these reasons are in no particular order number one the release of Net 5 before the release of Net 5 net developers had a choice to build their applications on three Net runtimes namely NET Framework mono and net core NET Framework is the original implementation ofet it supports running websites Services desktop apps and more on Windows platforms the first first version of NET Framework was released on the 13th of February 2002 bringing managed code to Windows NT 4.0 98 2000 me and XP since the first version Microsoft has released nine more upgrades for NET Framework seven of which have been released along with a new version of Visual Studio NET Framework requires a monolithic installation of the framework that can only run on Windows platforms so initially in order for a net application to be deployed to a Target computer that Target computer needed to have the entire NET Framework installed on it and the target computer needed to be running an appropriate version of the Windows operating system with the release of mono on June the 30th 2004 this meant that net applications could run on Windows Linux and Mac platforms this was the first crossplatform release of net mono is a crossplatform open source.net framework net core was released on June the 27th 2016 net core is a free open-source managed computer software framework for Windows Linux and Mac OS operating systems it is a crossplatform successor to Net Framework net core could be described as an agile modular cross-platform better performing version of net when compared to its predecessor NET Framework the installation of net core is not monolithic like NET Framework and is not restricted to running on Windows platforms When developing apps on net core only the base class dependencies that are used by your application need to be shipped with your applications and your applications running on net core can run on Windows Linux and Mac platforms due to multiple versions ofet in existence the net standard was introduced net standard was introduced to solve the code sharing problem for net developers across all platforms by bringing all the apis that you expect across the environments that you need desktop applications mobile apps games and cloud services net standard is a set of apis that all net platforms have to implement this unifies the net platforms and prevents future fragmentation the next logical step was to UNIF net into one framework this has now been achieved in the form of the latest release of net net 5 the official release of Net 5 was on November the 10th 2020 fundamentally the significance of Net 5 is that there will be just one net going forward and you will be able to use it to Target Windows Linux Mac OS iOS Android TV watch OS and web assembly and more it is more like net core than NET Framework and that it is open source is modular and is crossplatform this is only a brief overview of Net 5 for more details on the significance of Net 5 please view this video that I created earlier this year on Net 5 and please read this blog posted by Richard Lander which can be found at this location C is the most popular dotnet language for net developers it seems like a perfect opportunity to learn C to take advantage of this new unified flexible and Incredibly powerful net platform the intention of Microsoft is to release a new version of net once a year every [Music] November number two c is a powerful and flexible language that is relatively easy to learn C is a fully objectoriented c-based programming language C is a general purpose multipar Paradigm programming language encompassing static typing strong typing lexically scoped imperative declarative functional generic objectoriented and component oriented programming disciplines Anders hburg a prominent Danish software engineer is the chief designer of the C programming language he is also the code designer of the typescript programming language he was the original author of Turbo Pascal and the Chief Architect of delphy if you are familiar with other popular c-based object-oriented programming languages like C++ Java or JavaScript picking up C should be fairly easy for you I would also recommend c as your first programming language to someone who is new to computer programming it is easy to get up and coding fairly quickly due to the tools provided by Microsoft for free you can download the net 5 SDK free of charge at this location as well as the visual studio IDE Community Edition free of charge from this location there are many free C courses that can help you get started including my two free courses that you can access on this channel you can start with my C for beginners course and then progress to my Advanced C course the beginner's course will help you get familiarized with basic C code and programming fundamentals like f- statements Loops arrays exception handling object oriented principles file handling Etc the advanced course covers topics that are more abstract in nature I've tried to keep the code examples and explanations simple in the advanced course to help you understand the more abstract Concepts in C like for example delegates generics Lambda Expressions asynchronous programming link Anonymous types Etc a link to a playlist containing tutorials for the C for beginners course and a link to a playlist containing tutorials for the advanced C course are available below in the description I will also be uploading a lot more content related to C in the future number three asp.net web Technologies including MVC and Blazer Blazer is a feature of asp.net for building interactive web uis Blazer gives you realnet running in the browser on web assembly so as a net developer you no longer need JavaScript Frameworks like react or angular to build your client side interactive uis you able to leverage C to implement both client side interactive uis as well as service side logic this allows the net developer to use C to implement both client side and service side code the net developer does not need to venture out of the net sphere and makes JavaScript on the client side with C on the server side asp.net MVC inherently ensures a separation of concerns through the asp . net implementation of the model view controller MVC design pattern the razor technology can be used to interpers HTML with C code to create front-end views C classes can be used to implement data models and Implement business rules controllers are written as C classes for the purpose of ushering data between models and Views a separation of concerns means different teams working on an application can focus on their area of concern front-end Specialists can focus on the views created using the Razer technology business rules Specialists can focus on the code for controllers and models loose coupling of concerns facilitated by the MVC design pattern means aspects of a project can be created in parallel to one another resulting in Greater efficiency in the production of the net project the MVC design pattern facilitates easy a unit testing the purpose of each component is inherently clear through the use of the MVC design pattern to someone who understands the MVC design pattern this makes the maintenance of existing code as well as the addition of code to enhance existing functionality easier to implement let's navigate to this URL and go through some important points about asp.net modern scalable web apps with thought net and C use net and C to create websites based on HTML 5 CSS and JavaScript that are secure fast and can scale to millions of users interactive web UI with C Blazer is a feature of asp.net for building interactive web uis using C instead of JavaScript bler gives you real net running in the browser on web assembly dynamically render HTML with Razer Razer provides a simple clean and lightweight way to create Dynamic web content using HTML and C with Razer you can use any HTML or C feature you get great editor support for both including Intellis sense which provides autoc completion realtime type and syntax checking and more seamless integration with your data the popular Entity framework EF data access Library lets you interact with databases using strongly typed objects most popular databases are supported including SQL light SQL Server MySQL postgress db2 and more as well as non-relational stores such as mongodb redus and Azure Cosmos DB built-in support for JavaScript UI Frameworks asp.net integrates seamlessly with popular JavaScript Frameworks get started quickly with asp.net and angular or react using preconfigured templates model view controller MVC MVC is a design pattern used to decouple user interface view data model and application logic controller asp.net has built and support for the MVC pattern making it easy to follow this design pattern your platform your tools asp.net is crossplatform allowing you to develop and deploy web apps on your OS the visual studio product family provides a great net development experience on Windows Linux and Mac OS if you prefer to use a different editor there are net command line tools and plugins for many popular editors free hosting on Azure get 10 asp.net websites for free with Microsoft Azure you can also deploy to any major Cloud platform your own Linux or Windows servers or one of many hosting providers click any of the buttons associated with these exerpts to learn more another recommended web page to read is this one about signal R bringing your asp.net apps to life with signal R today's modern apps are expected to deliver upto-date information without hitting a refresh button add real-time functionality to your dashboards Maps games and more what is realtime functionality it's the ability to have your service side code push content to Connected clients as it happens in real time pretty powerful stuff number four iot Internet of Things The Internet of Things describes the network of physical objects things that are embedded with sensors software and other Technologies for the purpose of connecting and exchanging data with other devices and systems over the Internet so what sort of devices can be Internet of Things devices smart bulbs smart fridges smart light switches narrow band versus wideband Hardware security cameras actuators computer devices voice command speakers temperature pressure or humidity sensors drones and phones Etc the term industrial Internet of Things is often encountered in the manufacturing Industries referring to the industrial subset of iot I iot potential benefits of the industrial Internet of Things include improved productivity analytics and the transformation of the workplace on the service side through Microsoft Azure Cloud you can leverage iot services for example iot Central connects your iot devices to the cloud iot Hub enables highly secure and reliable communication between your iot applications and the devices it manages iot Edge a fully managed service built on Azure iot Hub it allows data processing and Analysis nearest the iot devices Edge Computing is when you offload compute from the cloud to local computer hardware such as iot devices phones or home computers Windows 10 iot core Services a cloud services subscription that provides the essential Services needed to commercialize a device on Windows iot core it provides long-term OS support and services to manage device updates and assesses device health so let's navigate to this URL and see what is possible for C developers in The Internet of Things realmnet iot libraries net can be used to build iot systems it's crossplatform and supports hundreds of sensors displays and input devices that use gpio SPI i2c pwm and serial Port interfaces devices include DHT temperature and humidity sensors accelerometers gas sensors RFID modules and more complex hats like Grove p Ada fruit seesaw and sense hat are supported for a full list of binding C device bindings this open source Library allows you to quickly build applications that run on Raspberry Pi humming board beagle board Pine a64 and others with specific adapters you can even transform your regular PC or Mac into an iot device that makes it perfect to build your application before deploying on a smaller embedded device universal windows platform uwp uwp extends the net platform to enable development for any Windows device including iot devices running Windows 10 iot core build apps that run on Raspberry Pi minnow board Max Dragon board 410c and more WP provides simple apis for your board GPO pins plus a UI framework for writing responsive apps that support a number of screen sizes and interaction models Wilderness Labs use your existing C skills to build embedded Solutions using meow me is a complete iot platform with defense grade security that runs apps targeting net standard on embeddable microcontrollers Meadow is open source and you can use it with your favorite IDE such as Visual Studio or Visual Studio code to quickly create iot Solutions it has a rich Hardware ecosystem and you can also integrate it with the cloud of your choice such as Azure net nanoframework a free and open source platform that enables you to write C applications for constrained embedded devices it is suitable for many types of iot projects and you can write deploy and debug your code Direct directly on real Hardware using visual studio it includes a reduced version of the common language runtime CLR and features a subset of the netbase class libraries including the most common apis included in the Universal Windows platform uwp you can click on these buttons and learn more about each of these iot C and net related topics so using C you're able to automate and monitor real world devices C andn Net provide EXC excellent support for Internet of Things applications I personally find this very exciting indeed with the widespread infrastructural roll out of 5G this will bring an abundance of opportunities for C developers and the creation and innovation of iot projects number five Azure cloud cloud computing is the OnDemand availability of computer system resources especially data storage and computing power without Direct active management by the user with no upfront operational costs it is extremely cost effective for companies to move their Computing and storage requirements to the cloud Microsoft offers an excellent Cloud solution in the form of Microsoft Azure what is Microsoft Azure let's navigate to this URL to learn more the Azure Cloud platform is more than 200 projects and cloud services designed to help you bring new Solutions to life to solve today's challenges and create the future build run and manage applications across multiple clouds on premises and at the edge with the tools and Frameworks of your choice although Microsoft Azure is committed to open source and support for all languages and Frameworks C and.net are of course Microsoft Technologies these Technologies can be effectively leveraged to run several types of applications in the cloud for example crossplatform microservices can run inside doer containers on kubernetes used for microservice orchestrations web applications mobile services Internet of Things applications software as a service applications serverless functions and much more can run on Azure Cloud C can be leveraged both at the edge level as well as in the cloud Edge is a buzzword like iot and cloud in Edge Computing data is processed by the device itself or by a local computer or server rather than being transmitted to a data center we don't want our systems to be delayed by that Universal speed limit we call the speed of light so we can use the client devices themselves for compute power to process the data from where the data is derived and in this way significantly reduce latency in our local or Global Systems in the previous section of this video I.E the previous reason to learn C we briefly discussed some of the Azure services available for iot applications and systems iot Central iot Hub iot Edge and Windows 10 iot core Services C and net are supported for Edge Computing as well as cloud computing the combination of Edge and cloud computing can be leveraged to create highly scalable powerful and efficient local or Global Systems so C and.net give developers flexibility and power at their fingertips [Music] with low upfront costs C and net developers have incredible opportunities to test out new ideas and ultimately bring those new ideas to the masses you are only limited by your level of education and Imagination the means of production is in your hands leverage serverless Services when the underlying servers infrastructure and Os is taken care of by the cloud service provider CSP this is known as serverless Services serverless services are generally highly available scalable and cost effective your serverless code is described as functions these functions can be running on different compute instances serverless compute could run for a fraction of a second billing into micros seconds will save you money because you are not paying for unused computation logic apps and azzure allows you to build serverless workflows composed of azure functions basically State machines for serverless compute so Azure provides a pay as you go service which dramatically reduces barriers to making your net cloud-based applications available to your consumers at local or global scale through Azure autoscale you're able to scale apps to meet changing demand you can save money by using only the resources you need with schedule Auto scale you can provision more resources at specific times for example say you run an online retail shopping site and Black Friday is coming simply tell autoscale to add 10 times more virtual machines in advance to handle the load you are able to scale by any metric autoscale is a built-in feature of cloud services mobile services virtual machines and websites that helps appc apption perform at their best when demand changes some apps are CPU bound others memory bound you are able to scale your service by any metric you define number six artificial intelligence machine learning and deep learning in.net this diagram depicts the relationship between artificial intelligence machine learning and deep learning what is artificial intelligence artificial intelligence can be described as machines that perform jobs that mimic human behavior an AI could leverage machine learning as well as deep learning with Azure machine learning Services a service simplifies running AI ml related workloads what is machine learning machine learning is an application of artificial intelligence AI that provides systems the ability to automatically learn and improve from experience without being explicitly programmed machine learning focuses on the development of computer programs that can access data and use it to learn for themselves here are some examples of machine learning applications image recognition speech recognition traffic prediction product recommendation self-driving cars email spam [Music] filtering virtual personal assistant online fraud [Music] detection facial [Music] recognition an emotion detection in images [Music] Stock Market trading used for the prediction of stock market [Music] trends medical [Music] diagnosis automatic language translation excuse me please can you direct me to the nearest train station for this demonstration of automatic speech translation was done using the translation app on my iPhone for those of you who speak German Japanese French Mandarin or Russian please let me know if these translations are accurate let's navigate to this URL to learn more about net support for machine learning ml.net is a free open-source cross-platform machine learning framework made specifically for net developers with ml.net you can develop and integrate custom machine learning models into your net applications without needing prior machine learning experience ml.net is an extensible platform with tooling and visual studio as well as a crossplatform CLI that empowers recognized Microsoft features like Windows hello Bing ads PowerPoint design ideas and more net for for Apache spark Apache spark is a general purpose distributed data analytics engine that operates on large data sets typically terabytes or pedabytes of data net for Apache spark gives you apis for using Apache Spark from C and F cognitive Services easily add intelligent features to your net apps with our pre-built AI mod models such as emotion and sentiment detection vision and speech recognition language understanding knowledge and intelligent search the intelligent kiosk sample app illustrates how cognitive Services can be incorporated into a net app Azure machine learning Azure machine learning is a fully managed cloud service that enables you to easily build deploy and share Predictive Analytics Solutions the recommended engine sample app shows Azure machine learning being used in AET app and you can click these buttons to learn more about each of these topics what is deep learning machines that have an artificial neural network inspired by the human brain to solve complex problems use Azure machine learning services to run deep learning workloads such as tens of flow number seven the unity game engine with a good knowledge of c and the unity game engine you can create and monetize 2D and 3D games in the not too distant past if you wanted to create a game your only option was to work for a company and use their proprietary technology for most people the cost of an existing game engine license would be Out Of Reach Unity has significantly lowered the barrier to entry an indie game developer is able to monetize their games through in-game advertisements or inapp purchases Unity enables developers to not only easily make their Vision come to life inside the unity game engine but also monetize their game c is used in unity to create scripts that tell your game objects how to behave and how to interact with one another Unity runs in a big loop it reads all the data that's in a game scene for example it reads through the lights the meshes what the behaviors are and it processes all of this information for you in unity you don't need to create the code that runs the application because Unity does it for you instead you focus on the game play in your scripts here are some notable games that have been written in unity Pokémon Go Fall Guys Hollow [Music] night outer [Music] Wilds Arizona Sunshine ay and the blind Forest [Music] escape from tarov unity's personal price plan allows developers to download Unity free of charge and the developer is able to use the free version of unity for personal use while revenue or funding is less than $100,000 in the last 12 months there are also other paid business plans available if you look through the unity website at unity.com you can see that Unity offers many exciting [Music] products number eight C is an evolving language C is instantly evolving and providing easy ways to implement code of course each code Evolution does not mean you need to rewrite existing code think of it as just delicious code sugar sprinkled on top sweet meaning the code experience is made simpler through enhanced features and the compiler does the heavy lifting when translating your code into I Intermediate Language code that ultimately gets compiled into machine Language by the common language runtime we don't want want to get too bugged down in technical detail in this video but let's look at a few examples of code Evolutions in C before c version 7.0 for this scenario where the is type expression is applied you would need to test each type in a series of if and is statements you're testing a variable to determine its type and taking a different action based on that type this code becomes simpler using extensions to the is expression to assign a variable if the test succeeds in this updated version the is expression both tests the variable and assigns it to a new variable of the proper type so this code evolution is known as pattern matching for more information on pattern matching please navigate to this URL as the number of conditions increase within the relevant method a switch statement may be more appropriate here are examples of patent matching code written using switch statements C version 7.0 was released in 2017 C version 9.0 was released on the 10th of November 2020 let's navigate to this URL to see what enhancements were included with the release of C Version 9 records a niton Setters top level statements pattern matching enhancements Etc note that in order to use the C code enhancements for version 9.0 of C you must have Net 5 installed these features are supported on Net 5 and not on earlier versions ofet let's look at record types C 9.0 introduces record types which are a reference type that provides synthesized methods to provide value semantics for equality records are immutable by default record types make it easy to create immutable reference types in net historically net types are largely classified as reference types including classes and Anonymous types and value types including structs and Tes while immutable value types are recommended mutable value types don't often introduce errors value type variables hold the values so changes are made to a copy of the original data when value types are passed to methods there are many advantages to immutable reference types as well these advantages are more pronounced in concurrent programs with shared data unfortunately C forced you to write quite a bit of extra code to create immutable reference types records Prov provide a type declaration for any mutable reference type that uses value semantics for equality the synthesized methods for equality and hash codes consider two records equal if their properties are all equal consider this definition the record definition creates a person type that contains two readon properties first name and last name the person type is a reference type if you look at the I code it's a class it's immutable and that none of the properties can be modified once it's been created when you define a record type the compiler synthesizes several other methods for you methods for Value based equality comparisons override for get hash code copy and clone members print members and two string records support inheritance you can declare a new record derived from from person as follows so please check out this web page for a detailed view of enhanced features included in C version 9 number nine exciting new net-based open source projects and net Integrations open- Source software is a type of computer software in which source code is released under a license in which the copyright holder grants users the right to use study change and distribute the software to anyone and for any purpose two open source projects written in C sharp have caught my attention peach pie is an open source project that allows for a seamless interoperability between PHP and net applications peach pie enables developers to run WordPress on net WordPress is a free and open source content management system written in PHP and paired with a MySQL or Maria DB database features include a plug-in architecture and a template system referred to within WordPress as themes WordPress is web publishing software you can use to create a website or blog it provides an easy and flexible blogging and website content management system CMS for beginners WordPress is extremely popular because it's 100% free and open source and easy to use it's also highly customizable and fast and good for SEO search engine optimization so the ability to run WordPress on net and leverage C to integrate additional functionality with WordPress applications could be very appealing to manyet Developers for those who wish to learn more about this exciting open- source project I've included links to relevant content Below in the description a Microsoft employee has automated his home with net core habitat and Azure with his open source project called puppet this iot project allows you to customize your habitat based home automation system using C if you look at the habitat website we can see a brief description of the company habitat Inc was founded by home automation enthusiasts committed to delivering the best possible home automation platform their platform is known as habitat elevation for more information on habitat please navigate to this URL I've included relevant links Below in the description and finally number 10 C is an in demand programming language [Applause] [Music] [Applause] [Music] so let's look at a few wellknown programming language ranking indexes to see where C is currently ranked so the tiob index has C ranked as the number five programming language the pypl or popularity of programming index has C- ranked at number four and red monk has C ranked at number five C is consistently ranked within the top five most popular programming languages C skills are in huge demand and opportunities are not in short supply you could work on web applications for a small web development agency you could work as a unity game developer perhaps working for a startup company you could work as a mobile zamarin developer perhaps working for a large Consulting house and digital transformation company or a C- developer working on microservices for a fintech company you may decide you want to work for yourself either way with great C skills there are many opportunities and remuneration is generally excellent so let's recap my top 10 reasons to learn C are number one the release of Net 5 number two c is a powerful and flexible language that is relatively easy to learn number three asp.net web Technologies including MVC and [Music] Blazer number four iot Internet of Things number five Azure Cloud number six artificial intelligence machine learning and deep learning in.net number seven the unity game engine number eight C is an evolving language number nine exciting new net-based open- source projects and net Integrations and lastly number 10 C is an in demand programming language I hope you have enjoyed this video on my top 10 reasons to learn C in 21 please let me know your reasons to learn C Below in the comments section or if C is not your language of choice tell me your language of choice and why you prefer that language for more content like this and more programming tutorials please consider subscribing and please ring the bell to be notified of future content please feel free to share this video with anyone you feel May benefit from its content if you like this video please give it a thumbs up it will be greatly appreciated thank you you and take [Applause] [Applause] [Music] [Applause] [Music] care [Music] [Music] [Music] oh [Music] hi and thank you for tuning in to Gavin Lon digital I'm Gavin Lon so at the time of creating this video we are approaching the end of 2021 2022 is just around the corner I thought it might be time to create a video about the reasons that stand out to me at least as 2022 approaches as to why someone should learn C in 2022 thinking about programming in general as we hurtle deeper into a digital future it certainly makes sense to gain a knowledge of at least one program programming language but what programming language is the best one to learn and why as you'll see quite a few of my reasons to learn C in 2022 stem from the soon to be released. net6 for Content like this please consider subscribing and please ring the bell so that you'll be notified of future releases if you like this video please give it a thumbs up and please share this video with anyone you feel May benefit from its content if you'd like to thank me by buying me a coffee I've included a link below in the description to my buy me a coffee web page so here are my top 10 reasons to learn C in 2022 and they are in no particular order reason one not surprisingly is the release of net 6 the unification of net started with the release of Net 5 which was released on the 10th of November 20120 at the time of writing the narrative for this video the latest preview release of net 6 is is preview 7 I've included a link below in the description to the location of where you can download net 6 preview 7 the official release of net 6 is expected on the 9th of November 2021 and completes the unification of net I won't go into a lot of detail regarding the evolution of net in this video because I've done so in many other videos I've included links to the relevant videos Below in the description but here is a brief overview of the evolution of net the first release of net was NET Framework which was released on the 13th of February 2002 NET Framework at the time was a revolutionary upgrade but could only run on Windows platforms net core which was released on the 27th of June 2016 could run on multiple platforms Mac OS Linux as well as Windows platforms it was designed for high performance and optimized for the cloud in order to share net components across multiple versions ofet net standard was introduced net standard is a formal specification of net apis that are available on multiple net implementations the motivation behind net standard was to establish greater uniformity in the net ecosystem Net 5 was released on the 10th of November 2020 and was the first step towards unifying the versions ofet under one umbrella so this was a significant step toward having one net moving forward the release of Net 5 eliminated the need for net standard in many scenarios net 6 goes even further in unifying net the release of net 6 also provides new Frameworks and features for the development of web mobile and desktop applications I have included some of the new features and Frameworks that are expected to be released with net 6 in this video as some of my top 10 reasons to learn C in 2022 we'll look at some of these reasons later in the video so with the release ofet 6 comes many benefits to net and C developers here are some examples one net moving forward increased performance of our applications greater scope in terms of the number of platforms that can be targeted from one shared code base excellent new features like hot reload brings the potential for greater efficiency in the development of our net applications all these features and more makes being a c and net developer even more appealing in 2022 reason number two Cloud native application development a cloud native application is a program that is designed for a cloud computing architecture net applications are supported on major Cloud platforms like Amazon Google and of course Azure Cloud native application use a microservice architecture net applications coded in C can be leveraged to create Cloud native applications net applications can run inside Docker containers as microservices that can be managed and orchestrated using the kubernetes platform Cloud native applications take advantage of cloud computing Frameworks which provide Loosely coupled cloud services some of the benefits of cloud native applications are as follows they are coste effective Computing and storage resources can scale out as needed independently scalable each microservice is logically isolated and can scale independently portability Cloud native applications are vendor neutral and use containers to Port microservices between different vendors infrastructure reliable if a failure occurs in one microservice there's no effect on adjacent Services easy to manage Cloud native applications use automation to deploy app features and updates reason number three programming using cop is an enjoyable experience tools provided by Microsoft like Visual Studio code and visual studio help make coding easy efficient and ultimately an enjoyable experience Visual Studio code is a lightweight code editor provided by Microsoft and combines the simplicity of a source code editor with powerful developer tools like intellisense code completion and debugging Visual Studio code supports Mac OS Linux and windows it is open source software that can be downloaded free of charge from this location Visual Studio is a full-featured IDE integrated development environment that can be used to code debug test and deploy to any platform an integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development an ID integrated development environment normally consists of at least a source code editor build automation tools and a debugger an IDE enables programmers to consolidate the different aspects of writing a computer program as well as being an outstanding IDE that includes an excellent code editor debug test and deployment facility visual studio also includes Cutting Edge features like Intel code and live share Visual Studio intellic code AI assisted development intellic code saves you Time by putting what you're most likely to use at the top of your completion list intellic code recommendations are based on thousands of Open Source projects on GitHub each with over 100 Stars when combined with the context of your code the completion list is tailored to promote common practices Visual Studio live share share your code collaborate on anything anywhere anytime it doesn't matter what type of app You're Building what language you program in or what OS you're on with live share you can instantly share your project with your peers from the comfort of your own tools no need to clone a repo or set up the environment to get sharing you can download the free community edition of Visual Studio 2019 for Windows and the free community edition of Visual Studio 2019 for Mac from this location you can also download visual studio code from this location note that you can also download a preview version of Visual Studio 2022 from this location reason number four the unity game engine Unity is a cross-platform game engine developed by unity technology first announced and released in June 2005 you can download the unity developer platform from this location free of charge the main programming language used to create games using Unity is C leverage your C skills to create both 3D and 2D games the unity game engine can be hugely empowering for developers with imagination and drive monetization drive Revenue while delivering a great player experience with ads and inapp purchases here are a few notable games created using Unity Hollow [Music] night escape from [Music] tarov [Music] genin [Music] [Applause] impact [Applause] [Music] [Applause] Fury [Music] [Applause] went [Music] [Applause] [Music] [Applause] Kerbal [Music] [Applause] [Music] Phoenix point [Music] [Music] [Music] reason number five net Maui net Maui runs on net 6 Maui stands for multiplatform app UI it is a open source crossplatform framework using the net Maui framework a developer can build native Android iOS Mac OS and windows applications from a single shared codebase net Maui is an evolution of zamarin forms who net Maui is for net Maui is for developers who want to write crossplatform apps in zaml and C from a single- shared codebase in Visual Studio share UI layout and design across across platforms share Code test and business logic across platforms what net Maui provides net Maui provides a collection of controls that can be used to display data initiate actions indicate activity display collections pick data and More in addition to a collection of controls net Maui also provides an elaborate layout engine for Designing Pages multiple page types for creating rich navig a types support for data binding for more elegant and maintainable development patterns the ability to customize handlers to enhance the way in which UI elements are presented essential cross-platform apis for accessing native device features these apis enable apps to access things like GPS the accelerometer the battery and network States for more information see netm Essentials a crossplatform graphics library that provides a common API to Target multiple platforms which enables you to share your 2D drawing code between platforms or mix and match graphic supplementations with a single app a single project system that uses multi-targeting to Target Android iOS Mac OS and windows for more information see net Maui single project net hot reload so that you can modify both your zaml and your managed source code while the app is running then observe the result of your modifications without rebuilding the app for more information see net hot reload reason number six asp.net core and Blazer asp.net core allows you to build many types of web applications including web pages rest apis microservices and hubs that push realtime content to Connected clients very basically Blazer is a free and open-source web framework that enables developers to create web apps using C HTML and CSS Blazer is a feature of asp.net and extends the net developer platform with tools and libraries for building web apps a revolutionary feature for net developers is that Blazer allows C code to run directly within the browser on web assembly this means that c and net developers will no longer need to use JavaScript Frameworks like angular or react to implement Rich interactive client side uis net developers can now use Blazer and C for this purpose Blazer has an community that is answering questions producing samples writing tutorials authoring books and more awesome Blazer provides a great community-maintained list of Blazer [Music] resources reason number seven netblazer hybrid [Music] apps electron formerly known as atom shell is a free and open-source software framework developed and maintained by GitHub it allows for the development of desktop GUI applications using web Technologies so with electron you can build cross-platform desktop apps with JavaScript HTML and CSS to learn more about electron please navigate to this URL with the release of net 6 for developers that love Blazer and web Technologies laser is now a great choice for building desktop and mobile apps developers who are familiar with web technologies will now be able to use Blazer to build hybrid apps that are crossplatform and can leverage a desktop or devices native functionality rather than using net Maui where uis are built using zaml net developers will be able to use Blazer and Associated web Technologies to build native and hybrid mobile apps for Android iOS Windows and Mac OS the developer can use the Blazer programming model and raise a syntax to Define UI components and behaviors of an application single code base better speed less development and fewer maintenance costs are some of the benefits of hybrid apps over other native applications unlike how electron Works where the web browser is used a Blazer hybrid app uses the embedded web view control to render the Blazer and other web content natively in a hybrid app Blazer components are directly rendered in Native devices without using web assembly reason number eight minimal web API in 2007 came the evolution of net web application development in the form of asp.net MVC in 2012 web API a significant improvement over WCF was introduced and enabled developers to build HTTP apis with less ceremony later in asp.net core these Frameworks were unified into asp.net core MVC a single framework for building both websites and apis so the asp.net core MVC framework provided native support for the MVC design pattern this is a great framework but there are scenarios where where you may only need specific features of the MVC framework the asp.net core MVC framework offers features commonly needed that would otherwise need to be built from scratch such as model binding and HTTP response generation asp.net core 6.0 aims to bridge this Gap with minimal apis where many of the features included in the asp.net core MVC framework are offered but with less ceremony so for example if you needed to build a basic micr service minimal web API may be a better choice than using the traditional asp.net core MVC framework for this purpose so minimal apis offer a lightweight alternative for building apis with asp.net core reason number nine ml.net and artificial intelligence ml.net is a free software machine learning library for C and F programming languages let's navigate to this Microsoft web page and read a bit about ml.net with ml.net you can create custom ml models using C and F without having to leave theet ecosystem ml.net let's you reuse all the knowledge skills code and libraries you already have as a net developer so that you can easily integrate machine learning into your web mobile desktop games and iot apps extended with tensorflow and more ml.net has been designed as an extensible platform so that you can consume other popular ml Frameworks tensorflow Onyx infer Donnet and more and have access to even more machine learning scenarios like image classification object detection and more and you can see a list of examples here where ml.net can be integrated into our applications to provide artificial intelligence check out these code examples to gain an understanding of how you might integrate functionality like sentiment analysis credit card fraud detection product recommendation and much more into your applications reason number 10 C developers are in demand there are many career opportunities for C developers if we navigate to this well-known job search site and type in C and London as our search criteria you can see that there are a lot of job opportunities for C developers we can also see that remuneration for C developers is generally excellent for all skill levels be it Junior intermediate senior or lead [Music] developers C is also consistently ranked as a top five programming language a good knowledge of C coupled with imagin drive and good problem solving skills can be hugely empowering in today's world infrastructures are in place that can enable programming entrepreneurs to start a business with low upfront costs you are only limited by your level of education and Imagination the means of production is in your hands the democratization of knowledge means you can learn C for free please check out my three free programming courses that can find on this channel C for beginners Advanced [Music] C and let's build an asp.net core MVC web application on Net [Music] 5 [Music] so my top 10 reasons to learn C in 2022 are reason number one the release of net 6 reason number two Cloud native application development reason number three programming using C is an enjoyable experience reason number four the unity game engine reason number five net Maui reason number six asp.net core and Blazer reason number seven netblazer hybrid apps reason number eight minimal web API reason number nine ml.net and artificial intelligence reason number 10 C developers are in demand for Content like this and much more please consider subscribing and please ring the Bell so that you'll be notified of future releases if you liked this video please give it a thumbs up and please feel free to share this video with anyone you feel May gain value from its content if you'd like to thank me by buying me a coffee I've included a link to my buy me a coffee web page Below in the description it will be greatly appreciated hi and welcome I'm Gavin LW for those of you who have been following this channel for a while you'll know that I like to present my top 10 reasons to learn c one year so I hope you enjoy this video on my top 10 reasons to learn C in 2023 before we get into this video you may have noticed that lately I haven't been releasing videos regularly on this channel the reason is I've been working on a number of courses for freecodecamp.org I will be releasing content more regularly on this channel in the future but now you can also find me over at the freecodecamp.org YouTube channel I'd like to to share a course that I recently created for freecodecamp.org that is almost 8 hours long the course can be found at this URL on the freecodecamp.org YouTube channel I've included a link to the course Below in the description in this course we create a sophisticated Sales Management application using Blazer server and the sophisticated UI components provided by Sync Fusion sync Fusion provides a suite of UI components that can be used for integrating sophisticated front-end UI functionality into your applications for example in the sales management application we integrate the diagram component for presenting a hierarchical depiction of the employees in the sales department we use the layout component and charts components to present a sophisticated personalized dashboard to employees where appropriate metrics are presented in an aesthetically pleasing display to the employees that use our application the data grid component is used for admin purposes whereby an administrator can perform crud operations directly on the data [Music] grid [Music] the list view component is integrated into our Blazer server application for the purpose of creating a sales ordering facility so that sales reps that spend most of their time on the road visiting clients can use our application perhaps using a mobile device to place orders on behalf of clients [Music] [Music] yeah [Music] the scheduler component is integrated into our sales management application so that employees can schedule meetings with other staff members as well as clients Microsoft identity is integrated into the sales management application for the purpose of facilitating authentication authorization login and registration functionality we use SQL Server 2019 as our backend storage facility and EF core for data retrieval and data modification so please head over to the freecodecamp.org YouTube channel to go through this new course where you'll learn how to create a sophisticated web application using Blazer server sync Fusion components and Microsoft identity and if you haven't yet subscribed to the freecodecamp.org Channel please remember to subscribe and please like the video if you feel that you have benefited from the course so here are my reasons to learn C in 2023 and they are in no particular order number one C is a diverse programming language C is a modern general purpose object-oriented programming language fun fact C was originally entitled cool SE likee objectoriented language the the language was developed in the year 2000 by Microsoft's Anders hburg a prominent Danish software engineer with a history of popular Creations you can use C to develop a diverse array of applications on many diverse devices for example crossplatform desktop applications web-based applications web services crossplatform mobile applications games iot applications Cloud native applications and and much more so net is a modular cross-platform High performing platform that can run on a multitude of diverse devices NET Framework when first released in early 2002 could run only on Windows Platforms in 2022 net can run on many operating systems for example Windows Mac OS and Linux so with C you can write once and run anywhere it's not just the number of platforms on which C applications can run that make c a diverse programming language but it's also the types of functionality that can be provided using the C language for example a c developer can leverage WPF Windows presentation foundation and win forms to create desktop applications or uwp universal windows platform to help develop Universal apps that run on Windows 10 Windows 10 mobile Windows 11 Xbox One Xbox series Xs and Hollow lens without the need for the code to be Rewritten for each of these platforms using net Maui net multiplatform app UI a c developer can develop apps that can run on Android iOS Mac OS and windows from a single shared code base ml.net is a crossplatform open source machine learning ml framework for net ml.net allows developers to easily build train deploy and consume custom models in their net applications without requiring prior expertise in developing machine learning models or experience with other programming languages like python or R you can also consume both tensorflow and Onyx models within ml.net which makes the framework more extensible and expands the number of supported scenarios iot Internet of Things the Azure Internet of Things iot is a collection of Microsoft managed cloud services that connect Monitor and control billions of iot Assets in simpler terms an iot solution is made up of one or more iot devices that communicate with one or more backend Services hosted in the cloud you can build single page applications using Blazer you can build mobile desktop and web applications from a single code base using Blazer hybrid by using net Maui and Blazer together you can reuse one set of web UI components across mobile desktop and web so you can reuse your code across multiple platforms you can create sophisticated 2D and 3D games using Unity you can build Cloud native applications Cloud native applications are distributed highly scalable applications net can run inside Docker containers that can be used to House micr services these applications can run on multiple Cloud platforms for example AWS Google cloud and of course Microsoft Azure Cloud you can create web services and serverless functions that run in the cloud a good knowledge of CA means you are able to create create many types of diverse applications number two the official release of Net 7 this year November 20122 Microsoft has committed to a new release ofet each year moving forward net is a unified platform that can run on multiple platforms including Windows Mac OS Linux Android iOS watch OS inside Docker containers it is optimized for high performance and is modular so that only the Base Class Library that your application needs are shipped with your application net7 provides a high performing environment for your C applications that can run on many diverse platforms number three orans in today's world of the internet the need for distributed highly available applications has increased dramatically need is the mother of all invention so Technologies are arising to provide Solutions so that it is efficient and easy for developers to create such applications orans is one such technology orans uses what's known as the virtual actor model grains are the fundamental building blocks of Allens applications Allens is a cross-platform framework for building robust scalable distributed applications distributed applications are defined as apps that span more than a single proc often Beyond Hardware boundaries using peer-to-peer communication oan scales from a single on premises server to globally distributed highly available applications in the cloud the actor model originated in the early 1970s and is now a core component of Allan the actor model is a programming model in which each actor is a lightweight concurrent immutable object that encapsulates a piece of state and corres responding Behavior actors communicate exclusively with each other using asynchronous messages Oran notably invented the virtual actor abstraction where actors exist perpetually actors are purely logical entities that always exist virtually an actor cannot be explicitly created nor destroyed and its virtual existence is unaffected by the failure of a server that executes it since actors always exist they are always addressable the grain is one of several orens Primitives in terms of the actor model a grain is a virtual actor the fundamental building block in any Oran application is a grain grains are entities comprising user defined identity behavior and state consider the following visual representation of a grain for a comprehensive guide to all Ians please navigate to this URL number four the unity game engine this readymade game engine makes it possible for Indie developers to compete with much bigger companies physics 3D rendering and collision detection are provided with unity from a developer's perspective this means there is no need to reinvent the wheel you don't need to create a new physics engine from scratch calculating every last movement of each material or the way light should bounce off different surfaces Unity handles this for us you as a developer can leverage C to control the logic of the game that runs on top of the underlying sophisticated game engine provided by unity Unity also provides facilities to game developers that can help the developer monetize their games you can download and install Unity for free and create games that you can monetize this is just another great reason to learn C in [Music] [Music] 2023 stride is a free open source C game engine it is growing quickly and supports multiple platforms with more to come it is considered to be the most integrated game engine with net stride is a free and open-source 2D and 3D crossplatform game engine originally developed by silicon Studio it can be used to create video games for PC mobile devices and virtual reality stride comes with a robust tool chain that enables you to intuitively and efficiently create manage and modify all assets of the game built in C stride gives you access to the low-level apis asynchronous scripting and comes with a script editor strides clustered forward rendering with its multi- sample anti-aliasing makes it ideal for VR enabling VR is as simple as a single click build the UI of your game visually and intuitively create UI libraries and Leverage The prefab system to automatically update all your UI elements design whether you're indie or AAA stride lets you focus on your ideas rather than technical concerns it comes with a full set of modules dedicated to editing every part of your game each is provided out of the box and integrated into the engine modern C scripting with Shader and script script hot reload lets you build prototypes and iterate fast although stride has a relatively small community the community is friendly and growing rapidly it is fast and comes with a very modern render engine you can use stride without paying royalties and Licensing fees projects are just normal Visual Studio Solutions no proprietary project format so it works with all the official net tooling the the engine comes packed with modern example projects to help you get started since the engine is written in the same language as the scripting there's no weird mix of Technologies please learn more about stride at this [Music] website net Maui net Maui is the successor to zamarin forms it's a cross-platform framework for creating native mobile and desktop applications with cop and zaml net Maui unifies Android iOS Mac OS and windows apis into a single API that allows a right once Run Anywhere developer experience while additionally providing deep access to every aspect of each native platform net Maui provides a collection of controls that can be used to display data initiate actions indicate activity display collections pick data and more number seven Blazer and Blazer hybrid asp.net cor Blazer hybrid provides a way to blend desktop and mobile native client Frameworks with net and Blazer in a Blazer hybrid app razor components run natively on the device components render to an embedded web view control through a local interrupt Channel Blazer hybrid support is built into the net multiplatform app you UI net Maui framework net Maui includes the Blazer web view control that permits rendering razor components into an embedded web view by using net Maui and Blazer together you can reuse one set of web UI components across mobile desktop and web number eight C is a cloud native programming lay anguage you can leverage C to create Cloud native applications Cloud native techniques enable Loosely coupled systems that are resilient manageable and observable combined with robust automation they allow Engineers to make high impact changes frequently and predictably with minimal toil Cloud native is about Speed and Agility Cloud native systems are designed to embrace rapid change large scale and resilience here are some companies who have implemented Cloud native techniques Netflix Uber we chat vendor neutrality is an important feature of cloud native applications not only can you create sophisticated distributed applications on Microsoft Azure you are able to leverage net on Google cloud and on AWS minimal apis minimal API are architected to create HTTP apis with minimal dependencies they are ideal for microservices and apps that want to include only the minimum files features and dependencies in asp.net call many net developers will be used to creating restful web apis where controllers and action methods are exposed as end points so in net 6 when you create your web API project you can simply uncheck use control rollers to create a project template for minimal apis this will mean you can map end points directly to methods perhaps expressed as Lambda Expressions without the need for controllers minimal apis require far less ceremony to set up and can be described as lightweight number 10 C is an in demand programming language C is a well-designed language and there is high demand from Top software companies around the world for C developers C is still ranked fifth in the tiob index unchanged from May 2021 but its rating is clearly on an upward trajectory with the huge advances in net you can't go wrong learning C because the net environment empowers developers more and more on many diverse platforms being able to program on many diverse platforms means a multitude of job opportunities as well as a multitude of entrepreneurial opportunities the development of desktop applications mobile applications and web applications using a single code base is made possible through gaining a good knowledge of C andet you can create and monetize games through Unity stride offers new possibilities for game developers this all makes c one of the best programming languages to learn in 2023 you simply cannot go wrong with learning C and . net I hope you have enjoyed this video on my top 10 reasons to learn C in 2023 if you have please like this video and if you haven't yet subscribed please subscribe to the channel I would love to hit 10,000 subscribers before the end of the year I would be extremely grateful if you'd help me do this please hit the Bell icon to ensure that you won't miss out on future content please feel free to share this video with anyone you feel will benefit from its content if you'd like to thank me by buying me a coffee I've included a link to my buy me a coffee web page Below in the description of this video any donated money will be invested into this channel so that I can continue to provide you with high quality content and courses on c.net and many more technology related topics so here are my top 10 reasons to learn C and they are no particular order number one Microsoft and theet community as part of the free code Camp Court team I've recently had the pleasure of being involved in a collaboration with Microsoft to create a free professional certification the certification is named foundational C with Microsoft developer certification it's an excellent professional certification that you can attain online where you can gain upto-date essential foundational knowledge of the C programming language and.net on the Microsoft learn platform and once you have appropriately traversed all the relevant course material you can take an exam on the free code Camp platform when you pass the exam you'll be awarded your professional Microsoft certificate the certification includes approximately 35 hours of course material that can be appropriately traversed on the Microsoft learn platform while you go through the course material you'll be tasked with coding exercises and challenges you will also be tested through multiple choice questions along the way to test the knowledge you have acquired the course is made up of a series of modules after you have completed each module you'll complete a challenge on the free code Camp platform once you have completed all of the modules you'll be qualified to take the foundational C with Microsoft exam which is taken on the free code Camp platform this exam is made up of 80 multiple choice questions and is des designed to test your knowledge of the foundational concepts of the C programming language once you pass the exam you'll be awarded your professional certificate that can be added to your resume or CV or to your LinkedIn account and shared with potential employers so this is a great opportunity to gain this professional verified Microsoft certification free of charge for further details please check out the foundational seash up with Microsoft announcement video released recently on the free code Camp YouTube channel at this location as well as this announcement posted by Katie Savage of Microsoft please see Katie's announcement at this location this is a great place to start your journey toward becoming a developer as well as to prove to potential employers that you have foundational knowledge of the C programming language it is also a great certificate for experienced developers to include in for example your LinkedIn profile or on your CV or resume number two getting started is easy free tools like the net SDK and visual studio code can be downloaded and installed free of charge with these tools you can create virtually unlimited types of applications you can create web-based applications crossplatform mobile applications and crossplatform desktop application you can create globally distributed Cloud native applications you can create Internet of Things applications machine learning applications and it is easy to integrate AI into your C applications you can create all of these types of applications and more so let's look at how easy it is to get started if you navigate to this URL you can download an appropriate version of Visual Studio code to your local machine Visual Studio code is crossplatform and can run on Windows Mac OS and Linux so I'm running Windows 11 I'm going to click this button to download the install executable then I can locate the install executable in my downloads folder double click the file and install Visual Studio code for a great developer experience when creating C applications we can install the C dev kit extens like this we now have an excellent tool for creating and editing our code but we need a tool so that we can create our projects build our projects and run our projects so you can download the latest stable release of the net SDK for this purpose you can navigate to this URL to download and install the latest stable release of the net SDK which at the time of creating this video is version 7 so let's download the relevant an.net SDK install file by clicking this button let's locate the relevance install file in our downloads folder and double click it I'm not going to complete this installation because I've currently got net 8 preview 6 installed on my local machine but I recommend having the latest stable release of the net SDK installed on your local machines to verify that you have installed net you can type this command at your terminal command prompt from within Visual Studio code great then to create a net console application you can run this command at your terminal and we can update the program.cs file with the code for our application save the file and run our code with this command this code merely outputs a simple text message to the screen but you can of course also create complex applications using visual studio code and the net SDK for example Blazer app applications you are up and running in a few moments and are now able to create a sophisticated web application if you like this video please hit the like button and please consider subscribing please also ring the bell so that you'll be notified of future content please feel free to share this video with anyone you feel May benefit from its content if you'd like to thank me by buying me a coffee you can do this at my buy me a coffee web page which can be found at the slow location it will of course be greatly appreciated so I've recently joined X formerly Twitter my usern name is @gavin lon digital so please feel free to follow me on X I love reading your comments so please feel free to engage with me in the comments section number three Net 8 the official release of net 8 is due to be released in November of this year 2023 it comes with many fixes improvements new features and enhancements new blazer. Maui Cloud native features will be included in this long-term support release of net many enhancements to the C language will also be included in this release of net net 7 was a standard term support release which means it is supported by Microsoft for 18 months free of charge a long-term support release means that net is supported free of charge for 3 years as discussed net 8 will be a long-term support release please check out my video on net 8 where I discuss some of the excellent new features included within this longterm support release ofet to access the relevant content please navigate to this URL where you can access the relevant playlist so net 8 is another exciting new release of net number four Blazer the Blazer framework is Microsoft's answer to react and angular and provides an excellent framework for creating Spa applications with Net 7 you are able to create your spa applications using two project templates namely Blazer server and Blazer web assembly each of these Frameworks has advantages and disadvantages with a Blazer server application a websocket connection is maintained where any changes to the front end which are created through the users's interaction with the relevant web page are calculated on the server and transmitted to the client through a signal R connect connetion with blazer web assembly all of the necessary dependencies are downloaded to the user's browser so that the application can run in the user's browser and no connection to the server is necessary although a Blazer web assembly app can run inside the user browser without server interaction typically the application data is stored on the server and interactions between client and server are done via HTTP requests too relevant server side hosted web apis with the release of net 8 two new excellent features are included SSR or server side rendering and streaming rendering server side rendering means that the HTML can be rendered server side before it is transmitted to the client this can result in for example faster load times and better SEO search engine optimization for Blazer applications faster transition times between web page Pages can also be achieved using serice side rendering very basically streaming rendering means that dynamically created HTML pertaining to Long running operations like for example data retrieval operations on the server can appear in the users browser after the static HTML that can be loaded almost immediately so streaming rendering allows for service side rendered HTML to retain the spa effect if you like where HTML Ed by long running operations can be loaded asynchronously in the users's browser so pixels are on the screen almost immediately after the relevant web page is accessed and perhaps a loading indicator is displayed to the user while the dynamic content hindered by a long-running data retrieval process is being rendered on the server once the data retrieval process completes and the relevant HTML is rendered on the server the HTML is passed to the client and replaces the loading indicator in the users's browser note that streaming rendering should not be confused with data retrieved asynchronously through a signal R connection which is what happens currently in Blazer server applications serice side rendering and streaming rendering use a typical request response model another great feature with net 8 is that you can now leverage the Blazer web app project template and includes server side rendering streaming rendering signal R and Blazer web assembly features within one project you can even use an auto mode where the Blazer application decides as it were whether to use signal r or Blazer web assembly for a specific web page so huge flexibility for Blazer is being built into net 8 so the Blazer features due to be released with net 8 is very exciting news foret web Developers I've recently created a video series onnet and Blazer which explores some of these new features in more detail so please check out this video series at this URL number five Azure AI Azure open AI service with c.net and Azure you can provide amazing functionality that leverages artificial intelligence to for example answer users queries made through your application using natural language this functionality enabled through Azure AI means users can appropriately input queries into the UI of your application using natural language and your application can within seconds display a helpful response back to the user in a humanik manner the end result is users can have an almost humanlike conversation with your application where your application can respond with useful information perhaps gleaned from complex data to your users in a human conversational style this AI functionality provides an incredible ux user experience with your applications so let's put this into context with a practical example let's say your application is an insurance application where users can ask your application for clarity around certain aspects of their insurance policies so a user might enter the following query to what extent does my policy ensure me against fire damage through Azure AI Studio you can through an easyto ous user interface for example easily leverage a llm large language model like chat GPT to retrieve information from your application's data and then respond in a humanlike manner appropriately to users queries based on the relevant data so for example your application has been created for the purpose of helping clients better understand their insurance policies clients can make queries in natural language through your application the query can be passed to an endpoint hosted on Azure this endpoint abstracts away the complexity of the underlying Azure AI functionality which you'll set up using Azure AI studio and a human-like response that is helpful to the user can be returned from a request made to the relevant end point and the response can then be appropriately displayed on the front end of the relevant application to the user how can chat GPT be used with your own applications data a user interface provided to you through Azure AI Studio makes it easy to customize prompts that are sent to chat GPT so through this UI and orchestration can be set up so that a search across for example relevant insurance policy documents that could be PDF documents for example is made and appropriate results are returned from that search the data from these search results can then be appropriately injected into a prompt sent to chat GPT through Azure Studio you can restrict chat GPT to focus only on the data returned from the relevant search results through Azure Studio you can test out possible queries that your application's users might make through your application using natural language Azure Studio provides a userfriendly UI known as chat playground so let's look at the example where a client of an insurance broker might enter a query into the UI of your insurance application to what extent does my insurance policy cover fire damage so you can first test this out in chat playground when you are happy with the results of your test you can through Azure Studio expose this AI functionality as an end point that can be consumed by your client applications so you may have a cross platform mobile version of your insurance application based on the net Maui framework that can leverage this API and you might have a Blazer Spa application that can also leverage the functionality provided through calls to the relevant endpoint hosted on Azure so your user can ask questions using natural language through your mobile and web-based interfaces in order to learn more about their insurance policies you can imagine that getting meaningful information in a humanlike easy to understand style would be extremely difficult if this was to be done as a manual process so your application essentially provides users with a friendly expert with which your users can communicate anytime they like pretty amazing in both types of applications your UI includes a facility where a user enters a query using natural language so the user types to what extent does my insurance policy cover fire damage when the user submits the query a call to the endpoint you have generated through chat playground is made by the relevant application the HTTP request includes the user's natural language query so to what extent does my insurance policy cover fire damage is submitted to the relevant Azure end point and subsequently is appropriately injected into the prompt that is sent to chat GPT a search across your own applications data is made the result results of that search are then also appropriately injected into the prompt sent to chat GPT chat GPT can then create a response based on the relevance data injected into the relevant prompt note that when you use Azure AI Studio your data is secure and not for example somehow indexed and open for the public to search your data is kept private so this is a very basic example of how you can leverage Azure AI to include amazing human like interaction functionality into a realworld net-based mobile or net-based web application the end result is truly mindblowing so what I've attempted to summarize is creating an Azure open aai resource using Azure Studio to ground your AI models with your data so you can use chat GPT with your own personal data to create responses to queries you can test out potential user queries through Azure studio and when you are happy you can expose this AI functionality as an end point which can then be consumed by your client applications this is all achieved through an implementation of what's known as the rag pattern rag stands for retrieval augmented generation where you can retrieve facts inject them into the prompt or augment The Prompt and send the prompt to for example chat GPT which generates a new response I've included links to these videos taken at Microsoft build 2023 to provide you with more detail regarding Azure AI number six Unity you can use C to build sophisticated 2D and 3D games on the unity game engine not only can you create and monetize games using the unity game engine you can also create many different 3D immersive Interactive exper experiences for your users realtime tools and real world results automotive and transportation Drive success with augmented and virtual reality applications created from 3D product data e-commerce and Retail supercharge your Commerce strategy and turn Shoppers into buyers online and offline with interactive real-time 3D experiences architecture engineering Ing and construction discover how industry leaders are embracing real-time 3D technology to change the way buildings are designed created and operated so with a good knowledge of c and unity you can create amazing immersive experiences in your applications and games here are some notable games that have been created using unity and C Hollow night [Music] escape from [Music] tarov gen [Music] [Music] impact Fury [Music] [Music] went Kerbal [Music] [Music] [Applause] [Music] a [Music] Phoenix [Music] [Music] [Music] point number seven C is an in demand programming language C is consistently rated by reputable sources as one of the top five most popular programming languages net runs on a diverse array of platforms which means you can develop diverse types of applications so CP and.net is extremely versatile the versatility of the net environment and C programming language means there is a huge number number of opportunities for competent C andet developers many companies require developers to have C andet skills remuneration for junior intermediate and Senior leveln net and C developers is generally excellent learning C and.net may even spawn business ideas for those with entrepreneurial aspirations C and.net are continually evolving in step with a forever changing environment like for example the rapid evolution of AI which means companies are choosing these Technologies for implementing their business solutions C is the main programming language used on the unity game engine as well as other game engines which means game development can also be a career path for C developers so you cannot go wrong with specializing in C andet Net Maui Maui stands for multiplatform app UI net Maui can be leveraged to develop apps that run on Android iOS Mac OS and windows from a single shared codebase write crossplatform apps in zaml and C from a single shared codebase share UI layout and design across platforms share code tests and business logic across platforms net Maui provides a collection of controls that can be used to display data initiate actions indicate activity display collections pick data and more net Maui also includes support for zaml hot reload which enables you to save your zaml files and see the changes reflected in your running app without recompilation so this makes the development experience super efficient net Maui provides an excellent framework for developing applications that run natively on a variety of different platforms so you can leverage the capabilities of the underlying platform as well as create sophisticated UI designs and functionality using zaml and C number nine C andn Net are continually evolving the evolution of net is really quite remarkable and very noticeable especially over the last few years before the release of net 5et was fractured where you had two main strands if you like of net one one referred to as NET Framework released in 2001 which needed to be installed in its entirety and could only run on Windows platforms the other main strand was referred to as net core which was first released in 2016 and can be seen as a cross-platform modular agile version of The NET Framework Net 5 merged these two platforms into one so no more Net Framework and net core but one unified net moving forward net 6 further cemented the unification of net with its release at the end of 2021 and further enhancements were released with Net 7 and even more enhancements are due to be released in November of this year 2023 with net 8 which will be a long-term support release meaning it will be supported free of charge by Microsoft for 3 years after its release with the evolution of net many enhancements to the C programming language have also been made for example with Version 9 of C the record type was introduced C can use the record type to create userdefined types much like how you would use a class or a struct so what is the difference between a class and a record I found a useful answer to this question at this URL I think this person has answered this question well in the Q&A section of the Microsoft learn platform form they are a new addition the gist of the matter is that records are designed for the common case of data only types they more closely resemble structs than classes a class is an oop object-oriented programming concept that wraps data with functionality a record is just a set of data a mutability of a record is enforced by the language but note that records do not have have to be immutable just like structs and classes don't have to be but they are primarily designed for immutability purposes hence just a set of related data to read a bit further about record types let's see an exerpt from the Microsoft learn platform C Version 9 introduces record types you use the record keyword to define a reference type that provides built-in functionality for encapsulating data you can create record types with immutable Properties by using positional parameters or standard property syntax variable equality value equality means that two variables of a record type are equal if the types match and all property and field values match for other reference types equality means identity that is two variables of a reference type are equal if if they refer to the same object in C 11 generic attributes have been introduced list patterns also with C 11 you can match an array or a list against a sequence of patterns these were just a few basic examples of the types of enhancements that are continually being made to c c is a modern language that is continually evolving to provide developers with new conveniences and to help Developers leverage greater power with less code number 10 C is an exceptionally well-designed language C is a relatively young language first released in 2001 and has been built with the benefit of the knowledge gained from other programming languages that came before like Visual Basic Java and C++ the architect behind C is the renowned Danish software developer Anders hburg Anders hburg co-designed several programming languages and tools he was the original author of Turbo Pascal and was also the Chief Architect of dely he currently works for Microsoft as the lead architect of c and core developer on typescript C was built with rapid application development in mind rapid application development was a core reason as to why Visual Basic was so popular so the creators of C wanted to include the benefits of Rapid application development and the power and expressiveness of C++ in this new programming language in order to achieve these goals as well as provide for language interoperability meaning multiple languages could run on one substrate net a runtime was needed so The NET Framework was created for this purpose The NET Framework provides a set of Base Class libraries that provide generic functionality to net application s a core part of The NET Framework is the common language runtime or CLR which can be described as a virtual machine and provides services like just in time compilation memory management security and exception handling initially net could only run on Windows platforms and needed to be installed in its entirety now in 20123 net has evolved into a unified modular agile versatile platform that can run on a multitude of platforms like Windows Mac OS Linux IOS and Android net can run inside darker containers and can for example be leveraged within globally distributed applications that run in the cloud C has a unified type system where everything is essentially an object it has a well-designed type hierarchy where developers are constrainted to writing type safe code at compile time please note there is a Dynam Dynamic type that allows the developer to circumvent the type system C is a strongly typed language which means type related runtime errors can be preempted at compiled time so before executable code is released into production into the wild type related errors have been dealt with allowing for code to be more robust at runtime sophisticated qualities like generics is built into C where you can initiate generic types at runtime so C is a strongly typed object-oriented programming language that has been built with ease of use and power and expressiveness in mind C is a general purpose high level programming language supporting multiple paradigms C encompasses static typing strong typing lexically scoped imperative declarative functional generic objectoriented and component oriented programming discipline fun fact cop was initially entitled cool SE like objectoriented language it sytax is similar to all languages based on c for example Java C++ and JavaScript C is my personal favorite programming language and I recommend learning C to anyone aspiring to create software I hope you enjoyed this video on why C is the rockar of all programming languages so those are my top 10 reasons to learn C if you like this video please hit the like button and please consider subscribing please also ring the bell so that you'll be notified of future content please feel free to share this video with anyone you feel May benefit from its content if you'd like to thank me by buying me a coffee you can do this through my buy me a coffee web page at this URL it of course will be greatly appreciated so I've very recently joined X formerly known as Twitter my username name is @gavin lon digital so please feel free to follow me on X I really love reading your comments so please feel free to engage with me in the comments section thank you and take care [Music]
Info
Channel: Gavin Lon
Views: 2,672
Rating: undefined out of 5
Keywords:
Id: wBuoiEnIcBw
Channel Id: undefined
Length: 148min 13sec (8893 seconds)
Published: Sun Nov 05 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.