<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Heather Parker </title>
    <description>The latest articles on DEV Community by Heather Parker  (@swordheath).</description>
    <link>https://dev.to/swordheath</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1040436%2Faf409321-db7a-4960-9974-b26a1692ff83.PNG</url>
      <title>DEV Community: Heather Parker </title>
      <link>https://dev.to/swordheath</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/swordheath"/>
    <language>en</language>
    <item>
      <title>Git: the basic commands every developer should know</title>
      <dc:creator>Heather Parker </dc:creator>
      <pubDate>Sat, 01 Apr 2023 13:08:02 +0000</pubDate>
      <link>https://dev.to/swordheath/git-the-basic-commands-every-developer-should-know-2m1e</link>
      <guid>https://dev.to/swordheath/git-the-basic-commands-every-developer-should-know-2m1e</guid>
      <description>&lt;p&gt;Git is useful for anyone who writes code or tracks changes to files, from web developers to app developers. So, what exactly is it, and why should you start using it?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Git?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Git is a version control system that tracks file changes. Using Git allows you to keep a record of all changes and return to specific versions as needed. It is simple to use, takes up little space, and is extremely productive. Its branching model distinguishes it from nearly every other SCM available. The ability to merge changes from multiple people into a single source is what makes Git so simple. You can use GitHub or other online hosts to store backups of your files as well as their revision history.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Git’s main components&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;To me, Git is a wonderful tool to use in team projects because it helps to avoid confusion in code and brings a simple yet effective system to work. Here, I’d like to cover up the main components of Git:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repository&lt;/strong&gt;&lt;br&gt;
A Git repository (or simply repo) contains all of the project files as well as the entire revision history. You'll take an ordinary folder of files (such as the root folder of a website) and tell Git to turn it into a repository. This creates a .git subfolder in which all of the Git metadata for tracking changes is stored. Simply put, a repository is a place where you keep your code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commit&lt;/strong&gt; &lt;br&gt;
To add new code to the repository, you need to make acommit, which is a snapshot of your repository at a particular point in time. commits a specific change, or series of changes, to a file in the repository. Git's history is made up of successive commits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Branch&lt;/strong&gt; &lt;br&gt;
A branch is used to store your changes until they are ready. While the main branch (master) remains stable, you can work on a branch. When you're finished, you can merge it with the master. The great advantage is that you can have a few branches in one repository and merge them whenever you need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pull requests&lt;/strong&gt; &lt;br&gt;
This is a technique used in Git for discussing changes before they are merged into your codebase. A pull request is more than just a notification; it's a dedicated discussion forum for the proposed feature. This is especially convenient when several people are working on the same code, allowing developers to check each other's work.&lt;/p&gt;

&lt;p&gt;Now that we have briefly discussed the main theoretical Git components, I want to list &lt;strong&gt;10 basic Git commands&lt;/strong&gt; that every developer must know before starting to work with Git.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Starting a new repository&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Setting the author name and email address respectively to be used with your commits&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config - - global user.name “[name]”
git config - - global user.email “[email address]” 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Downloading existing source code from a remote repository&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone  &amp;lt;https://name-of-the-repository-link&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4. Creating a new branch&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch &amp;lt;branch-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5. Merging branch in master&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git merge &amp;lt;branch-name&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;6. Getting updates from the remote repository&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git pull &amp;lt;remote&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;7. Adding files into the staging area for Git&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add &amp;lt;file or directory name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;8. The current state of the repository&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git status 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;9. Sending the changes made on the master branch, to your remote repository&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push [variable name] master  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;10. Changing the head (records or snapshots the file permanently in the version history)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m " Commit Message"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So far, these are the main commands that everyone who works with Git must know. In fact, Git is extremely easy to use, and the number of commands is quite large. But to remember these commands is not a tough task—you simply need to start working with Git, and most of the commands will be remembered intuitively. &lt;/p&gt;

</description>
      <category>git</category>
      <category>beginners</category>
      <category>programming</category>
      <category>devops</category>
    </item>
    <item>
      <title>What to choose: C vs C++?</title>
      <dc:creator>Heather Parker </dc:creator>
      <pubDate>Fri, 24 Mar 2023 15:48:21 +0000</pubDate>
      <link>https://dev.to/swordheath/what-to-choose-c-vs-c-1j8e</link>
      <guid>https://dev.to/swordheath/what-to-choose-c-vs-c-1j8e</guid>
      <description>&lt;p&gt;C vs. C++ is a popular developer blog topic. C and C++ are programming languages that can be used to create games, GUI applications, operating systems, databases, etc. C is regarded as the "God" of programming languages, whereas C++ is an extended version of C. They have given so much to the programmers that it will be difficult to choose one over the other!&lt;/p&gt;

&lt;p&gt;In today’s post, I'd like to compare two different languages and try to pick one (spoiler alert: this will be a tough task).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is C?&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;C is a machine-independent structural or procedural oriented programming language that is widely used in a variety of applications. Dennis Ritchie, a great computer scientist, created the C language at Bell Laboratories.&lt;/p&gt;

&lt;p&gt;C is a fundamental programming language that can be used to create everything from operating systems (such as Windows) to complex programs such as the Oracle database, Git, Python interpreter, and many more. Because it serves as the foundation for other programming languages, the C programming language has been dubbed "God's programming language." We can easily learn other programming languages if we know the C language. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is C++?&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;C++ is a general-purpose, object-oriented programming language that was also known as "C with Classes." In 1979, Bjarne Stroustrup created this language. Because it supports both procedural and object-oriented programming languages, it is a multi-paradigm programming language. C++ has the properties of the C programming language, as well as classes and objects for user-defined data types. C++ is used in graphics applications, operating systems, smartwatches, game development, cloud-distributed systems, compilers, and other similar applications.&lt;/p&gt;

&lt;p&gt;C++ is now used by top tech companies such as Google, Meta, Amazon, and many others. It is now not only an extension of the C programming language, but it has also become a popular and in-demand programming language due to its modern update and high performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In what aspects are these languages similar?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Syntax;&lt;/li&gt;
&lt;li&gt;Code structure;&lt;/li&gt;
&lt;li&gt;Almost all of C's operators and keywords are present in C++ and perform the same function;&lt;/li&gt;
&lt;li&gt;Both models' basic memory models are very close to the hardware;&lt;/li&gt;
&lt;li&gt;Both languages have the same notions of stack, heap, file-scope, and static variables;&lt;/li&gt;
&lt;li&gt;They both have the same compilation;&lt;/li&gt;
&lt;li&gt;Most C operators and keywords are present in C++ as well.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What are the key differences between C and C++?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Programming paradigms&lt;/strong&gt; (C is a structural or procedural programming language; C++ is a structural as well as an object-oriented programming language);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subset&lt;/strong&gt; (C++ is a superset of the C programming language; C++ can run 99% of C code, but C cannot run C++ code);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data types&lt;/strong&gt; (C supports built-in data types; C++ supports both built-in and user-defined data types);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language type&lt;/strong&gt; (C is a function-driven language; C++ is an object-driven language);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keywords&lt;/strong&gt; (C contains 32 keywords; C++ supports 52 keywords);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security&lt;/strong&gt; (C does not have any security features, so it can be manipulated by outsiders; C++ is a secure language as it offers security features such as data hiding and encapsulation);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Headers&lt;/strong&gt; (the C standard IO header is &lt;code&gt;stdio.h&lt;/code&gt;; for C++, it is &lt;code&gt;iostream.h&lt;/code&gt;);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compatibility&lt;/strong&gt; (Code written in C can be run on a C++ compiler because C is the foundational language; code written in C++ can be run on a C compiler because C++ includes the concept of OOP);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Approach&lt;/strong&gt; (for C, a top-down approach; for C++, a bottom-up approach);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reference variable&lt;/strong&gt; (the C language doesn’t support RV; C++ supports RV);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inheritance&lt;/strong&gt; (the C language doesn’t support inheritance; C++ supports inheritance);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Overloading&lt;/strong&gt; (the C language doesn’t support overloading; C++ supports overloading);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Input and Output Function&lt;/strong&gt; (In C, the &lt;code&gt;scanf()&lt;/code&gt; and &lt;code&gt;printf()&lt;/code&gt; functions are used to take the input and output, respectively; in C++, the &lt;code&gt;cin&lt;/code&gt; and &lt;code&gt;cout&lt;/code&gt; functions are used to take the input and output, respectively);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Meta-programming&lt;/strong&gt; (macros + &lt;code&gt;_Generic()&lt;/code&gt; for C; templates (macros are still supported but discouraged) for C++).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Which approach is better?&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;When using different programming languages such as C and C++, neither approach is superior. It all comes down to personal preference. Both can be used by skilled programmers to create a fully functional program. However, bottom-up is usually preferable for groups and top-down for individuals. Bottom-up tends to be messier than top-down, which is more organized by default. From that point of view, I believe that C is more preferable to learn.&lt;/p&gt;

&lt;p&gt;One more argument to learn C is that C++ is based on this language, so all fundamental rules and principles are alike for both of these languages. One of the options is to study C in the first place and then learn C++. In that case, you will have the ability to dive into each language and, depending on the project you are working on, make your choice.&lt;/p&gt;

&lt;p&gt;To be honest, I don’t think that it is a truly good question—what language to choose among C and C++. It is obvious that these two programming languages have some similarities, but in most cases they serve different purposes and are used in different projects. Which language to choose is totally up to the developer who is going to work with it.&lt;/p&gt;

&lt;p&gt;For me, C++ is more preferable, due to the fact that it has more features and more applications, which allow me to explore various roles. Learning C++ is also easier, especially if you are familiar with object-oriented programming. Knowledge of object-oriented programming will take you a long way to mastering C++. Of course, this experience is not required. &lt;/p&gt;

&lt;p&gt;Which language do you prefer, C or C++? Share your experience in the comments!&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>programming</category>
      <category>c</category>
      <category>productivity</category>
    </item>
    <item>
      <title>TypeScript for Beginners: What You Should Know</title>
      <dc:creator>Heather Parker </dc:creator>
      <pubDate>Sun, 19 Mar 2023 10:31:23 +0000</pubDate>
      <link>https://dev.to/swordheath/typescript-for-beginners-what-you-should-know-n0a</link>
      <guid>https://dev.to/swordheath/typescript-for-beginners-what-you-should-know-n0a</guid>
      <description>&lt;p&gt;TypeScript is a great programming language that was introduced to the public in 2012. This language is a typed superset of JavaScript that compiles to plain JavaScript. TypeScript is pure object-oriented, with classes and interfaces, and statically typed like C# or Java. The popular JavaScript framework Angular 2.0 is written in TypeScript. Mastering TypeScript can help programmers write object-oriented programs and have them compiled to JavaScript, both on the server side and the client side.&lt;/p&gt;

&lt;p&gt;Since I’ve only recently mastered my skills working with this programming language, I decided to share my experience and hopefully help those who are just at the beginning of their journey!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why can using typescript be helpful&lt;/strong&gt;?&lt;br&gt;
As was already mentioned, TypeScript is a kind of subtype of JavaScript, which helps developers simplify the original language so it is easier to implement it in projects. In the developer world, there are lots of doubts regarding TypeScript and the general sense that it brings to the code writing process. But my opinion here is that TypeScript knowledge is not something that will take a lot of your time while learning but something that will definitely give you lots of advantages, especially if you work with JavaScript.&lt;/p&gt;

&lt;p&gt;Furthermore, TypeScript extends JavaScript and improves the developer experience. It enables developers to add type safety to their projects. TypeScript provides various other features, like interfaces, type aliases, abstract classes, function overloading, tuples, generics, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting up typescript&lt;/strong&gt;&lt;br&gt;
The first and most obvious step is to know JavaScript:) Because typescript is based on this programming language, learning it is primarily dependent on your understanding of JavaScript.You don’t have to be a master of JavaScript, but without knowing some basics of this language, working with TypeScript is a challenging task.&lt;/p&gt;

&lt;p&gt;When I was dealing with this programming language, I found dozens of different resources explaining the mechanics of writing the code, and also very helpful for me was the official documentation, which you can find &lt;a href="https://www.typescriptlang.org/docs/handbook/typescript-tooling-in-5-minutes.html"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There are a few basic steps that will help you start working with TypeScript.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1. Installing&lt;/strong&gt; &lt;br&gt;
In this step, you need to install Node.js on your computer and the &lt;code&gt;npm&lt;/code&gt; command manager.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It is also possible to use Visual Studio typescript plugins, but I personally prefer working with Node. Js&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; npm install -g typescript
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once Node.js is installed, run node &lt;code&gt;-v&lt;/code&gt; to see if the installation was successful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Generate the Node.js file&lt;/strong&gt;&lt;br&gt;
Using the &lt;code&gt;npm init&lt;/code&gt; command, you will need to generate the Node.js &lt;code&gt;package.json&lt;/code&gt; file, which will introduce systematic questions about your project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Add TypeScript dependencies&lt;/strong&gt;&lt;br&gt;
Now, when we prepared our environment in Node.js, we needed to install dependencies for TypeScript using the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g typescript
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command will install the TypeScript compiler on a system-wide basis. From that moment, any project you create on your computer can access TypeScript dependencies without having to reinstall the TypeScript package.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4. Install typescript ambient declarations&lt;/strong&gt;&lt;br&gt;
This is probably one of the greatest things that typescript offers: ambients. This is a specific declaration, type, or module that tells the TypeScript compiler about actual source code (like variables or functions) existing elsewhere. If our TypeScript code needs to use a third-party library that was written in plain JavaScript libraries like jQuery, AngularJS, or Node.js, we can always write ambient declarations. The ambient declaration describes the types that would have been there and will be written in TypeScript.&lt;/p&gt;

&lt;p&gt;The TypeScript ecosystem contains thousands of such ambient declarations files, which you can access through &lt;code&gt;DefinitelyTyped&lt;/code&gt;. DefinitelyTyped is a repository that contains declaration files contributed and maintained by the TypeScript community.&lt;/p&gt;

&lt;p&gt;To install this declaration file, use this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install --save-dev @types/node
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Most of the types for popular JavaScript libraries exist in &lt;br&gt;
&lt;code&gt;DefinitelyTyped&lt;/code&gt;. However, if you have a JavaScript library whose types are missing from &lt;code&gt;DefinitelyTyped&lt;/code&gt;, you can always write your own ambient modules for it. Defining types doesn’t necessarily have to be done for every line of code in the external library, only for the portions you are using.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Create a typescript configuration file&lt;/strong&gt;&lt;br&gt;
The &lt;code&gt;tsconfig.json&lt;/code&gt; file is where we define the TypeScript compiler options.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx tsc --init --rootDir src --outDir build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;tsconfig.json&lt;/code&gt; file has many options. It’s good to know when to turn things on and off. TSC reads this file and uses these options to translate TypeScript into browser-readable JavaScript.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Create a scr folder&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;src&lt;/code&gt; hosts the TypeScript files:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir src
touch src/index.ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside &lt;code&gt;src&lt;/code&gt;, we also create an &lt;code&gt;index.ts&lt;/code&gt; file, and then we can start writing some TypeScript code.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;While writing Typescript, it is advisable to have a Typescript compiler installed in your project’s local dependencies.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Step 7. Executing TypeScript&lt;/strong&gt;&lt;br&gt;
Now, run the &lt;code&gt;tsc&lt;/code&gt; command using &lt;code&gt;npx&lt;/code&gt;, the Node package executer. &lt;code&gt;tsc&lt;/code&gt; will read the &lt;code&gt;tsconfig.json&lt;/code&gt; file in the current directory and apply the configuration against the TypeScript compiler to generate the compiled JavaScript code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx tsc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now run the command below to execute the code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node dist/index.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Basically, that’s it; we’ve set up an environment and compiled our first TypeScript file, where we can now start writing our code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important things to know&lt;/strong&gt;&lt;br&gt;
When starting to work with TypeScript, you should take into account that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;TypeScript takes longer to write than JavaScript because you have to specify types, so it may not be worth using for small projects;&lt;/li&gt;
&lt;li&gt;TypeScript must be compiled, which can take some time, particularly in larger projects.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These are two limitations that TypeScript has; it doesn’t mean that you should not implement it in larger projects, but you should be aware that it may slow down the code writing process. So if you have an urgent, huge project, think thoroughly about whether to use TypeScript for it or not.&lt;/p&gt;

&lt;p&gt;In this post, I just briefly explained the basics of setting up TypeScript and its purpose, but to be able to build projects based on this programming language, you need to know a lot of theory, especially ones about classes, modules, variables, functions, interfaces, etc. As with any programming language, theory is the basis that allows developers to avoid mistakes (in most cases) and successfully create and run projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Because TypeScript generates plain JavaScript code, you can use it with any browser. TypeScript is also an open source project that provides many object-oriented programming language features such as classes, interfaces, inheritance, overloading, and modules. Overall, TypeScript is a promising language that can undoubtedly assist you in neatly writing and organizing your JavaScript code base, making it more maintainable and extensible.&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>beginners</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Great GitHub repositories that developers love</title>
      <dc:creator>Heather Parker </dc:creator>
      <pubDate>Fri, 10 Mar 2023 11:50:00 +0000</pubDate>
      <link>https://dev.to/swordheath/great-github-repositories-that-developers-love-1g97</link>
      <guid>https://dev.to/swordheath/great-github-repositories-that-developers-love-1g97</guid>
      <description>&lt;p&gt;GitHub is a well-known open-source platform for code hosting, collaboration, and version control. I doubt there is a single developer who is unfamiliar with GitHub. It not only allows its users to store and share code but also serves as an educational platform for many development-related topics. I decided to make my own list of preferred repositories, which helped me a lot (and still does!!) in my work. Please have a seat and enjoy my top 8 GitHub repositories for developers of all kinds!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. &lt;a href="https://github.com/sindresorhus/awesome"&gt;Awesome&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
243K🌠 &lt;/p&gt;

&lt;p&gt;This repository is one of my favorite because it contains plenty of different information on various development topics. Basically, this repository is an alternative to Google when it comes to research on topics such as code, programming languages, development, security, etc. It is a handy resource for developers to improve their skills. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. &lt;a href="https://github.com/Avik-Jain/100-Days-Of-ML-Code"&gt;100 Days of ML Code&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
40.1K🌠&lt;/p&gt;

&lt;p&gt;This repository, possibly one of the most detailed, adheres to a strict 100-day curriculum for learning machine learning. Every day, a new topic is introduced, such as data pre-processing, simple linear regression, logistic regression, and others. These topics are accompanied by codes, explanations, and detailed infographics. The repo is a simple yet comprehensive way for developers to learn fundamental concepts. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. &lt;a href="https://github.com/trekhleb/javascript-algorithms"&gt;Javascript algorithms&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
164K🌠&lt;/p&gt;

&lt;p&gt;GitHub's Javascript Algorithms repository provides an invaluable resource for anyone looking to learn or explore coding with JavaScript. The repository offers explanations and examples of the algorithms in multiple languages, including JavaScript. This makes it easier for beginners to understand and learn the concepts behind the algorithms. Additionally, experienced developers can use the repository to explore more advanced implementations of the same algorithms. The explanations are easily divided and tagged for advanced and beginners, and each comes with its own README, YouTube videos, and links to additional reading. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. &lt;a href="https://github.com/kamranahmedse/developer-roadmap"&gt;Developer roadmap&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
232K🌠&lt;/p&gt;

&lt;p&gt;Many students and newcomers to programming are perplexed about which technology to learn and which path to take to become a good developer. The founder of this repository created a comprehensive chart that includes the technology in each development category (frontend, backend, DevOps, etc.) to help you understand what you should learn next. In general, this is a must-have repository for anyone who wants to become a pro in software development. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. &lt;a href="https://github.com/30-seconds/30-seconds-of-code"&gt;30 seconds of code&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
108K🌠 &lt;/p&gt;

&lt;p&gt;If you don't know much about web programming, this is the best place to start. 30 Seconds of Code is an excellent resource for tiny code snippets to help you speed up your web development. So, whether you're a programmer or a web designer, check out this repository. It includes several codes that will improve the usability of your website. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. &lt;a href="https://github.com/AllThingsSmitty/css-protips"&gt;CSS Protips&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
24.7K🌠 &lt;/p&gt;

&lt;p&gt;CSS Protips is a repository devoted completely to different tips and data aimed at improving your CSS skills. This repository's tips will walk you through everything from working with CSS style elements to usability aspects in the simplest way possible. It has a simple yet informative README where you can find navigation for the repository and a list of tips with clear code examples. To become a true CSS expert, visit this GitHub repository. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. &lt;a href="https://github.com/github/gitignore"&gt;Gitignore&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
145K🌠&lt;/p&gt;

&lt;p&gt;This is the largest collection of useful &lt;code&gt;.gitignore&lt;/code&gt; templates. Every new project you create as a GitHub repository must include a &lt;code&gt;.gitignore&lt;/code&gt; file to filter what gets uploaded. The contents of this file vary depending on the project and language. In order to save time, you can simply take the template you need from this repository instead of creating it from scratch and implement it in your project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. &lt;a href="https://github.com/jwasham/coding-interview-university"&gt;Coding Interview University&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
251K🌠 &lt;/p&gt;

&lt;p&gt;Coding interview university was created to help people to become a software engineers and work successfully in this field. This repository is a multi-month study plan for any big tech giant interview, beginning with the fundamentals of programming and progressing to advanced concepts of data structures, system design, and core CS concepts. It contains books, lectures, online resources, and videos on a variety of software engineering topics, as well as CV writing tips and job application advice. &lt;/p&gt;

&lt;p&gt;I'd love to know what your favorite GitHub repositories are; share them in the comments!&lt;/p&gt;

</description>
      <category>github</category>
      <category>programming</category>
      <category>beginners</category>
      <category>repository</category>
    </item>
  </channel>
</rss>
