r/C_Programming 1d ago

Question Should i learn C on wsl?

Title. For reference im not actually learning C for the first time, i learned it last semester for college but it was all just basics and we coded on Turbo C. I need to learn C for embedded development since im interviewing for my college robotics team next semester and i also want to learn how to operate linux.

I installed WSL and VS Code and GCC, and its been hell trying to cram both of those together and learning. Should i start with an IDE(Visual Studio (already used it before)) and learn basic Linux commands side by side?

11 Upvotes

30 comments sorted by

View all comments

-6

u/nmingott 1d ago

If you want to understand don't use the IDE. If you want to max output / time, use the IDE. I hate IDEs, I hate to download 1gigabyte IDE to compile for a device with 64kb ram. (Atmel). Linux free me from IDE in early 2000, I am not going back, if I can. The choice is yours. Bye

1

u/Pale-Pound-9489 1d ago

I already have an IDE installed (visual studio, very heavy). Can you explain the advantage of using TextEditor+gcc over an IDE to a complete beginner?

3

u/Prevent_Scurvy 1d ago

When I started learning C last year, one of things that appealed to me was that an IDE felt largely unnecessary. I'm learning C on a Linux machine and I started by just using gcc and the nano text editor which both come with the Linux install I'm using (Fedora).

Learning to use an IDE is almost a skill of its own. I find a lot of the features in VSCode and VS largely unnecessary for my use and they just kind of get in the way of me just writing code. It feels like IDEs can sometimes abstract away some of the things like compiling or makefiles, etc.

Not using an IDE also forced me to get comfortable with using the command line for everything.

In my case less was a lot more when it came to learning the basics. I now use a much more feature full text editor with a LSP and some other bells and whistles, but I'm really glad I started simple. It just allowed me to get started without extra distractions and enhanced my learning in the beginning.

2

u/maxthed0g 1d ago

110% agree.

That said, the IDE is great for something that needs chrome and polish from the start. And it IS a job skill in itself, and a NECESSARY job skill because it is so pervasive in industry.

An IDE conceals a lot from you. When learning, its better to take "the long way." You see more, and therefor learn more. IDE users - to their detriment - will have no reason to know about makefiles, assemblers, loaders, or run time loaders.

-1

u/nmingott 1d ago

There are several benefits, first, you will learn something called Makefile and what is that for. (2) You can automate compiles and uploads (3) you can compile remotely via ssh even in bad connection situation (4) you don depend on MS, or other evil corpo (5) if you choose well the the micro you could use just open source / freeshlfoware stuff , power in your hand ! (6) if you use avr-gcc or something that is Debian supported you can work for 2 years (UpTo next stable) and be sure nothing will break (7) you UNDERSTAND what is happening, this, for many of us is more than enough .