Loading...

plz learn code

标签:

The computer is one of the greatest inventions in the world (At least I think so). In layman’s terms, the operation of the computer is inseparable from the program, and the program is like an instruction to the computer. The computer will follow your instructions (i.e. the program runs). Coding is nothing more than the process of writing various instructions.

  • If you found my website, you are presumably someone who likes learning and thinking. If you are such a person, and you don’t know how to code, here is my advice for you: sit down and learn it.
  • Seriously, learn to code. Learn. To. Code. Learn to code god-damn it!

File system: Concepts for beginners

In computing, a file system or filesystem (often abbreviated to FS or fs) governs file organization and access. A local file system is a capability of an operating system that services the applications running on the same computer. A distributed file system is a protocol that provides file access between networked computers.

A file system provides a data storage service that allows applications to share mass storage. Without a file system, applications could access the storage in incompatible ways that lead to resource contention, data corruption and data loss.

Introduction (can be skipped)

This explains at a high level the most basic types of objects1 that any computer system will have. It is meant to be a short briefing before you follow the instructions in the learning path page.

Topics covered

In the last 10 years, the ways users access files have changed dramatically. For many students, even the concept of a “file” could be challenging now, let alone an editor or compiler.

The goal for this post is to try and sort out some common conceptions. It’s attempting to write out what are some common confusions about different types of objects in computing world, and draw analogies to the real world.

Specifically, I want to talk about five kinds of things:

  • Folders and files
  • Editors
  • Compilers/interpreter
  • Terminal emulators
  • Executing programs

Why do you want to learn a programming language? Are you programming just for fun? Curious about what coding is like? Trying to build something specific or get a new job? Answering this question is a great way to get an idea of what language might be best to start with. So please finding the best programming language for your goals.

If you’re just learning for fun, pick any language you like! Some popular languages for those starting out include HTML, CSS, JavaScript, or Python. (More on these languages below!)

Picking a language

In programming culture, choices of language draw the same visceral reactions as discussions about race and religion. That said, among languages I have used at least a little bit, here is Chänzz’s tier list:

  • Python. Python reads like English, simple to learn. This is my personally recommended first language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. The main downside is that it is a lot slower. (Note for experts: Python doesn’t have type safety by default, but it can.)
  • TypeScript: It actually compiles to JavaScript, i.e. there is a program that accepts TypeScript input and produces JavaScript output. Besides that, it has some similarity to Python, but as its name suggests has stricter type safety.
  • C++: Much faster than Python, but harder to read and write.
  • JavaScript: Less recommended. I suggest TypeScript instead.
  • PHP: Please no.

Sidenote: HTML and LaTeX are markup languages, and not programming languages in practice. CSS is not a programming language either for similar reasons.

Picking an editor

For beginners, there are a ton of “basic” text editors that support syntax highlighting and some basic quality-of-life features, and are simple to use. Some of the popular ones include

  • Notepad++ (only Windows)
  • Sublime

Visual Studio Code (abbreviated VS Code) is also extremely popular, although it’s a bit more sophisticated than the beginner ones above. But I recommend this.

LaTeX

LaTeX is markup language, and not programming languages in practice.

Advanced stuff (skip for now)

Some other advanced things you can do involve learning git, switching to Linux, and learning an advanced text editor like Vim or Emacs. I’m not going to talk about the expert stuff here for brevity. For now, your job is to pick a language and mess with it.

Once you’ve done that you can check FAQs on Linux for elaborations on the advanced stuff.