mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-29 21:41:00 +08:00
368313e4c6
sources/tech/20210112 15 favorite programming tutorials and insights.md
109 lines
9.1 KiB
Markdown
109 lines
9.1 KiB
Markdown
[#]: collector: (lujun9972)
|
||
[#]: translator: ( )
|
||
[#]: reviewer: ( )
|
||
[#]: publisher: ( )
|
||
[#]: url: ( )
|
||
[#]: subject: (15 favorite programming tutorials and insights)
|
||
[#]: via: (https://opensource.com/article/21/1/best-programming)
|
||
[#]: author: (Bryant Son https://opensource.com/users/brson)
|
||
|
||
15 favorite programming tutorials and insights
|
||
======
|
||
Whether you're new to programming or want to improve your existing
|
||
skills, there is an article in this list to help you. Take a look at
|
||
some of the best programming articles of 2020.
|
||
![Learning and studying technology is the key to success][1]
|
||
|
||
Happy new year! 2020 was one heck of an unusual year with the COVID-19 pandemic pushing us to stay at home and dramatically transforming our lifestyles. However, a time like this is also the best time to start picking up a new programming language or to level up your existing programming skillset. We begin with some light reading: **What is your first programming language?** and **Why developers like to code at night**. Next, we have articles about some specific programming languages like **C**, **D**, and **Awk**. Last, we provide some advanced programming language contents like **Real-Time Operating System (RTOS)**, **WebAssembly**, and **sharing data between C and Python**.
|
||
|
||
## [What was your first programming language?][2]
|
||
|
||
Chances are, not everyone remembers the very first thing they ate after they were born, but many programmers most likely recall their very first programming language. In this article, Opensource.com editor Lauren Pritchett took a survey asking the community this question. Go down your own memory lane by reading the responses to this question by other developers.
|
||
|
||
## [Why developers like to code at night][3]
|
||
|
||
Ever wonder why so many programmers stay late to crank out the lines of code that may turn into the next Google, Facebook, or Netflix? Quite surprisingly, many psychological studies exist that explain the productivity behind this common routine. Learn about it by reading this article by Matt Shealy.
|
||
|
||
## [Why I use open source technology for web development][4]
|
||
|
||
The Internet has been the driving force behind the popularity of open source programming, tools, and frameworks. But how can we explain this trend, and what are key characteristics of the web that inspire developers to continuously endorse open source technologies? See why Jim Hall believes that open source is the right way to build web applications.
|
||
|
||
## [5 steps to learn any programming language][5]
|
||
|
||
Learning a programming language may feel like a daunting task, but the process can be much easier with the right approach. Just as memorizing vocabulary and using correct grammar matter for learning a new spoken language, understanding syntax, functions, and data types matters for new programming languages. Learn about five steps you can apply when you decide to learn a new programming language.
|
||
|
||
## [An introduction to writing your own HTML web pages][6]
|
||
|
||
**Hypertext Markup Language (HTML)** is not a programming language, but it is the backbone behind the Internet as billions of people visit webpages built with HTML every day. HTML, interpreted by web browsers, is a markup language that anyone can easily learn with a few simple practices. Read how you can start writing your first web page by reading this article!
|
||
|
||
## [Learn the basics of programming with C][7]
|
||
|
||
Who says **C** programming is dead? **C** is still the father of many existing programming languages, libraries, and tools today, and industries have recently noticed the **C** programming language's rejuvenation. Its job demand has also exploded with AR/VR and the growth of the gaming industry. However, learning **C** programming is quite challenging. Get a jump start on your journey learning **C** programming by reading this article by Seth Kenlon.
|
||
|
||
## [What I learned while teaching C programming on YouTube][8]
|
||
|
||
There are many resources to learn programming languages, but the best result comes if one plans well, executes well, and makes the learning applicable. Most importantly, you need to have a passion for learning. See what Jim Hall learned by teaching the C programming language through his YouTube channel.
|
||
|
||
## [The feature that makes D my favorite programming language][8]
|
||
|
||
What comes after C? Yes, it is the letter D, and there is a programming language called **D** as well. Although it is not the most well-known programming language, **D** has features like _Universal Function Call Syntax (UFCS)_ that make it quite an interesting language to learn. Lawrence Aberba explains the feature and how you can use it, too.
|
||
|
||
## [The surprising thing you can do in the D programming language][9]
|
||
|
||
In another article, Lawrence talks about _nesting_ support in **D**, a feature that makes it stand out among other programming languages. Read what it is and explore how **D** delivers nesting functionality.
|
||
|
||
## [A practical guide to learning awk][10]
|
||
|
||
**Awk** is a programming language that is probably strange to many people, but learning **awk** can give you power that really shines in day-to-day Linux operations. By reading this article, you can learn how **awk** parses input and how functions are structured.
|
||
|
||
## [How to write a VS Code extension][11]
|
||
|
||
**Visual Studio Code (VS Code)** is an extremely popular cross-platform code editor created by Microsoft, and it is an open source project based on an MIT license. One of the great things about the editor is its extensibility through **VS Code extensions**. You don't have to be a rocket scientist to build your first extension! After reading this article, you will be on the path to becoming a VS Code extension master.
|
||
|
||
## [Customizing my open source PHP framework for web development][12]
|
||
|
||
**PHP** is often a neglected programming language hated by some programmer groups for a few reasons, such as it is very easy to produce bad code. However, Facebook, Wikipedia, Tumblr, and many websites were originally built with **PHP**, and it is still one of the most popular web programming languages out there. See how Wee Ben Sen used **PHP** framework **CodeIgniter** to create high-performance websites for numerous occasions and learn its key benefits.
|
||
|
||
## [Code your hardware using this open source RTOS][13]
|
||
|
||
**RTOS** stands for **Real-Time Operating System**. It is an open source operating system optimized for embedded hardware like CPUs and computer chips. By taking advantage of **RTOS**, a project can benefit from concurrency, modularity, and real-time scheduling. This article explains **RTOS** and the numerous benefits associated with this open source operating system.
|
||
|
||
## [Why everyone is talking about WebAssembly][14]
|
||
|
||
**WebAssembly** is a new type of code that runs in modern web browsers. It is a low-level assembly-like language with a compact binary format. **WebAssembly** runs with near-native performance and provides languages such as C/C++, C#, and Rust with a compilation target so that they can run on the web. **WebAssembly** has gained huge traction in the past few years due to the ever-growing popularity of JavaScript. Follow the history behind **WebAssembly** and learn what makes it so popular today.
|
||
|
||
## [Share data between C and Python with this messaging library][15]
|
||
|
||
Sharing data between two distinct programming languages may sound like a super challenging task. However, leveraging an open source tool like **ZeroMQ**, you can easily create a messaging interface that transmits the data across different layers. Learn how you can make one by reading this article.
|
||
|
||
As you can see, whether you are new to programming languages or want to grow your career further, there are learning opportunities for everyone. Let me know what you think by leaving a comment here.
|
||
|
||
--------------------------------------------------------------------------------
|
||
|
||
via: https://opensource.com/article/21/1/best-programming
|
||
|
||
作者:[Bryant Son][a]
|
||
选题:[lujun9972][b]
|
||
译者:[译者ID](https://github.com/译者ID)
|
||
校对:[校对者ID](https://github.com/校对者ID)
|
||
|
||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||
|
||
[a]: https://opensource.com/users/brson
|
||
[b]: https://github.com/lujun9972
|
||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/studying-books-java-couch-education.png?itok=C9gasCXr (Learning and studying technology is the key to success)
|
||
[2]: https://opensource.com/article/20/8/first-programming-language
|
||
[3]: https://opensource.com/article/20/2/why-developers-code-night
|
||
[4]: https://opensource.com/article/20/4/open-source-web-development
|
||
[5]: https://opensource.com/article/20/10/learn-any-programming-language
|
||
[6]: https://opensource.com/article/20/4/build-websites
|
||
[7]: https://opensource.com/article/20/8/c-programming-cheat-sheet
|
||
[8]: https://opensource.com/article/20/7/d-programming
|
||
[9]: https://opensource.com/article/20/8/nesting-d
|
||
[10]: https://opensource.com/article/20/9/awk-ebook
|
||
[11]: https://opensource.com/article/20/6/vs-code-extension
|
||
[12]: https://opensource.com/article/20/5/codeigniter
|
||
[13]: https://opensource.com/article/20/6/open-source-rtos
|
||
[14]: https://opensource.com/article/20/1/webassembly
|
||
[15]: https://opensource.com/article/20/3/zeromq-c-python
|