<?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>Forem: Sage Code</title>
    <description>The latest articles on Forem by Sage Code (@sagecode).</description>
    <link>https://forem.com/sagecode</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%2Forganization%2Fprofile_image%2F3504%2F71b9713d-f7ce-446c-ac14-14ce029f8d35.jpg</url>
      <title>Forem: Sage Code</title>
      <link>https://forem.com/sagecode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sagecode"/>
    <language>en</language>
    <item>
      <title>Using AI to learn</title>
      <dc:creator>Elucian Moise</dc:creator>
      <pubDate>Sun, 02 Apr 2023 09:50:01 +0000</pubDate>
      <link>https://forem.com/sagecode/using-ai-to-learn-mbi</link>
      <guid>https://forem.com/sagecode/using-ai-to-learn-mbi</guid>
      <description>&lt;p&gt;With the development of AI, now you can have a personal mentor. You can ask any questions to learn faster anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to ask?
&lt;/h2&gt;

&lt;p&gt;There are some secrets you can find out from AI yourself. Even you can ask a simple question like this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How do I ask questions for AI bots to learn computer programming?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Bard response:
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Ask open-ended questions. These are questions that don't have a simple yes or no answer. They require the AI chat boat to think critically and provide a more detailed response. &lt;/p&gt;

&lt;p&gt;For example, you could ask "What are the different types of programming languages?" or "What are the benefits of using a programming language?"&lt;/p&gt;

&lt;p&gt;Ask questions that require the AI chat boat to explain something. This could be something as simple as asking "What does this code do?" or "How does this algorithm work?" &lt;/p&gt;

&lt;p&gt;Asking these types of questions will help the AI chat boat to better understand the concepts you're trying to teach it.&lt;/p&gt;

&lt;p&gt;Ask questions that require the AI chat boat to apply its knowledge. This could be something like asking "How would you use this programming language to solve this problem?" or "How would you use this algorithm to make this decision?" &lt;/p&gt;

&lt;p&gt;Ask questions that require the AI chat boat to apply its knowledge. "How would you use this algorithm to make this decision?" Asking these types of questions will help the AI chat boat to better understand how to use its knowledge in real-world situations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Warning:
&lt;/h2&gt;

&lt;p&gt;It's also important to be patient when asking questions of AI chat boats. They are still under development, and they may not always be able to answer your questions perfectly. However, if you provide them with clear and concise questions, they will be able to learn and improve over time.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Disclaim:&lt;/strong&gt; I have used Bard to create this article. This demonstrate how useful the AI can be, to improving your skills in programming, when you ask the questions rigt.&lt;/p&gt;




&lt;p&gt;Be happy, have fun and prosper. 🖖🏼&lt;/p&gt;

</description>
      <category>ai</category>
      <category>learning</category>
      <category>programming</category>
      <category>study</category>
    </item>
    <item>
      <title>10 steps to create a project</title>
      <dc:creator>Elucian Moise</dc:creator>
      <pubDate>Mon, 21 Feb 2022 18:17:15 +0000</pubDate>
      <link>https://forem.com/sagecode/10-steps-to-create-a-project-25mg</link>
      <guid>https://forem.com/sagecode/10-steps-to-create-a-project-25mg</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;First you must learn to use a version control software, preferably git or mercurial. You check-in the empty project from the beginning. Do not wait until the project grow, it may be too late.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write unit tests. I've always scoffed at them because they only test the cases you've thought of, and you probably already thought of them when you wrote the code you're testing, but once your project grows and you add people to the team, you're going to wish you'd done it.&lt;br&gt;
Have separate development, test and production servers so you can have people looking at your stuff on test while you break stuff on development environment. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use a labeling or branching system in your version control so you can always go back to the code that's running on each server. If a problem comes up in production while you're working on a new whiz-bang new feature in development, you want to be able to put aside the new feature and fix it in the production version.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Deploying code to development should be automatic as soon as you check in. Deploying to test and production should either be automatic or a single click.&lt;br&gt;
Make sure your boss and other stakeholders actually look at the site on test before you deploy to production. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Try to get some of the people who will actually use the site involved in usability testing. Listen to them, but don't let them design the thing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make sure your code has clear division of responsibility. Don't mix the access control in the middle of the business logic and the UI.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use a web framework like Twitter bootstrap. Sometimes you'll be fighting with it, but it will take a lot of the burden of getting a consistent UI off your hands.&lt;br&gt;
Use a good framework like Svelte or Vue for JavaScript back-end.This will organize your application and will have better integration with the front-end.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you use Python, use a good framework like Django or Flask. Make sure it supports or at least doesn't prevent you from doing AJAX front-end and asynchronous jobs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you like higher performance, try to make responsive web pages using Vanilla JavaScript and CSS. Your page should work on any monitor size from very large to very small. Some users have secondary monitor in portrait mode and some are using multiple monitors. Having the applications design for a fix size is a huge mistake.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hosting:  After you create a website on your computer, you have to deploy it to a web host server to be visible over the internet. Hosting a website is not easy. You need a domain name, and this costs you money. Then you need to know how to connect to the server and upload files.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I hope you enjoy this reading.&lt;/p&gt;

</description>
      <category>application</category>
      <category>project</category>
      <category>creation</category>
    </item>
    <item>
      <title>Programming Languages</title>
      <dc:creator>Elucian Moise</dc:creator>
      <pubDate>Mon, 18 Jan 2021 15:17:45 +0000</pubDate>
      <link>https://forem.com/sagecode/programming-languages-22ak</link>
      <guid>https://forem.com/sagecode/programming-languages-22ak</guid>
      <description>&lt;p&gt;We are working hard to make an ultimate tutorial for beginners to learn any programming language easier. For now I do most of the work but I receive help from my team to fix errors. You can join this effort and post comments below to make suggestions how to improve our tutorials.&lt;/p&gt;

&lt;h1&gt;
  
  
  Fundamentals
&lt;/h1&gt;

&lt;p&gt;The main struggle of new software developers is understanding the basics of computation. After this any programming language will be more easy to learn. But virtual no tutorial is explaining the basics. So what are these? What you need to learn before learning a programming language? &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Boolean algebra and logic&lt;/li&gt;
&lt;li&gt;Programming paradigms&lt;/li&gt;
&lt;li&gt;History of programming languages&lt;/li&gt;
&lt;li&gt;Compilers and interpreters&lt;/li&gt;
&lt;li&gt;Operating system&lt;/li&gt;
&lt;li&gt;Software architecture&lt;/li&gt;
&lt;li&gt;Database design&lt;/li&gt;
&lt;li&gt;Data structures and algorithms&lt;/li&gt;
&lt;li&gt;Testing, version control and team-work&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We have set-up our first tutorial to teach these things, it is called: Software Engineering and is available for free on our homepage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tutorial:&lt;/strong&gt; &lt;a href="https://sagecode.net/engineering.html" rel="noopener noreferrer"&gt;Software Engineering&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Advanced
&lt;/h1&gt;

&lt;p&gt;After you take Software Engineering class you can consider yourself advanced software developer, and you can start learning any other programming language. &lt;/p&gt;

&lt;p&gt;You will be probably amazed how easy it is to learn after you know the fundamentals. Most programming languages are using the same paradigms but maybe some different keywords. Maybe operators and symbols are different and maybe functions or classes have different names.&lt;/p&gt;

&lt;p&gt;We have manage to reuse some of the diagrams from Software Engineering course to explain flow control for many programming languages. Here is the list:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;##&lt;/th&gt;
&lt;th&gt;Language&lt;/th&gt;
&lt;th&gt;Programming Paradigm&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;01&lt;/td&gt;
&lt;td&gt;HTML+CSS&lt;/td&gt;
&lt;td&gt;Descriptive&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;02&lt;/td&gt;
&lt;td&gt;JavaScript&lt;/td&gt;
&lt;td&gt;Functional&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;03&lt;/td&gt;
&lt;td&gt;SQL&lt;/td&gt;
&lt;td&gt;Descriptive&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;04&lt;/td&gt;
&lt;td&gt;Dart&lt;/td&gt;
&lt;td&gt;Object Oriented&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;05&lt;/td&gt;
&lt;td&gt;Python&lt;/td&gt;
&lt;td&gt;Multi-paradigm&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06&lt;/td&gt;
&lt;td&gt;Ruby&lt;/td&gt;
&lt;td&gt;Object-Oriented&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;07&lt;/td&gt;
&lt;td&gt;Julia&lt;/td&gt;
&lt;td&gt;Functional&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08&lt;/td&gt;
&lt;td&gt;Go&lt;/td&gt;
&lt;td&gt;Functional&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09&lt;/td&gt;
&lt;td&gt;PHP&lt;/td&gt;
&lt;td&gt;Object-Oriented&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;Rust&lt;/td&gt;
&lt;td&gt;Functional&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;Structured&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;C++&lt;/td&gt;
&lt;td&gt;Object Oriented&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;Java&lt;/td&gt;
&lt;td&gt;Object Oriented&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;Scala&lt;/td&gt;
&lt;td&gt;Multi-paradigm&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h1&gt;
  
  
  How to chose?
&lt;/h1&gt;

&lt;p&gt;There are so many languages to chose from. What are we going to learn first? My answer is: "it depends". And this is the answer you will get from most programming instructors. &lt;/p&gt;

&lt;h2&gt;
  
  
  Scientific application
&lt;/h2&gt;

&lt;p&gt;For understanding data structures and algorithms used in scientific papers we recommend two languages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;julia&lt;/li&gt;
&lt;li&gt;python&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Web development
&lt;/h2&gt;

&lt;p&gt;For web development you can use almost any language but you can do front-end with a limited number of languages. We recommend one of these languages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Front-End&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML+CSS&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Back-End&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;Ruby&lt;/li&gt;
&lt;li&gt;PHP&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  System programming
&lt;/h2&gt;

&lt;p&gt;For system programming you can consider: desktop applications or command line applications. But we have chosen to bundle these in "native applications" and "scripts. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Native apps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The native applications are usually compiled and can have GUI or command line. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;C++&lt;/li&gt;
&lt;li&gt;C#&lt;/li&gt;
&lt;li&gt;Rust&lt;/li&gt;
&lt;li&gt;Dart&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Scripting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A script can take parameters and can be used as a command. Usually a script is a single file.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bash&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Ruby&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; On Windows you can do "Power Shell" or "Batch" scripts but we do not teach these languages yet, so if you learn on our website you will be able to use Python or Ruby to make script applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tutorial:&lt;/strong&gt; &lt;a href="https://sagecode.net/programming.html" rel="noopener noreferrer"&gt;Programming Languages&lt;/a&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>programming</category>
      <category>languages</category>
    </item>
    <item>
      <title>About Sage-Code</title>
      <dc:creator>Elucian Moise</dc:creator>
      <pubDate>Tue, 29 Dec 2020 23:56:43 +0000</pubDate>
      <link>https://forem.com/sagecode/about-sage-code-144o</link>
      <guid>https://forem.com/sagecode/about-sage-code-144o</guid>
      <description>&lt;h1&gt;
  
  
  About us
&lt;/h1&gt;

&lt;p&gt;Sage-Code community is open and distributed. We work and study from home or private offices. Our website is safe, clean and very secure. To make this possible we don't collect any data from our members and we don't send you any e-mail. Instead we use popular social media platforms. Our followers are our members.&lt;/p&gt;

&lt;h2&gt;
  
  
  Activity
&lt;/h2&gt;

&lt;p&gt;We practice our skills by making exquisite projects with diverse programming languages. If you like our activity, feel free to join us and chat on your favorite platform. We look forward to meet you on-line! Don't stress yourself and have some fun, life is awfully short!&lt;/p&gt;

&lt;h2&gt;
  
  
  Products
&lt;/h2&gt;

&lt;p&gt;Our website is hosting two courses. One is about Software Engineering and second is about Programming Languages. Both courses are optimized for second monitor on portrait mode. That is a vertical screen. It is based on idea that mobile devices are more taller then wide and you want the documentation on a tablet or on your second monitor. Our articles are add free and there is no log-in required to read them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Languages
&lt;/h2&gt;

&lt;p&gt;We teach following languages: {HTML+CSS, JavaScript, SQL, Dart, Python, Ruby, Julia, Go, PHP, Rust, C, C++, Java, Scala}. In the future we will probably add more but for now we cover these 14 languages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance
&lt;/h2&gt;

&lt;p&gt;We strive for performance. Our website is design to be super fast. We use to have a slow WordPress website but we have optimized the performance by making a static website with Bootstrap and SVG diagrams. We have quit using WordPress and we are very happy. This enable you to visualize our diagrams on any device at optimal resolution with virtual instant access. No delays and no interruptions for our honorable visitors.&lt;/p&gt;

&lt;h2&gt;
  
  
  New members
&lt;/h2&gt;

&lt;p&gt;You can join if you are a developer or wish to become one. Links to our social platforms are on the website main page at the bottom. We are using: Discord, GitHub, Twitter and LinkedIn but now we are also using dev.to so you can connect with us but you need a secret invitation. So contact us for a short interview on Twitter or on Discord. Then after we check who you are we invite you in. &lt;/p&gt;

&lt;p&gt;Enjoy learning and Have some fun: &lt;a href="https://sagecode.net" rel="noopener noreferrer"&gt;Sage-Code Homepage&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
